account's info on profile screen; storing users into cache

This commit is contained in:
2024-07-12 23:20:24 +03:00
parent eef90a06ea
commit 25acc6505b
14 changed files with 374 additions and 120 deletions
@@ -7,21 +7,14 @@ import androidx.compose.animation.fadeOut
import androidx.compose.animation.slideIn
import androidx.compose.animation.slideOut
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.padding
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.rounded.Settings
import androidx.compose.material3.ExperimentalMaterial3Api
import androidx.compose.material3.Icon
import androidx.compose.material3.IconButton
import androidx.compose.material3.NavigationBar
import androidx.compose.material3.NavigationBarDefaults
import androidx.compose.material3.NavigationBarItem
import androidx.compose.material3.Scaffold
import androidx.compose.material3.Text
import androidx.compose.material3.TopAppBar
import androidx.compose.runtime.CompositionLocalProvider
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableIntStateOf
@@ -31,7 +24,6 @@ import androidx.compose.runtime.saveable.rememberSaveable
import androidx.compose.runtime.setValue
import androidx.compose.ui.Modifier
import androidx.compose.ui.res.painterResource
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.unit.IntOffset
import androidx.compose.ui.unit.dp
import androidx.navigation.NavGraphBuilder
@@ -47,6 +39,8 @@ import com.meloda.app.fast.designsystem.LocalTheme
import com.meloda.app.fast.friends.navigation.Friends
import com.meloda.app.fast.friends.navigation.friendsRoute
import com.meloda.app.fast.model.BaseError
import com.meloda.app.fast.profile.navigation.Profile
import com.meloda.app.fast.profile.navigation.profileRoute
import dev.chrisbanes.haze.HazeState
import dev.chrisbanes.haze.hazeChild
import dev.chrisbanes.haze.materials.ExperimentalHazeMaterialsApi
@@ -60,9 +54,6 @@ object MainGraph
@Serializable
object Main
@Serializable
object Profile
data class BottomNavigationItem(
val titleResId: Int,
val selectedIconResId: Int,
@@ -70,7 +61,7 @@ data class BottomNavigationItem(
val route: Any,
)
@OptIn(ExperimentalMaterial3Api::class, ExperimentalHazeMaterialsApi::class)
@OptIn(ExperimentalHazeMaterialsApi::class)
fun NavGraphBuilder.mainScreen(
onError: (BaseError) -> Unit,
onNavigateToSettings: () -> Unit,
@@ -192,34 +183,11 @@ fun NavGraphBuilder.mainScreen(
// isBottomBarVisible = isScrolling
}
)
composable<Profile> {
Scaffold(
topBar = {
TopAppBar(
title = {
Text(text = stringResource(id = UiR.string.title_profile))
},
actions = {
IconButton(onClick = onNavigateToSettings) {
Icon(
imageVector = Icons.Rounded.Settings,
contentDescription = null
)
}
}
)
}
) { padding ->
Column(
modifier = Modifier
.fillMaxSize()
.padding(padding)
) {
}
}
}
profileRoute(
onError = onError,
onNavigateToSettings = onNavigateToSettings,
navController = navController
)
}
}
}