From d38bc3ebaacb8316edca9ba148a28675811c1d45 Mon Sep 17 00:00:00 2001 From: mendejumrukovski Date: Sat, 11 Mar 2023 01:57:36 +0100 Subject: [PATCH] refactor screen packages --- .../ui/feature/categories/CategoriesScreen.kt | 22 ++++++ .../ui/feature/favourites/FavouritesScreen.kt | 22 ++++++ .../ui/feature/home/HomeScreen.kt | 22 ++++++ .../ui/feature/main/MainActivity.kt | 69 ++++++------------- 4 files changed, 87 insertions(+), 48 deletions(-) create mode 100644 app/src/main/java/com/jumrukovski/quotescompose/ui/feature/categories/CategoriesScreen.kt create mode 100644 app/src/main/java/com/jumrukovski/quotescompose/ui/feature/favourites/FavouritesScreen.kt create mode 100644 app/src/main/java/com/jumrukovski/quotescompose/ui/feature/home/HomeScreen.kt diff --git a/app/src/main/java/com/jumrukovski/quotescompose/ui/feature/categories/CategoriesScreen.kt b/app/src/main/java/com/jumrukovski/quotescompose/ui/feature/categories/CategoriesScreen.kt new file mode 100644 index 0000000..481d65c --- /dev/null +++ b/app/src/main/java/com/jumrukovski/quotescompose/ui/feature/categories/CategoriesScreen.kt @@ -0,0 +1,22 @@ +package com.jumrukovski.quotescompose.ui.feature.categories + +import androidx.compose.foundation.background +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import androidx.navigation.NavHostController +import com.jumrukovski.quotescompose.ui.theme.PrimaryBackgroundColor + +@Composable +fun CategoriesScreen(navHostController: NavHostController) { + Box( + modifier = Modifier + .fillMaxSize() + .background(MaterialTheme.colorScheme.PrimaryBackgroundColor) + ) { + Text(text = "Categories screen") + } +} \ No newline at end of file diff --git a/app/src/main/java/com/jumrukovski/quotescompose/ui/feature/favourites/FavouritesScreen.kt b/app/src/main/java/com/jumrukovski/quotescompose/ui/feature/favourites/FavouritesScreen.kt new file mode 100644 index 0000000..10ea7ee --- /dev/null +++ b/app/src/main/java/com/jumrukovski/quotescompose/ui/feature/favourites/FavouritesScreen.kt @@ -0,0 +1,22 @@ +package com.jumrukovski.quotescompose.ui.feature.favourites + +import androidx.compose.foundation.background +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import androidx.navigation.NavHostController +import com.jumrukovski.quotescompose.ui.theme.PrimaryBackgroundColor + +@Composable +fun FavouritesScreen(navHostController: NavHostController) { + Box( + modifier = Modifier + .fillMaxSize() + .background(MaterialTheme.colorScheme.PrimaryBackgroundColor) + ) { + Text(text = "Favourites screen") + } +} \ No newline at end of file diff --git a/app/src/main/java/com/jumrukovski/quotescompose/ui/feature/home/HomeScreen.kt b/app/src/main/java/com/jumrukovski/quotescompose/ui/feature/home/HomeScreen.kt new file mode 100644 index 0000000..00e43fa --- /dev/null +++ b/app/src/main/java/com/jumrukovski/quotescompose/ui/feature/home/HomeScreen.kt @@ -0,0 +1,22 @@ +package com.jumrukovski.quotescompose.ui.feature.home + +import androidx.compose.foundation.background +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import androidx.navigation.NavHostController +import com.jumrukovski.quotescompose.ui.theme.PrimaryBackgroundColor + +@Composable +fun HomeScreen(navHostController: NavHostController) { + Box( + modifier = Modifier + .fillMaxSize() + .background(MaterialTheme.colorScheme.PrimaryBackgroundColor) + ) { + Text(text = "Home screen") + } +} \ No newline at end of file diff --git a/app/src/main/java/com/jumrukovski/quotescompose/ui/feature/main/MainActivity.kt b/app/src/main/java/com/jumrukovski/quotescompose/ui/feature/main/MainActivity.kt index 2f9d772..2291225 100644 --- a/app/src/main/java/com/jumrukovski/quotescompose/ui/feature/main/MainActivity.kt +++ b/app/src/main/java/com/jumrukovski/quotescompose/ui/feature/main/MainActivity.kt @@ -3,13 +3,9 @@ package com.jumrukovski.quotescompose.ui.feature.main import android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent -import androidx.compose.foundation.background -import androidx.compose.foundation.layout.Box -import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.PaddingValues import androidx.compose.foundation.layout.padding -import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Scaffold -import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource @@ -21,45 +17,14 @@ import com.jumrukovski.quotescompose.R import com.jumrukovski.quotescompose.ui.common.BottomNavigationBar import com.jumrukovski.quotescompose.ui.common.Screen import com.jumrukovski.quotescompose.ui.common.Toolbar +import com.jumrukovski.quotescompose.ui.feature.categories.CategoriesScreen +import com.jumrukovski.quotescompose.ui.feature.favourites.FavouritesScreen +import com.jumrukovski.quotescompose.ui.feature.home.HomeScreen import com.jumrukovski.quotescompose.ui.feature.search.SearchActivity -import com.jumrukovski.quotescompose.ui.theme.PrimaryBackgroundColor import com.jumrukovski.quotescompose.ui.theme.QuotesComposeTheme class MainActivity : ComponentActivity() { - @Composable - private fun HomeScreen(navHostController: NavHostController) { - Box( - modifier = Modifier - .fillMaxSize() - .background(MaterialTheme.colorScheme.PrimaryBackgroundColor) - ) { - Text(text = "Home screen") - } - } - - @Composable - private fun CategoriesScreen(navHostController: NavHostController) { - Box( - modifier = Modifier - .fillMaxSize() - .background(MaterialTheme.colorScheme.PrimaryBackgroundColor) - ) { - Text(text = "Categories screen") - } - } - - @Composable - private fun FavouritesScreen(navHostController: NavHostController) { - Box( - modifier = Modifier - .fillMaxSize() - .background(MaterialTheme.colorScheme.PrimaryBackgroundColor) - ) { - Text(text = "Favourites screen") - } - } - override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent { @@ -78,15 +43,10 @@ class MainActivity : ComponentActivity() { } }, content = { innerPadding -> - NavHost( - navController, - startDestination = Screen.Home.route, - Modifier.padding(innerPadding) - ) { - composable(Screen.Home.route) { HomeScreen(navController) } - composable(Screen.Categories.route) { CategoriesScreen(navController) } - composable(Screen.Favourites.route) { FavouritesScreen(navController) } - } + ContentNavigation( + navHostController = navController, + innerPadding = innerPadding + ) }, bottomBar = { BottomNavigationBar(navController) @@ -94,4 +54,17 @@ class MainActivity : ComponentActivity() { } } } + + @Composable + private fun ContentNavigation(navHostController: NavHostController,innerPadding:PaddingValues){ + NavHost( + navHostController, + startDestination = Screen.Home.route, + Modifier.padding(innerPadding) + ) { + composable(Screen.Home.route) { HomeScreen(navHostController) } + composable(Screen.Categories.route) { CategoriesScreen(navHostController) } + composable(Screen.Favourites.route) { FavouritesScreen(navHostController) } + } + } } \ No newline at end of file