From bb3506c4b448907057a740d492a8ad3ddab37fbe Mon Sep 17 00:00:00 2001 From: eIbrahim67 Date: Mon, 19 Aug 2024 16:30:27 +0300 Subject: [PATCH 1/2] Structure: added a MVVM architecture. Addition of Required Fragments and Activities. Implementation of Bottom Navigation and Drawer Layout. --- .idea/.name | 1 + .idea/appInsightsSettings.xml | 26 ++ .idea/compiler.xml | 6 + .idea/deploymentTargetSelector.xml | 18 ++ .idea/gradle.xml | 19 ++ .idea/inspectionProfiles/Project_Default.xml | 6 + .idea/kotlinc.xml | 6 + .idea/migrations.xml | 10 + .idea/misc.xml | 5 + .idea/other.xml | 252 ++++++++++++++++++ .idea/vcs.xml | 6 + app/src/main/AndroidManifest.xml | 15 +- .../{MainActivity.kt => auth/AuthActivity.kt} | 7 +- .../auth/login/view/LoginFragment.kt | 22 ++ .../auth/register/view/RegisterFragment.kt | 20 ++ .../recipeappiti/layout/RecipeActivity.kt | 83 ++++++ .../detail/view/RecipeDetailFragment.kt | 21 ++ .../favourite/view/FavouriteFragment.kt | 20 ++ .../layout/home/view/HomeFragment.kt | 22 ++ .../layout/profile/view/ProfileFragment.kt | 20 ++ .../layout/search/view/SearchFragment.kt | 20 ++ .../recipeappiti/splash/SplashFragment.kt | 20 ++ app/src/main/res/drawable/icon_favorite.xml | 10 + app/src/main/res/drawable/icon_home.xml | 10 + app/src/main/res/drawable/icon_person.xml | 10 + app/src/main/res/drawable/icon_search.xml | 10 + .../{activity_main.xml => activity_auth.xml} | 2 +- app/src/main/res/layout/activity_recipe.xml | 56 ++++ .../main/res/layout/fragment_favourite.xml | 14 + app/src/main/res/layout/fragment_home.xml | 14 + app/src/main/res/layout/fragment_login.xml | 14 + app/src/main/res/layout/fragment_profile.xml | 13 + .../res/layout/fragment_recipe_detail.xml | 14 + app/src/main/res/layout/fragment_register.xml | 14 + app/src/main/res/layout/fragment_search.xml | 14 + app/src/main/res/layout/fragment_splash.xml | 14 + app/src/main/res/menu/menu_drawer.xml | 17 ++ app/src/main/res/menu/menu_home.xml | 25 ++ app/src/main/res/navigation/nav_home.xml | 28 ++ app/src/main/res/values/strings.xml | 4 + 40 files changed, 900 insertions(+), 8 deletions(-) create mode 100644 .idea/.name create mode 100644 .idea/appInsightsSettings.xml create mode 100644 .idea/compiler.xml create mode 100644 .idea/deploymentTargetSelector.xml create mode 100644 .idea/gradle.xml create mode 100644 .idea/inspectionProfiles/Project_Default.xml create mode 100644 .idea/kotlinc.xml create mode 100644 .idea/migrations.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/other.xml create mode 100644 .idea/vcs.xml rename app/src/main/java/com/example/recipeappiti/{MainActivity.kt => auth/AuthActivity.kt} (79%) create mode 100644 app/src/main/java/com/example/recipeappiti/auth/login/view/LoginFragment.kt create mode 100644 app/src/main/java/com/example/recipeappiti/auth/register/view/RegisterFragment.kt create mode 100644 app/src/main/java/com/example/recipeappiti/layout/RecipeActivity.kt create mode 100644 app/src/main/java/com/example/recipeappiti/layout/detail/view/RecipeDetailFragment.kt create mode 100644 app/src/main/java/com/example/recipeappiti/layout/favourite/view/FavouriteFragment.kt create mode 100644 app/src/main/java/com/example/recipeappiti/layout/home/view/HomeFragment.kt create mode 100644 app/src/main/java/com/example/recipeappiti/layout/profile/view/ProfileFragment.kt create mode 100644 app/src/main/java/com/example/recipeappiti/layout/search/view/SearchFragment.kt create mode 100644 app/src/main/java/com/example/recipeappiti/splash/SplashFragment.kt create mode 100644 app/src/main/res/drawable/icon_favorite.xml create mode 100644 app/src/main/res/drawable/icon_home.xml create mode 100644 app/src/main/res/drawable/icon_person.xml create mode 100644 app/src/main/res/drawable/icon_search.xml rename app/src/main/res/layout/{activity_main.xml => activity_auth.xml} (95%) create mode 100644 app/src/main/res/layout/activity_recipe.xml create mode 100644 app/src/main/res/layout/fragment_favourite.xml create mode 100644 app/src/main/res/layout/fragment_home.xml create mode 100644 app/src/main/res/layout/fragment_login.xml create mode 100644 app/src/main/res/layout/fragment_profile.xml create mode 100644 app/src/main/res/layout/fragment_recipe_detail.xml create mode 100644 app/src/main/res/layout/fragment_register.xml create mode 100644 app/src/main/res/layout/fragment_search.xml create mode 100644 app/src/main/res/layout/fragment_splash.xml create mode 100644 app/src/main/res/menu/menu_drawer.xml create mode 100644 app/src/main/res/menu/menu_home.xml create mode 100644 app/src/main/res/navigation/nav_home.xml diff --git a/.idea/.name b/.idea/.name new file mode 100644 index 0000000..7d28533 --- /dev/null +++ b/.idea/.name @@ -0,0 +1 @@ +Recipe App ITI \ No newline at end of file diff --git a/.idea/appInsightsSettings.xml b/.idea/appInsightsSettings.xml new file mode 100644 index 0000000..371f2e2 --- /dev/null +++ b/.idea/appInsightsSettings.xml @@ -0,0 +1,26 @@ + + + + + + \ No newline at end of file diff --git a/.idea/compiler.xml b/.idea/compiler.xml new file mode 100644 index 0000000..b589d56 --- /dev/null +++ b/.idea/compiler.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/deploymentTargetSelector.xml b/.idea/deploymentTargetSelector.xml new file mode 100644 index 0000000..486f5ce --- /dev/null +++ b/.idea/deploymentTargetSelector.xml @@ -0,0 +1,18 @@ + + + + + + + + + \ No newline at end of file diff --git a/.idea/gradle.xml b/.idea/gradle.xml new file mode 100644 index 0000000..0897082 --- /dev/null +++ b/.idea/gradle.xml @@ -0,0 +1,19 @@ + + + + + + + \ No newline at end of file diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml new file mode 100644 index 0000000..c8f004d --- /dev/null +++ b/.idea/inspectionProfiles/Project_Default.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/.idea/kotlinc.xml b/.idea/kotlinc.xml new file mode 100644 index 0000000..fdf8d99 --- /dev/null +++ b/.idea/kotlinc.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/.idea/migrations.xml b/.idea/migrations.xml new file mode 100644 index 0000000..f8051a6 --- /dev/null +++ b/.idea/migrations.xml @@ -0,0 +1,10 @@ + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..824785d --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/.idea/other.xml b/.idea/other.xml new file mode 100644 index 0000000..4604c44 --- /dev/null +++ b/.idea/other.xml @@ -0,0 +1,252 @@ + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index cdaab45..d48a9d4 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -1,6 +1,6 @@ + xmlns:tools="http://schemas.android.com/tools" > + tools:targetApi="31" > + android:name=".layout.RecipeActivity" + android:exported="true" > + + + + + diff --git a/app/src/main/java/com/example/recipeappiti/MainActivity.kt b/app/src/main/java/com/example/recipeappiti/auth/AuthActivity.kt similarity index 79% rename from app/src/main/java/com/example/recipeappiti/MainActivity.kt rename to app/src/main/java/com/example/recipeappiti/auth/AuthActivity.kt index 04700f0..6ebf544 100644 --- a/app/src/main/java/com/example/recipeappiti/MainActivity.kt +++ b/app/src/main/java/com/example/recipeappiti/auth/AuthActivity.kt @@ -1,16 +1,17 @@ -package com.example.recipeappiti +package com.example.recipeappiti.auth import android.os.Bundle import androidx.activity.enableEdgeToEdge import androidx.appcompat.app.AppCompatActivity import androidx.core.view.ViewCompat import androidx.core.view.WindowInsetsCompat +import com.example.recipeappiti.R -class MainActivity : AppCompatActivity() { +class AuthActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) enableEdgeToEdge() - setContentView(R.layout.activity_main) + setContentView(R.layout.activity_auth) ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main)) { v, insets -> val systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars()) v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom) diff --git a/app/src/main/java/com/example/recipeappiti/auth/login/view/LoginFragment.kt b/app/src/main/java/com/example/recipeappiti/auth/login/view/LoginFragment.kt new file mode 100644 index 0000000..57cc5c9 --- /dev/null +++ b/app/src/main/java/com/example/recipeappiti/auth/login/view/LoginFragment.kt @@ -0,0 +1,22 @@ +package com.example.recipeappiti.auth.login.view + +import android.os.Bundle +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import androidx.fragment.app.Fragment +import com.example.recipeappiti.R + +class LoginFragment : Fragment() { + + + override fun onCreateView( + inflater: LayoutInflater, container: ViewGroup?, + savedInstanceState: Bundle? + ): View? { + // Inflate the layout for this fragment + return inflater.inflate(R.layout.fragment_login, container, false) + } + + +} \ No newline at end of file diff --git a/app/src/main/java/com/example/recipeappiti/auth/register/view/RegisterFragment.kt b/app/src/main/java/com/example/recipeappiti/auth/register/view/RegisterFragment.kt new file mode 100644 index 0000000..bb5ec39 --- /dev/null +++ b/app/src/main/java/com/example/recipeappiti/auth/register/view/RegisterFragment.kt @@ -0,0 +1,20 @@ +package com.example.recipeappiti.auth.register.view + +import android.os.Bundle +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import androidx.fragment.app.Fragment +import com.example.recipeappiti.R + +class RegisterFragment : Fragment() { + + override fun onCreateView( + inflater: LayoutInflater, container: ViewGroup?, + savedInstanceState: Bundle? + ): View? { + // Inflate the layout for this fragment + return inflater.inflate(R.layout.fragment_register, container, false) + } + +} \ No newline at end of file diff --git a/app/src/main/java/com/example/recipeappiti/layout/RecipeActivity.kt b/app/src/main/java/com/example/recipeappiti/layout/RecipeActivity.kt new file mode 100644 index 0000000..946de61 --- /dev/null +++ b/app/src/main/java/com/example/recipeappiti/layout/RecipeActivity.kt @@ -0,0 +1,83 @@ +package com.example.recipeappiti.layout + +import android.os.Bundle +import android.view.MenuItem +import androidx.appcompat.app.ActionBarDrawerToggle +import androidx.appcompat.app.AppCompatActivity +import androidx.core.view.GravityCompat +import androidx.core.view.ViewCompat +import androidx.core.view.WindowInsetsCompat +import androidx.drawerlayout.widget.DrawerLayout +import androidx.navigation.NavController +import androidx.navigation.fragment.findNavController +import androidx.navigation.ui.setupWithNavController +import com.example.recipeappiti.R +import com.google.android.material.bottomnavigation.BottomNavigationView +import com.google.android.material.navigation.NavigationView +import com.google.android.material.navigation.NavigationView.OnNavigationItemSelectedListener + +class RecipeActivity : AppCompatActivity(), OnNavigationItemSelectedListener { + + private lateinit var bottomNavigationView: BottomNavigationView + private lateinit var drawer: DrawerLayout + private lateinit var navigationView: NavigationView + private lateinit var toggle: ActionBarDrawerToggle + + private var navController: NavController? = null + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + //enableEdgeToEdge() + setContentView(R.layout.activity_recipe) + ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.drawer)) { v, insets -> + val systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars()) + v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom) + insets + } + + bottomNavigationView = findViewById(R.id.bottom_navigation) + drawer = findViewById(R.id.drawer) + navigationView = findViewById(R.id.navigation_view) + + toggle = ActionBarDrawerToggle( + this, drawer, + R.string.drawer_opened, R.string.drawer_closed + ) + drawer.addDrawerListener(toggle) + toggle.syncState() + + navigationView.setNavigationItemSelectedListener(this) + + navController = + supportFragmentManager.findFragmentById(R.id.nav_host_fragment)?.findNavController() + + bottomNavItemChangeListener(bottomNavigationView) + + navController?.let { + bottomNavigationView.setupWithNavController(it) + } + } + + private fun bottomNavItemChangeListener(navView: BottomNavigationView) { + navView.setOnItemSelectedListener { item -> + if (item.itemId != navView.selectedItemId) { + navController?.popBackStack(item.itemId, inclusive = true, saveState = false) + navController?.navigate(item.itemId) + } + true + } + } + + + override fun onNavigationItemSelected(item: MenuItem): Boolean { + + drawer.closeDrawer(GravityCompat.START) + + when (item.itemId) { + + + } + + return false + } +} \ No newline at end of file diff --git a/app/src/main/java/com/example/recipeappiti/layout/detail/view/RecipeDetailFragment.kt b/app/src/main/java/com/example/recipeappiti/layout/detail/view/RecipeDetailFragment.kt new file mode 100644 index 0000000..12d4886 --- /dev/null +++ b/app/src/main/java/com/example/recipeappiti/layout/detail/view/RecipeDetailFragment.kt @@ -0,0 +1,21 @@ +package com.example.recipeappiti.layout.detail.view + +import android.os.Bundle +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import androidx.fragment.app.Fragment +import com.example.recipeappiti.R + +class RecipeDetailFragment : Fragment() { + + override fun onCreateView( + inflater: LayoutInflater, container: ViewGroup?, + savedInstanceState: Bundle? + ): View? { + // Inflate the layout for this fragment + return inflater.inflate(R.layout.fragment_recipe_detail, container, false) + } + + +} \ No newline at end of file diff --git a/app/src/main/java/com/example/recipeappiti/layout/favourite/view/FavouriteFragment.kt b/app/src/main/java/com/example/recipeappiti/layout/favourite/view/FavouriteFragment.kt new file mode 100644 index 0000000..ce59009 --- /dev/null +++ b/app/src/main/java/com/example/recipeappiti/layout/favourite/view/FavouriteFragment.kt @@ -0,0 +1,20 @@ +package com.example.recipeappiti.layout.favourite.view + +import android.os.Bundle +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import androidx.fragment.app.Fragment +import com.example.recipeappiti.R + +class FavouriteFragment : Fragment() { + + override fun onCreateView( + inflater: LayoutInflater, container: ViewGroup?, + savedInstanceState: Bundle? + ): View? { + // Inflate the layout for this fragment + return inflater.inflate(R.layout.fragment_favourite, container, false) + } + +} \ No newline at end of file diff --git a/app/src/main/java/com/example/recipeappiti/layout/home/view/HomeFragment.kt b/app/src/main/java/com/example/recipeappiti/layout/home/view/HomeFragment.kt new file mode 100644 index 0000000..0c610e1 --- /dev/null +++ b/app/src/main/java/com/example/recipeappiti/layout/home/view/HomeFragment.kt @@ -0,0 +1,22 @@ +package com.example.recipeappiti.layout.home.view + +import android.os.Bundle +import androidx.fragment.app.Fragment +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import com.example.recipeappiti.R + + +class HomeFragment : Fragment() { + + override fun onCreateView( + inflater: LayoutInflater, container: ViewGroup?, + savedInstanceState: Bundle? + ): View? { + // Inflate the layout for this fragment + return inflater.inflate(R.layout.fragment_home, container, false) + } + + +} \ No newline at end of file diff --git a/app/src/main/java/com/example/recipeappiti/layout/profile/view/ProfileFragment.kt b/app/src/main/java/com/example/recipeappiti/layout/profile/view/ProfileFragment.kt new file mode 100644 index 0000000..5a07b50 --- /dev/null +++ b/app/src/main/java/com/example/recipeappiti/layout/profile/view/ProfileFragment.kt @@ -0,0 +1,20 @@ +package com.example.recipeappiti.layout.profile.view + +import android.os.Bundle +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import androidx.fragment.app.Fragment +import com.example.recipeappiti.R + +class ProfileFragment : Fragment() { + + override fun onCreateView( + inflater: LayoutInflater, container: ViewGroup?, + savedInstanceState: Bundle? + ): View? { + // Inflate the layout for this fragment + return inflater.inflate(R.layout.fragment_profile, container, false) + } + +} \ No newline at end of file diff --git a/app/src/main/java/com/example/recipeappiti/layout/search/view/SearchFragment.kt b/app/src/main/java/com/example/recipeappiti/layout/search/view/SearchFragment.kt new file mode 100644 index 0000000..94ba90b --- /dev/null +++ b/app/src/main/java/com/example/recipeappiti/layout/search/view/SearchFragment.kt @@ -0,0 +1,20 @@ +package com.example.recipeappiti.layout.search.view + +import android.os.Bundle +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import androidx.fragment.app.Fragment +import com.example.recipeappiti.R + +class SearchFragment : Fragment() { + + override fun onCreateView( + inflater: LayoutInflater, container: ViewGroup?, + savedInstanceState: Bundle? + ): View? { + // Inflate the layout for this fragment + return inflater.inflate(R.layout.fragment_search, container, false) + } + +} \ No newline at end of file diff --git a/app/src/main/java/com/example/recipeappiti/splash/SplashFragment.kt b/app/src/main/java/com/example/recipeappiti/splash/SplashFragment.kt new file mode 100644 index 0000000..2b411e7 --- /dev/null +++ b/app/src/main/java/com/example/recipeappiti/splash/SplashFragment.kt @@ -0,0 +1,20 @@ +package com.example.recipeappiti.splash + +import android.os.Bundle +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import androidx.fragment.app.Fragment +import com.example.recipeappiti.R + +class SplashFragment : Fragment() { + + override fun onCreateView( + inflater: LayoutInflater, container: ViewGroup?, + savedInstanceState: Bundle? + ): View? { + // Inflate the layout for this fragment + return inflater.inflate(R.layout.fragment_splash, container, false) + } + +} \ No newline at end of file diff --git a/app/src/main/res/drawable/icon_favorite.xml b/app/src/main/res/drawable/icon_favorite.xml new file mode 100644 index 0000000..2ecd33d --- /dev/null +++ b/app/src/main/res/drawable/icon_favorite.xml @@ -0,0 +1,10 @@ + + + diff --git a/app/src/main/res/drawable/icon_home.xml b/app/src/main/res/drawable/icon_home.xml new file mode 100644 index 0000000..310c4a5 --- /dev/null +++ b/app/src/main/res/drawable/icon_home.xml @@ -0,0 +1,10 @@ + + + diff --git a/app/src/main/res/drawable/icon_person.xml b/app/src/main/res/drawable/icon_person.xml new file mode 100644 index 0000000..0272425 --- /dev/null +++ b/app/src/main/res/drawable/icon_person.xml @@ -0,0 +1,10 @@ + + + diff --git a/app/src/main/res/drawable/icon_search.xml b/app/src/main/res/drawable/icon_search.xml new file mode 100644 index 0000000..a008d68 --- /dev/null +++ b/app/src/main/res/drawable/icon_search.xml @@ -0,0 +1,10 @@ + + + diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_auth.xml similarity index 95% rename from app/src/main/res/layout/activity_main.xml rename to app/src/main/res/layout/activity_auth.xml index 86a5d97..5b9ac75 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_auth.xml @@ -5,7 +5,7 @@ android:id="@+id/main" android:layout_width="match_parent" android:layout_height="match_parent" - tools:context=".MainActivity"> + tools:context=".auth.AuthActivity"> + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_favourite.xml b/app/src/main/res/layout/fragment_favourite.xml new file mode 100644 index 0000000..294da2c --- /dev/null +++ b/app/src/main/res/layout/fragment_favourite.xml @@ -0,0 +1,14 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_home.xml b/app/src/main/res/layout/fragment_home.xml new file mode 100644 index 0000000..95c42c3 --- /dev/null +++ b/app/src/main/res/layout/fragment_home.xml @@ -0,0 +1,14 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_login.xml b/app/src/main/res/layout/fragment_login.xml new file mode 100644 index 0000000..2727bfd --- /dev/null +++ b/app/src/main/res/layout/fragment_login.xml @@ -0,0 +1,14 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_profile.xml b/app/src/main/res/layout/fragment_profile.xml new file mode 100644 index 0000000..a4366c5 --- /dev/null +++ b/app/src/main/res/layout/fragment_profile.xml @@ -0,0 +1,13 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_recipe_detail.xml b/app/src/main/res/layout/fragment_recipe_detail.xml new file mode 100644 index 0000000..4d11f69 --- /dev/null +++ b/app/src/main/res/layout/fragment_recipe_detail.xml @@ -0,0 +1,14 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_register.xml b/app/src/main/res/layout/fragment_register.xml new file mode 100644 index 0000000..9aa8d96 --- /dev/null +++ b/app/src/main/res/layout/fragment_register.xml @@ -0,0 +1,14 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_search.xml b/app/src/main/res/layout/fragment_search.xml new file mode 100644 index 0000000..360beb3 --- /dev/null +++ b/app/src/main/res/layout/fragment_search.xml @@ -0,0 +1,14 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_splash.xml b/app/src/main/res/layout/fragment_splash.xml new file mode 100644 index 0000000..c722002 --- /dev/null +++ b/app/src/main/res/layout/fragment_splash.xml @@ -0,0 +1,14 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/menu/menu_drawer.xml b/app/src/main/res/menu/menu_drawer.xml new file mode 100644 index 0000000..a913e2a --- /dev/null +++ b/app/src/main/res/menu/menu_drawer.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/menu/menu_home.xml b/app/src/main/res/menu/menu_home.xml new file mode 100644 index 0000000..a0dac86 --- /dev/null +++ b/app/src/main/res/menu/menu_home.xml @@ -0,0 +1,25 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/navigation/nav_home.xml b/app/src/main/res/navigation/nav_home.xml new file mode 100644 index 0000000..9710254 --- /dev/null +++ b/app/src/main/res/navigation/nav_home.xml @@ -0,0 +1,28 @@ + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index abea4a9..21dbe44 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1,3 +1,7 @@ Recipe App ITI + + Hello blank fragment + drawer closed + drawer opened \ No newline at end of file From 25c88afb122540321428152db1f3630d0a27f2a9 Mon Sep 17 00:00:00 2001 From: eIbrahim67 Date: Mon, 19 Aug 2024 16:42:50 +0300 Subject: [PATCH 2/2] Update .gitignore --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index aa724b7..565a541 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ *.iml .gradle +.idea /local.properties /.idea/caches /.idea/libraries