diff --git a/app/src/main/java/ru/fincode/tsudesk/presentation/main/MainScaffold.kt b/app/src/main/java/ru/fincode/tsudesk/presentation/main/MainScaffold.kt
index a5d7baf..06338b8 100644
--- a/app/src/main/java/ru/fincode/tsudesk/presentation/main/MainScaffold.kt
+++ b/app/src/main/java/ru/fincode/tsudesk/presentation/main/MainScaffold.kt
@@ -5,8 +5,8 @@ import androidx.compose.material3.Scaffold
import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue
import androidx.compose.ui.Modifier
-import androidx.compose.ui.res.painterResource
import androidx.compose.ui.res.stringResource
+import androidx.compose.ui.res.vectorResource
import androidx.navigation.NavHostController
import androidx.navigation.compose.currentBackStackEntryAsState
import ru.fincode.core.ui.components.BottomBarItem
@@ -20,32 +20,20 @@ fun MainScaffold(
navController: NavHostController,
content: @Composable (Modifier) -> Unit,
) {
- val scheduleIcon = painterResource(R.drawable.ic_progress)
- val newsIcon = painterResource(R.drawable.ic_news)
- val progressIcon = painterResource(R.drawable.ic_progress)
- val settingsIcon = painterResource(R.drawable.ic_progress)
+ val scheduleIcon =
+ androidx.compose.ui.graphics.vector.ImageVector.vectorResource(R.drawable.ic_progress)
+ val newsIcon =
+ androidx.compose.ui.graphics.vector.ImageVector.vectorResource(R.drawable.ic_progress)
+ val progressIcon =
+ androidx.compose.ui.graphics.vector.ImageVector.vectorResource(R.drawable.ic_progress)
+ val settingsIcon =
+ androidx.compose.ui.graphics.vector.ImageVector.vectorResource(R.drawable.ic_progress)
val items = listOf(
- TopLevelItem(
- destination = TopLevelDestination.SCHEDULE,
- labelRes = R.string.tab_schedule,
- icon = scheduleIcon
- ),
- TopLevelItem(
- destination = TopLevelDestination.NEWS,
- labelRes = R.string.tab_news,
- icon = newsIcon
- ),
- TopLevelItem(
- destination = TopLevelDestination.PROGRESS,
- labelRes = R.string.tab_progress,
- icon = progressIcon
- ),
- TopLevelItem(
- destination = TopLevelDestination.SETTINGS,
- labelRes = R.string.tab_settings,
- icon = settingsIcon
- ),
+ TopLevelItem(TopLevelDestination.SCHEDULE, R.string.tab_schedule, scheduleIcon),
+ TopLevelItem(TopLevelDestination.NEWS, R.string.tab_news, newsIcon),
+ TopLevelItem(TopLevelDestination.PROGRESS, R.string.tab_progress, progressIcon),
+ TopLevelItem(TopLevelDestination.SETTINGS, R.string.tab_settings, settingsIcon),
)
val backStackEntry by navController.currentBackStackEntryAsState()
diff --git a/app/src/main/java/ru/fincode/tsudesk/presentation/main/TopLevelItem.kt b/app/src/main/java/ru/fincode/tsudesk/presentation/main/TopLevelItem.kt
index 408eb0c..fead3ce 100644
--- a/app/src/main/java/ru/fincode/tsudesk/presentation/main/TopLevelItem.kt
+++ b/app/src/main/java/ru/fincode/tsudesk/presentation/main/TopLevelItem.kt
@@ -1,11 +1,11 @@
package ru.fincode.tsudesk.presentation.main
import androidx.annotation.StringRes
-import androidx.compose.ui.graphics.painter.Painter
+import androidx.compose.ui.graphics.vector.ImageVector
import ru.fincode.tsudesk.core.navigation.TopLevelDestination
data class TopLevelItem(
val destination: TopLevelDestination,
@StringRes val labelRes: Int,
- val icon: Painter,
+ val icon: ImageVector
)
\ No newline at end of file
diff --git a/app/src/main/java/ru/fincode/tsudesk/presentation/navigation/AppNavHost.kt b/app/src/main/java/ru/fincode/tsudesk/presentation/navigation/AppNavHost.kt
index 70b0b66..96aaefb 100644
--- a/app/src/main/java/ru/fincode/tsudesk/presentation/navigation/AppNavHost.kt
+++ b/app/src/main/java/ru/fincode/tsudesk/presentation/navigation/AppNavHost.kt
@@ -9,6 +9,7 @@ import androidx.navigation.compose.composable
import androidx.navigation.compose.rememberNavController
import ru.fincode.tsudesk.core.navigation.AppRoute
import ru.fincode.tsudesk.core.navigation.navigateRoute
+import ru.fincode.tsudesk.feature.news.presentation.screen.NewsRoute
import ru.fincode.tsudesk.presentation.main.MainScaffold
import ru.fincode.tsudesk.feature.schedule.presentation.screen.ScheduleRoute
import ru.fincode.tsudesk.feature.splash.presentation.screen.SplashRoute
@@ -73,9 +74,4 @@ private fun MainTabsNavHost(
// SettingsRoute(modifier = Modifier)
}
}
-}
-
-@Composable
-fun NewsRoute(modifier: Modifier) {
- TODO("Not yet implemented")
}
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_progress.xml b/app/src/main/res/drawable/ic_progress.xml
index 610f3c9..b6691e5 100644
--- a/app/src/main/res/drawable/ic_progress.xml
+++ b/app/src/main/res/drawable/ic_progress.xml
@@ -3,10 +3,12 @@
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
+
+ android:fillColor="#FF000000"/>
+
-
+ android:fillColor="#FF000000"/>
+
\ No newline at end of file
diff --git a/core/ui/src/main/java/ru/fincode/core/ui/components/BottomBarItem.kt b/core/ui/src/main/java/ru/fincode/core/ui/components/BottomBarItem.kt
new file mode 100644
index 0000000..94e3347
--- /dev/null
+++ b/core/ui/src/main/java/ru/fincode/core/ui/components/BottomBarItem.kt
@@ -0,0 +1,9 @@
+package ru.fincode.core.ui.components
+
+import androidx.compose.ui.graphics.vector.ImageVector
+
+data class BottomBarItem(
+ val key: String,
+ val label: String,
+ val icon: ImageVector,
+)
\ No newline at end of file
diff --git a/core/ui/src/main/java/ru/fincode/core/ui/components/TsudeskBottomBar.kt b/core/ui/src/main/java/ru/fincode/core/ui/components/TsudeskBottomBar.kt
index bacc231..22f409d 100644
--- a/core/ui/src/main/java/ru/fincode/core/ui/components/TsudeskBottomBar.kt
+++ b/core/ui/src/main/java/ru/fincode/core/ui/components/TsudeskBottomBar.kt
@@ -1,17 +1,11 @@
package ru.fincode.core.ui.components
import androidx.compose.material3.Icon
+import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.NavigationBar
import androidx.compose.material3.NavigationBarItem
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
-import androidx.compose.ui.graphics.painter.Painter
-
-data class BottomBarItem(
- val key: String,
- val label: String,
- val icon: Painter,
-)
@Composable
fun TsudeskBottomBar(
@@ -21,19 +15,22 @@ fun TsudeskBottomBar(
) {
NavigationBar {
items.forEach { item ->
+ val selected = item.key == selectedKey
+
NavigationBarItem(
- selected = item.key == selectedKey,
+ selected = selected,
onClick = { onItemClick(item) },
icon = {
Icon(
- painter = item.icon,
- contentDescription = item.label
+ imageVector = item.icon,
+ contentDescription = item.label,
+ tint = if (selected)
+ MaterialTheme.colorScheme.primary
+ else
+ MaterialTheme.colorScheme.onSurfaceVariant
)
},
- label = {
- Text(text = item.label)
- },
- alwaysShowLabel = true
+ label = { Text(item.label) }
)
}
}