This commit is contained in:
Trey t
2025-11-04 23:11:18 -06:00
parent 177e588944
commit 025fcf677a
15 changed files with 1382 additions and 473 deletions

View File

@@ -29,6 +29,7 @@ import androidx.navigation.compose.rememberNavController
import androidx.navigation.compose.composable
import androidx.navigation.toRoute
import com.mycrib.navigation.*
import com.mycrib.repository.LookupsRepository
import mycrib.composeapp.generated.resources.Res
import mycrib.composeapp.generated.resources.compose_multiplatform
@@ -39,9 +40,12 @@ fun App() {
var isLoggedIn by remember { mutableStateOf(com.mycrib.storage.TokenStorage.hasToken()) }
val navController = rememberNavController()
// Check for stored token on app start
// Check for stored token on app start and initialize lookups if logged in
LaunchedEffect(Unit) {
isLoggedIn = com.mycrib.storage.TokenStorage.hasToken()
if (isLoggedIn) {
LookupsRepository.initialize()
}
}
Surface(
@@ -56,6 +60,8 @@ fun App() {
LoginScreen(
onLoginSuccess = {
isLoggedIn = true
// Initialize lookups after successful login
LookupsRepository.initialize()
navController.navigate(ResidencesRoute) {
popUpTo<LoginRoute> { inclusive = true }
}
@@ -70,6 +76,8 @@ fun App() {
RegisterScreen(
onRegisterSuccess = {
isLoggedIn = true
// Initialize lookups after successful registration
LookupsRepository.initialize()
navController.navigate(ResidencesRoute) {
popUpTo<RegisterRoute> { inclusive = true }
}
@@ -89,8 +97,9 @@ fun App() {
navController.navigate(TasksRoute)
},
onLogout = {
// Clear token on logout
// Clear token and lookups on logout
com.mycrib.storage.TokenStorage.clearToken()
LookupsRepository.clear()
isLoggedIn = false
navController.navigate(LoginRoute) {
popUpTo<HomeRoute> { inclusive = true }
@@ -108,8 +117,9 @@ fun App() {
navController.navigate(AddResidenceRoute)
},
onLogout = {
// Clear token on logout
// Clear token and lookups on logout
com.mycrib.storage.TokenStorage.clearToken()
LookupsRepository.clear()
isLoggedIn = false
navController.navigate(LoginRoute) {
popUpTo<HomeRoute> { inclusive = true }