-
Notifications
You must be signed in to change notification settings - Fork 2
/
NavigationItem.kt
68 lines (65 loc) · 3.77 KB
/
NavigationItem.kt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
package com.an.jetpackcomposesample.provider
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.Call
import androidx.compose.material.icons.filled.Home
import androidx.compose.material.icons.filled.Notifications
import androidx.compose.material.icons.filled.Person
import androidx.compose.material.icons.filled.Refresh
import androidx.compose.material.icons.filled.Settings
import androidx.compose.ui.graphics.vector.ImageVector
import com.an.jetpackcomposesample.Constants.NAV_ROUTE_BOTTOM_BAR
import com.an.jetpackcomposesample.Constants.NAV_ROUTE_BUTTON
import com.an.jetpackcomposesample.Constants.NAV_ROUTE_CALLS
import com.an.jetpackcomposesample.Constants.NAV_ROUTE_CARD
import com.an.jetpackcomposesample.Constants.NAV_ROUTE_CHATS
import com.an.jetpackcomposesample.Constants.NAV_ROUTE_CHECKBOX
import com.an.jetpackcomposesample.Constants.NAV_ROUTE_COLUMN
import com.an.jetpackcomposesample.Constants.NAV_ROUTE_DIALOG
import com.an.jetpackcomposesample.Constants.NAV_ROUTE_GRID
import com.an.jetpackcomposesample.Constants.NAV_ROUTE_HOME
import com.an.jetpackcomposesample.Constants.NAV_ROUTE_IMAGE
import com.an.jetpackcomposesample.Constants.NAV_ROUTE_INTRO
import com.an.jetpackcomposesample.Constants.NAV_ROUTE_LIST
import com.an.jetpackcomposesample.Constants.NAV_ROUTE_NOTIFICATION
import com.an.jetpackcomposesample.Constants.NAV_ROUTE_OTHERS
import com.an.jetpackcomposesample.Constants.NAV_ROUTE_PROGRESS
import com.an.jetpackcomposesample.Constants.NAV_ROUTE_RADIO
import com.an.jetpackcomposesample.Constants.NAV_ROUTE_ROW
import com.an.jetpackcomposesample.Constants.NAV_ROUTE_SCAFFOLD
import com.an.jetpackcomposesample.Constants.NAV_ROUTE_SETTINGS
import com.an.jetpackcomposesample.Constants.NAV_ROUTE_TAB
import com.an.jetpackcomposesample.Constants.NAV_ROUTE_TEXT
import com.an.jetpackcomposesample.Constants.NAV_ROUTE_TEXTFIELD
import com.an.jetpackcomposesample.Constants.NAV_ROUTE_THEMES
import com.an.jetpackcomposesample.Constants.NAV_ROUTE_UPDATES
sealed class NavigationItem(
var route: String,
val icon: ImageVector? = null
) {
data object Updates : NavigationItem(NAV_ROUTE_UPDATES, Icons.Default.Refresh)
data object Calls : NavigationItem(NAV_ROUTE_CALLS, Icons.Default.Call)
data object Home : NavigationItem(NAV_ROUTE_HOME, Icons.Default.Home)
data object Chats : NavigationItem(NAV_ROUTE_CHATS, Icons.Default.Person)
data object Settings : NavigationItem(NAV_ROUTE_SETTINGS, Icons.Default.Settings)
data object Notification : NavigationItem(NAV_ROUTE_NOTIFICATION, Icons.Default.Notifications)
data object IntroScreen: NavigationItem(NAV_ROUTE_INTRO)
data object RowScreen: NavigationItem(NAV_ROUTE_ROW)
data object ColumnScreen: NavigationItem(NAV_ROUTE_COLUMN)
data object TextScreen: NavigationItem(NAV_ROUTE_TEXT)
data object ButtonScreen: NavigationItem(NAV_ROUTE_BUTTON)
data object ImageScreen: NavigationItem(NAV_ROUTE_IMAGE)
data object TextFieldScreen: NavigationItem(NAV_ROUTE_TEXTFIELD)
data object GridScreen: NavigationItem(NAV_ROUTE_GRID)
data object ListScreen: NavigationItem(NAV_ROUTE_LIST)
data object ScaffoldScreen: NavigationItem(NAV_ROUTE_SCAFFOLD)
data object CardScreen: NavigationItem(NAV_ROUTE_CARD)
data object ProgressScreen: NavigationItem(NAV_ROUTE_PROGRESS)
data object DialogScreen: NavigationItem(NAV_ROUTE_DIALOG)
data object RadioScreen: NavigationItem(NAV_ROUTE_RADIO)
data object CheckboxScreen: NavigationItem(NAV_ROUTE_CHECKBOX)
data object OthersScreen: NavigationItem(NAV_ROUTE_OTHERS)
data object TabsScreen: NavigationItem(NAV_ROUTE_TAB)
data object BottomBarScreen: NavigationItem(NAV_ROUTE_BOTTOM_BAR)
data object ThemesScreen: NavigationItem(NAV_ROUTE_THEMES)
data object SearchScreen: NavigationItem(NAV_ROUTE_THEMES)
}