Files
rider-pro-android-app/app/src/main/java/com/aiosman/riderpro/NavigationItem.kt

41 lines
1.7 KiB
Kotlin
Raw Normal View History

2024-06-22 04:25:20 +08:00
package com.aiosman.riderpro
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.AccountCircle
import androidx.compose.material.icons.filled.Email
import androidx.compose.material.icons.filled.Home
import androidx.compose.material.icons.filled.Place
import androidx.compose.runtime.Composable
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.res.vectorResource
2024-07-19 10:05:06 +08:00
sealed class NavigationItem(
val route: String,
val icon: @Composable () -> ImageVector,
val selectedIcon: @Composable () -> ImageVector = icon
) {
2024-06-22 04:25:20 +08:00
data object Home : NavigationItem("Home",
2024-07-19 10:05:06 +08:00
icon = { ImageVector.vectorResource(R.drawable.rider_pro_home) },
selectedIcon = { ImageVector.vectorResource(R.drawable.rider_pro_home_filed) }
)
2024-06-22 04:25:20 +08:00
data object Street : NavigationItem("Street",
2024-07-19 10:05:06 +08:00
icon = { ImageVector.vectorResource(R.drawable.rider_pro_location) },
selectedIcon = { ImageVector.vectorResource(R.drawable.rider_pro_location_filed) }
)
2024-06-22 04:25:20 +08:00
data object Add : NavigationItem("Add",
2024-07-19 10:05:06 +08:00
icon = { ImageVector.vectorResource(R.drawable.rider_pro_moment_add) },
selectedIcon = { ImageVector.vectorResource(R.drawable.rider_pro_moment_add) }
)
2024-06-22 04:25:20 +08:00
data object Message : NavigationItem("Message",
2024-07-19 10:05:06 +08:00
icon = { ImageVector.vectorResource(R.drawable.rider_pro_video_outline) },
selectedIcon = { ImageVector.vectorResource(R.drawable.rider_pro_video) }
)
2024-06-22 04:25:20 +08:00
data object Profile : NavigationItem("Profile",
2024-07-19 10:05:06 +08:00
icon = { ImageVector.vectorResource(R.drawable.rider_pro_profile) },
selectedIcon = { ImageVector.vectorResource(R.drawable.rider_pro_profile_filed) }
)
2024-06-22 04:25:20 +08:00
}