Skip to content

Commit

Permalink
✨ :: Connect student management navigation
Browse files Browse the repository at this point in the history
  • Loading branch information
diejdkll committed Feb 10, 2024
1 parent 000b687 commit bde345c
Show file tree
Hide file tree
Showing 3 changed files with 37 additions and 7 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,9 @@ import com.goms.main.navigation.mainScreen
import com.goms.main.navigation.navigateToLateList
import com.goms.main.navigation.navigateToMain
import com.goms.main.navigation.navigateToOutingStatus
import com.goms.main.navigation.navigateToStudentManagement
import com.goms.main.navigation.outingStatusScreen
import com.goms.main.navigation.studentManagementScreen
import com.goms.sign_up.navigation.navigateToNumber
import com.goms.sign_up.navigation.navigateToPassword
import com.goms.sign_up.navigation.navigateToSignUp
Expand Down Expand Up @@ -63,7 +65,8 @@ fun GomsNavHost(
mainScreen(
viewModelStoreOwner = mainViewModelStoreOwner,
onOutingStatusClick = navController::navigateToOutingStatus,
onLateListClick = navController::navigateToLateList
onLateListClick = navController::navigateToLateList,
onStudentManagementClick = navController::navigateToStudentManagement
)
outingStatusScreen(
viewModelStoreOwner = mainViewModelStoreOwner,
Expand All @@ -73,5 +76,9 @@ fun GomsNavHost(
viewModelStoreOwner = mainViewModelStoreOwner,
onBackClick = navController::popBackStack
)
studentManagementScreen(
viewModelStoreOwner = mainViewModelStoreOwner,
onBackClick = navController::popBackStack
)
}
}
11 changes: 7 additions & 4 deletions feature/main/src/main/java/com/goms/main/MainScreen.kt
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,8 @@ import com.goms.main.viewmodel.MainViewModelProvider
fun MainRoute(
viewModelStoreOwner: ViewModelStoreOwner,
onOutingStatusClick: () -> Unit,
onLateListClick: () -> Unit
onLateListClick: () -> Unit,
onStudentManagementClick: () -> Unit
) {
MainViewModelProvider(viewModelStoreOwner = viewModelStoreOwner) { viewModel ->
val role by viewModel.role.collectAsStateWithLifecycle(initialValue = "")
Expand All @@ -57,7 +58,8 @@ fun MainRoute(
viewModel.getOutingCount()
},
onOutingStatusClick = onOutingStatusClick,
onLateListClick = onLateListClick
onLateListClick = onLateListClick,
onStudentManagementClick = onStudentManagementClick
)
}
}
Expand All @@ -71,7 +73,8 @@ fun MainScreen(
getOutingCountUiState: GetOutingCountUiState,
getData: () -> Unit,
onOutingStatusClick: () -> Unit,
onLateListClick: () -> Unit
onLateListClick: () -> Unit,
onStudentManagementClick: () -> Unit
) {
LaunchedEffect(true) {
getData()
Expand All @@ -92,7 +95,7 @@ fun MainScreen(
role = role,
icon = { SettingIcon(tint = colors.G7) },
onSettingClick = {},
onAdminClick = {}
onAdminClick = { onStudentManagementClick() }
)
Column(
modifier = Modifier
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,12 @@ import androidx.navigation.compose.composable
import com.goms.main.LateListRoute
import com.goms.main.MainRoute
import com.goms.main.OutingStatusRoute
import com.goms.main.StudentManagementRoute

const val mainRoute = "main_route"
const val outingStatusRoute = "outing_status_route"
const val lateListRoute = "late_list_route"
const val studentManagementRoute = "student_management_route"

fun NavController.navigateToMain(navOptions: NavOptions? = null) {
this.navigate(mainRoute, navOptions)
Expand All @@ -20,13 +22,15 @@ fun NavController.navigateToMain(navOptions: NavOptions? = null) {
fun NavGraphBuilder.mainScreen(
viewModelStoreOwner: ViewModelStoreOwner,
onOutingStatusClick: () -> Unit,
onLateListClick: () -> Unit
onLateListClick: () -> Unit,
onStudentManagementClick: () -> Unit
) {
composable(route = mainRoute) {
MainRoute(
viewModelStoreOwner = viewModelStoreOwner,
onOutingStatusClick = onOutingStatusClick,
onLateListClick = onLateListClick
onLateListClick = onLateListClick,
onStudentManagementClick = onStudentManagementClick
)
}
}
Expand Down Expand Up @@ -61,4 +65,20 @@ fun NavGraphBuilder.lateListScreen(
onBackClick = onBackClick
)
}
}

fun NavController.navigateToStudentManagement(navOptions: NavOptions? = null) {
this.navigate(studentManagementRoute, navOptions)
}

fun NavGraphBuilder.studentManagementScreen(
viewModelStoreOwner: ViewModelStoreOwner,
onBackClick: () -> Unit
) {
composable(route = studentManagementRoute) {
StudentManagementRoute(
viewModelStoreOwner = viewModelStoreOwner,
onBackClick = onBackClick
)
}
}

0 comments on commit bde345c

Please sign in to comment.