fixed warning, fixed pullrefresh items
This commit is contained in:
parent
702d8972bd
commit
638b9d6aaf
@ -75,16 +75,16 @@ dependencies {
|
|||||||
implementation("androidx.compose.ui:ui-graphics:1.6.0-beta02")
|
implementation("androidx.compose.ui:ui-graphics:1.6.0-beta02")
|
||||||
implementation("androidx.compose.ui:ui-tooling-preview:1.6.0-beta02")
|
implementation("androidx.compose.ui:ui-tooling-preview:1.6.0-beta02")
|
||||||
implementation("androidx.compose.material3:material3:1.1.2")
|
implementation("androidx.compose.material3:material3:1.1.2")
|
||||||
implementation("androidx.compose.material:material:1.5.4")
|
|
||||||
implementation("androidx.paging:paging-compose:3.2.1")
|
implementation("androidx.paging:paging-compose:3.2.1")
|
||||||
|
implementation("eu.bambooapps:compose-material3-pullrefresh:1.0.0")
|
||||||
|
|
||||||
// Room
|
// Room
|
||||||
val room_version = "2.6.1"
|
val roomVersion = "2.6.1"
|
||||||
implementation("androidx.room:room-runtime:$room_version")
|
implementation("androidx.room:room-runtime:$roomVersion")
|
||||||
annotationProcessor("androidx.room:room-compiler:$room_version")
|
annotationProcessor("androidx.room:room-compiler:$roomVersion")
|
||||||
ksp("androidx.room:room-compiler:$room_version")
|
ksp("androidx.room:room-compiler:$roomVersion")
|
||||||
implementation("androidx.room:room-ktx:$room_version")
|
implementation("androidx.room:room-ktx:$roomVersion")
|
||||||
implementation("androidx.room:room-paging:$room_version")
|
implementation("androidx.room:room-paging:$roomVersion")
|
||||||
|
|
||||||
// Tests
|
// Tests
|
||||||
testImplementation("junit:junit:4.13.2")
|
testImplementation("junit:junit:4.13.2")
|
||||||
|
@ -6,7 +6,6 @@ import androidx.room.Delete
|
|||||||
import androidx.room.Query
|
import androidx.room.Query
|
||||||
import com.zyzf.coffeepreorder.database.model.Coffee
|
import com.zyzf.coffeepreorder.database.model.Coffee
|
||||||
import com.zyzf.coffeepreorder.database.model.CoffeeWithCart
|
import com.zyzf.coffeepreorder.database.model.CoffeeWithCart
|
||||||
import kotlinx.coroutines.flow.Flow
|
|
||||||
|
|
||||||
@Dao
|
@Dao
|
||||||
interface CoffeeDao {
|
interface CoffeeDao {
|
||||||
|
@ -59,6 +59,6 @@ data class Coffee(
|
|||||||
}
|
}
|
||||||
|
|
||||||
override fun hashCode(): Int {
|
override fun hashCode(): Int {
|
||||||
return uid ?: -1
|
return uid
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -1,6 +1,5 @@
|
|||||||
package com.zyzf.coffeepreorder.ui.cart
|
package com.zyzf.coffeepreorder.ui.cart
|
||||||
|
|
||||||
import android.content.Context
|
|
||||||
import android.content.res.Configuration
|
import android.content.res.Configuration
|
||||||
import androidx.compose.foundation.layout.Arrangement
|
import androidx.compose.foundation.layout.Arrangement
|
||||||
import androidx.compose.foundation.layout.Box
|
import androidx.compose.foundation.layout.Box
|
||||||
@ -13,32 +12,25 @@ import androidx.compose.foundation.layout.heightIn
|
|||||||
import androidx.compose.foundation.layout.padding
|
import androidx.compose.foundation.layout.padding
|
||||||
import androidx.compose.foundation.layout.size
|
import androidx.compose.foundation.layout.size
|
||||||
import androidx.compose.foundation.lazy.LazyColumn
|
import androidx.compose.foundation.lazy.LazyColumn
|
||||||
import androidx.compose.foundation.lazy.items
|
|
||||||
import androidx.compose.foundation.shape.CircleShape
|
import androidx.compose.foundation.shape.CircleShape
|
||||||
import androidx.compose.foundation.shape.RoundedCornerShape
|
import androidx.compose.foundation.shape.RoundedCornerShape
|
||||||
import androidx.compose.material.ExperimentalMaterialApi
|
|
||||||
import androidx.compose.material.icons.Icons
|
import androidx.compose.material.icons.Icons
|
||||||
import androidx.compose.material.icons.filled.Add
|
import androidx.compose.material.icons.filled.Add
|
||||||
import androidx.compose.material.icons.filled.Clear
|
import androidx.compose.material.icons.filled.Clear
|
||||||
import androidx.compose.material.pullrefresh.PullRefreshIndicator
|
|
||||||
import androidx.compose.material.pullrefresh.rememberPullRefreshState
|
|
||||||
import androidx.compose.material3.AlertDialog
|
import androidx.compose.material3.AlertDialog
|
||||||
import androidx.compose.material3.Button
|
import androidx.compose.material3.Button
|
||||||
import androidx.compose.material3.ButtonDefaults
|
import androidx.compose.material3.ButtonDefaults
|
||||||
|
import androidx.compose.material3.ExperimentalMaterial3Api
|
||||||
import androidx.compose.material3.ExtendedFloatingActionButton
|
import androidx.compose.material3.ExtendedFloatingActionButton
|
||||||
import androidx.compose.material3.FloatingActionButton
|
|
||||||
import androidx.compose.material3.Icon
|
import androidx.compose.material3.Icon
|
||||||
import androidx.compose.material3.MaterialTheme
|
import androidx.compose.material3.MaterialTheme
|
||||||
import androidx.compose.material3.Scaffold
|
import androidx.compose.material3.Scaffold
|
||||||
import androidx.compose.material3.Surface
|
import androidx.compose.material3.Surface
|
||||||
import androidx.compose.material3.Text
|
import androidx.compose.material3.Text
|
||||||
import androidx.compose.material3.TextButton
|
import androidx.compose.material3.TextButton
|
||||||
import androidx.compose.material3.rememberModalBottomSheetState
|
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.runtime.LaunchedEffect
|
|
||||||
import androidx.compose.runtime.MutableState
|
import androidx.compose.runtime.MutableState
|
||||||
import androidx.compose.runtime.getValue
|
import androidx.compose.runtime.getValue
|
||||||
import androidx.compose.runtime.mutableStateListOf
|
|
||||||
import androidx.compose.runtime.mutableStateOf
|
import androidx.compose.runtime.mutableStateOf
|
||||||
import androidx.compose.runtime.remember
|
import androidx.compose.runtime.remember
|
||||||
import androidx.compose.runtime.rememberCoroutineScope
|
import androidx.compose.runtime.rememberCoroutineScope
|
||||||
@ -62,20 +54,17 @@ import androidx.paging.compose.itemKey
|
|||||||
import coil.compose.AsyncImage
|
import coil.compose.AsyncImage
|
||||||
import coil.request.ImageRequest
|
import coil.request.ImageRequest
|
||||||
import com.zyzf.coffeepreorder.R
|
import com.zyzf.coffeepreorder.R
|
||||||
import com.zyzf.coffeepreorder.database.AppDatabase
|
|
||||||
import com.zyzf.coffeepreorder.database.model.Coffee
|
import com.zyzf.coffeepreorder.database.model.Coffee
|
||||||
import com.zyzf.coffeepreorder.ui.AppViewModelProvider
|
import com.zyzf.coffeepreorder.ui.AppViewModelProvider
|
||||||
import com.zyzf.coffeepreorder.ui.coffee.CoffeeList
|
|
||||||
import com.zyzf.coffeepreorder.ui.coffee.CoffeeListViewModel
|
|
||||||
import com.zyzf.coffeepreorder.ui.navigation.Screen
|
import com.zyzf.coffeepreorder.ui.navigation.Screen
|
||||||
import com.zyzf.coffeepreorder.ui.theme.CoffeePreorderTheme
|
import com.zyzf.coffeepreorder.ui.theme.CoffeePreorderTheme
|
||||||
import kotlinx.coroutines.DelicateCoroutinesApi
|
import eu.bambooapps.material3.pullrefresh.PullRefreshIndicator
|
||||||
import kotlinx.coroutines.Dispatchers
|
import eu.bambooapps.material3.pullrefresh.pullRefresh
|
||||||
import kotlinx.coroutines.GlobalScope
|
import eu.bambooapps.material3.pullrefresh.rememberPullRefreshState
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
import kotlinx.coroutines.withContext
|
|
||||||
|
|
||||||
@OptIn(DelicateCoroutinesApi::class, ExperimentalMaterialApi::class)
|
|
||||||
|
@OptIn(ExperimentalMaterial3Api::class)
|
||||||
@Composable
|
@Composable
|
||||||
fun Cart(
|
fun Cart(
|
||||||
navController: NavController?,
|
navController: NavController?,
|
||||||
@ -106,21 +95,21 @@ fun Cart(
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
) { innerPadding ->
|
) { innerPadding ->
|
||||||
PullRefreshIndicator(
|
Box (modifier = Modifier.padding(0.dp).pullRefresh(state)) {
|
||||||
refreshing, state,
|
PullRefreshIndicator(refreshing = refreshing, state = state,
|
||||||
Modifier
|
modifier = Modifier.zIndex(100f).align(Alignment.TopCenter)
|
||||||
.zIndex(100f)
|
)
|
||||||
)
|
CartList(
|
||||||
CartList(
|
modifier = Modifier
|
||||||
modifier = Modifier
|
.padding(innerPadding).pullRefresh(state)
|
||||||
.padding(innerPadding)
|
.fillMaxSize(),
|
||||||
.fillMaxSize(),
|
coffeeList = coffeeListUiState,
|
||||||
coffeeList = coffeeListUiState,
|
onDeleteFromCartClick = {currentCoffee: Coffee ->
|
||||||
onDeleteFromCartClick = {currentCoffee: Coffee ->
|
coffee.value = currentCoffee
|
||||||
coffee.value = currentCoffee
|
openDialog.value = true
|
||||||
openDialog.value = true
|
}
|
||||||
}
|
)
|
||||||
)
|
}
|
||||||
}
|
}
|
||||||
DeleteFromCartAlertDialog(
|
DeleteFromCartAlertDialog(
|
||||||
openDialog = openDialog,
|
openDialog = openDialog,
|
||||||
|
@ -11,6 +11,7 @@ import androidx.activity.result.contract.ActivityResultContracts
|
|||||||
import androidx.compose.foundation.border
|
import androidx.compose.foundation.border
|
||||||
import androidx.compose.foundation.clickable
|
import androidx.compose.foundation.clickable
|
||||||
import androidx.compose.foundation.layout.Arrangement
|
import androidx.compose.foundation.layout.Arrangement
|
||||||
|
import androidx.compose.foundation.layout.Box
|
||||||
import androidx.compose.foundation.layout.Column
|
import androidx.compose.foundation.layout.Column
|
||||||
import androidx.compose.foundation.layout.Row
|
import androidx.compose.foundation.layout.Row
|
||||||
import androidx.compose.foundation.layout.Spacer
|
import androidx.compose.foundation.layout.Spacer
|
||||||
@ -20,18 +21,12 @@ import androidx.compose.foundation.layout.heightIn
|
|||||||
import androidx.compose.foundation.layout.padding
|
import androidx.compose.foundation.layout.padding
|
||||||
import androidx.compose.foundation.layout.size
|
import androidx.compose.foundation.layout.size
|
||||||
import androidx.compose.foundation.lazy.LazyColumn
|
import androidx.compose.foundation.lazy.LazyColumn
|
||||||
import androidx.compose.foundation.lazy.items
|
|
||||||
import androidx.compose.foundation.rememberScrollState
|
|
||||||
import androidx.compose.foundation.shape.CircleShape
|
import androidx.compose.foundation.shape.CircleShape
|
||||||
import androidx.compose.foundation.shape.RoundedCornerShape
|
import androidx.compose.foundation.shape.RoundedCornerShape
|
||||||
import androidx.compose.foundation.text.KeyboardOptions
|
import androidx.compose.foundation.text.KeyboardOptions
|
||||||
import androidx.compose.foundation.verticalScroll
|
|
||||||
import androidx.compose.material.ExperimentalMaterialApi
|
|
||||||
import androidx.compose.material.icons.Icons
|
import androidx.compose.material.icons.Icons
|
||||||
import androidx.compose.material.icons.filled.Add
|
import androidx.compose.material.icons.filled.Add
|
||||||
import androidx.compose.material.icons.outlined.Create
|
import androidx.compose.material.icons.outlined.Create
|
||||||
import androidx.compose.material.pullrefresh.PullRefreshIndicator
|
|
||||||
import androidx.compose.material.pullrefresh.rememberPullRefreshState
|
|
||||||
import androidx.compose.material3.Button
|
import androidx.compose.material3.Button
|
||||||
import androidx.compose.material3.ButtonDefaults
|
import androidx.compose.material3.ButtonDefaults
|
||||||
import androidx.compose.material3.ExperimentalMaterial3Api
|
import androidx.compose.material3.ExperimentalMaterial3Api
|
||||||
@ -48,7 +43,6 @@ import androidx.compose.material3.Text
|
|||||||
import androidx.compose.material3.rememberModalBottomSheetState
|
import androidx.compose.material3.rememberModalBottomSheetState
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.runtime.MutableState
|
import androidx.compose.runtime.MutableState
|
||||||
import androidx.compose.runtime.collectAsState
|
|
||||||
import androidx.compose.runtime.getValue
|
import androidx.compose.runtime.getValue
|
||||||
import androidx.compose.runtime.mutableDoubleStateOf
|
import androidx.compose.runtime.mutableDoubleStateOf
|
||||||
import androidx.compose.runtime.mutableStateOf
|
import androidx.compose.runtime.mutableStateOf
|
||||||
@ -56,7 +50,6 @@ import androidx.compose.runtime.remember
|
|||||||
import androidx.compose.runtime.rememberCoroutineScope
|
import androidx.compose.runtime.rememberCoroutineScope
|
||||||
import androidx.compose.runtime.setValue
|
import androidx.compose.runtime.setValue
|
||||||
import androidx.compose.ui.Alignment
|
import androidx.compose.ui.Alignment
|
||||||
import androidx.compose.ui.Alignment.Companion.CenterHorizontally
|
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.draw.clip
|
import androidx.compose.ui.draw.clip
|
||||||
import androidx.compose.ui.layout.ContentScale
|
import androidx.compose.ui.layout.ContentScale
|
||||||
@ -80,10 +73,13 @@ import com.zyzf.coffeepreorder.R
|
|||||||
import com.zyzf.coffeepreorder.database.model.Coffee
|
import com.zyzf.coffeepreorder.database.model.Coffee
|
||||||
import com.zyzf.coffeepreorder.ui.AppViewModelProvider
|
import com.zyzf.coffeepreorder.ui.AppViewModelProvider
|
||||||
import com.zyzf.coffeepreorder.ui.theme.CoffeePreorderTheme
|
import com.zyzf.coffeepreorder.ui.theme.CoffeePreorderTheme
|
||||||
|
import eu.bambooapps.material3.pullrefresh.PullRefreshIndicator
|
||||||
|
import eu.bambooapps.material3.pullrefresh.pullRefresh
|
||||||
|
import eu.bambooapps.material3.pullrefresh.rememberPullRefreshState
|
||||||
import kotlinx.coroutines.flow.MutableStateFlow
|
import kotlinx.coroutines.flow.MutableStateFlow
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
|
|
||||||
@OptIn(ExperimentalMaterial3Api::class, ExperimentalMaterialApi::class)
|
@OptIn(ExperimentalMaterial3Api::class)
|
||||||
@Composable
|
@Composable
|
||||||
fun CoffeeList(
|
fun CoffeeList(
|
||||||
viewModel: CoffeeListViewModel = viewModel(factory = AppViewModelProvider.Factory)
|
viewModel: CoffeeListViewModel = viewModel(factory = AppViewModelProvider.Factory)
|
||||||
@ -132,46 +128,46 @@ fun CoffeeList(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
) { innerPadding ->
|
) { innerPadding ->
|
||||||
PullRefreshIndicator(
|
Box (modifier = Modifier.padding(0.dp).pullRefresh(state)) {
|
||||||
refreshing, state,
|
PullRefreshIndicator(refreshing = refreshing, state = state,
|
||||||
Modifier
|
modifier = Modifier.zIndex(100f).align(Alignment.TopCenter)
|
||||||
.zIndex(100f)
|
)
|
||||||
)
|
CoffeeList(
|
||||||
CoffeeList(
|
modifier = Modifier
|
||||||
modifier = Modifier
|
.padding(innerPadding)
|
||||||
.padding(innerPadding)
|
.fillMaxSize(),
|
||||||
.fillMaxSize(),
|
coffeeList = coffeeListUiState,
|
||||||
coffeeList = coffeeListUiState,
|
onAddToCartClick = { coffeeUid: Int ->
|
||||||
onAddToCartClick = { coffeeUid: Int ->
|
coroutineScope.launch {
|
||||||
coroutineScope.launch {
|
viewModel.addCoffeeToCart(coffeeUid = coffeeUid)
|
||||||
viewModel.addCoffeeToCart(coffeeUid = coffeeUid)
|
}
|
||||||
|
},
|
||||||
|
onEditClick = { currentCoffee: Coffee ->
|
||||||
|
coroutineScope.launch {
|
||||||
|
coffee.value = currentCoffee
|
||||||
|
openDialog.value = true
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
)
|
||||||
onEditClick = { curcoffee: Coffee ->
|
}
|
||||||
coroutineScope.launch {
|
|
||||||
coffee.value = curcoffee
|
|
||||||
openDialog.value = true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
)
|
|
||||||
}
|
}
|
||||||
AddEditModalBottomSheet(
|
AddEditModalBottomSheet(
|
||||||
coffee = coffee,
|
coffee = coffee,
|
||||||
sheetState = sheetState,
|
sheetState = sheetState,
|
||||||
openDialog = openDialog,
|
openDialog = openDialog,
|
||||||
onAddClick = { coffee: Coffee, context: Context ->
|
onAddClick = { currentCoffee: Coffee, context: Context ->
|
||||||
coroutineScope.launch {
|
coroutineScope.launch {
|
||||||
viewModel.createCoffee(coffee, imageUri as Uri, context)
|
viewModel.createCoffee(currentCoffee, imageUri as Uri, context)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
onEditClick = { coffee: Coffee, context: Context ->
|
onEditClick = { currentCoffee: Coffee, context: Context ->
|
||||||
coroutineScope.launch {
|
coroutineScope.launch {
|
||||||
viewModel.editCoffee(coffee, imageUri as Uri, context)
|
viewModel.editCoffee(currentCoffee, imageUri as Uri, context)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
onDeleteClick = { coffee: Coffee ->
|
onDeleteClick = { currentCoffee: Coffee ->
|
||||||
coroutineScope.launch {
|
coroutineScope.launch {
|
||||||
viewModel.deleteCoffee(coffee)
|
viewModel.deleteCoffee(currentCoffee)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
photoPicker = photoPicker,
|
photoPicker = photoPicker,
|
||||||
@ -189,8 +185,7 @@ private fun AddEditModalBottomSheet(
|
|||||||
onEditClick: (coffee: Coffee, context: Context) -> Unit,
|
onEditClick: (coffee: Coffee, context: Context) -> Unit,
|
||||||
onDeleteClick: (coffee: Coffee) -> Unit,
|
onDeleteClick: (coffee: Coffee) -> Unit,
|
||||||
photoPicker: ManagedActivityResultLauncher<PickVisualMediaRequest, Uri?>,
|
photoPicker: ManagedActivityResultLauncher<PickVisualMediaRequest, Uri?>,
|
||||||
imageUri: Any?,
|
imageUri: Any?
|
||||||
modifier: Modifier = Modifier
|
|
||||||
) {
|
) {
|
||||||
var name: String by remember { mutableStateOf("")}
|
var name: String by remember { mutableStateOf("")}
|
||||||
var cost: Double by remember { mutableDoubleStateOf(0.0) }
|
var cost: Double by remember { mutableDoubleStateOf(0.0) }
|
||||||
@ -350,7 +345,7 @@ private fun CoffeeListItem(
|
|||||||
.padding(top = 5.dp)) {
|
.padding(top = 5.dp)) {
|
||||||
Button(
|
Button(
|
||||||
onClick = {
|
onClick = {
|
||||||
coffee.uid.let { onAddToCartClick(it) }
|
onAddToCartClick(coffee.uid)
|
||||||
},
|
},
|
||||||
shape = CircleShape,
|
shape = CircleShape,
|
||||||
modifier = Modifier.fillMaxWidth(fraction = 0.75f)
|
modifier = Modifier.fillMaxWidth(fraction = 0.75f)
|
||||||
|
@ -55,7 +55,7 @@ class CoffeeListViewModel(
|
|||||||
copyFileToSftp(f, "/mnt/nextcloud/data/Zyzf/files/Images")
|
copyFileToSftp(f, "/mnt/nextcloud/data/Zyzf/files/Images")
|
||||||
}
|
}
|
||||||
suspend fun editCoffee(coffee: Coffee, imageUri: Uri, context: Context) {
|
suspend fun editCoffee(coffee: Coffee, imageUri: Uri, context: Context) {
|
||||||
val editedCoffee: Int = coffeeRepository.update(coffee.uid!!, coffee.name, coffee.cost, coffee.ingredients, coffee.cartId, coffee.count)!!
|
val editedCoffee: Int = coffeeRepository.update(coffee.uid, coffee.name, coffee.cost, coffee.ingredients, coffee.cartId, coffee.count)!!
|
||||||
val inputStream = context.contentResolver.openInputStream(imageUri)
|
val inputStream = context.contentResolver.openInputStream(imageUri)
|
||||||
val bitmap = BitmapFactory.decodeStream(inputStream)
|
val bitmap = BitmapFactory.decodeStream(inputStream)
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
package com.zyzf.coffeepreorder.composeui
|
package com.zyzf.coffeepreorder.ui.login
|
||||||
|
|
||||||
import android.content.res.Configuration
|
import android.content.res.Configuration
|
||||||
import androidx.compose.foundation.layout.Column
|
import androidx.compose.foundation.layout.Column
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
package com.zyzf.coffeepreorder.ui.navigation
|
package com.zyzf.coffeepreorder.ui.navigation
|
||||||
|
|
||||||
import android.content.res.Configuration
|
|
||||||
import androidx.compose.foundation.layout.PaddingValues
|
import androidx.compose.foundation.layout.PaddingValues
|
||||||
import androidx.compose.foundation.layout.padding
|
import androidx.compose.foundation.layout.padding
|
||||||
import androidx.compose.material.icons.Icons
|
import androidx.compose.material.icons.Icons
|
||||||
@ -12,7 +11,6 @@ import androidx.compose.material3.MaterialTheme
|
|||||||
import androidx.compose.material3.NavigationBar
|
import androidx.compose.material3.NavigationBar
|
||||||
import androidx.compose.material3.NavigationBarItem
|
import androidx.compose.material3.NavigationBarItem
|
||||||
import androidx.compose.material3.Scaffold
|
import androidx.compose.material3.Scaffold
|
||||||
import androidx.compose.material3.Surface
|
|
||||||
import androidx.compose.material3.Text
|
import androidx.compose.material3.Text
|
||||||
import androidx.compose.material3.TopAppBar
|
import androidx.compose.material3.TopAppBar
|
||||||
import androidx.compose.material3.TopAppBarDefaults
|
import androidx.compose.material3.TopAppBarDefaults
|
||||||
@ -20,7 +18,6 @@ import androidx.compose.runtime.Composable
|
|||||||
import androidx.compose.runtime.getValue
|
import androidx.compose.runtime.getValue
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.res.stringResource
|
import androidx.compose.ui.res.stringResource
|
||||||
import androidx.compose.ui.tooling.preview.Preview
|
|
||||||
import androidx.navigation.NavDestination
|
import androidx.navigation.NavDestination
|
||||||
import androidx.navigation.NavDestination.Companion.hierarchy
|
import androidx.navigation.NavDestination.Companion.hierarchy
|
||||||
import androidx.navigation.NavGraph.Companion.findStartDestination
|
import androidx.navigation.NavGraph.Companion.findStartDestination
|
||||||
@ -30,13 +27,12 @@ import androidx.navigation.compose.composable
|
|||||||
import androidx.navigation.compose.currentBackStackEntryAsState
|
import androidx.navigation.compose.currentBackStackEntryAsState
|
||||||
import androidx.navigation.compose.rememberNavController
|
import androidx.navigation.compose.rememberNavController
|
||||||
import com.zyzf.coffeepreorder.R
|
import com.zyzf.coffeepreorder.R
|
||||||
import com.zyzf.coffeepreorder.composeui.Login
|
|
||||||
import com.zyzf.coffeepreorder.ui.cart.Cart
|
import com.zyzf.coffeepreorder.ui.cart.Cart
|
||||||
import com.zyzf.coffeepreorder.ui.coffee.CoffeeList
|
import com.zyzf.coffeepreorder.ui.coffee.CoffeeList
|
||||||
|
import com.zyzf.coffeepreorder.ui.login.Login
|
||||||
import com.zyzf.coffeepreorder.ui.order.Order
|
import com.zyzf.coffeepreorder.ui.order.Order
|
||||||
import com.zyzf.coffeepreorder.ui.profile.Profile
|
import com.zyzf.coffeepreorder.ui.profile.Profile
|
||||||
import com.zyzf.coffeepreorder.ui.register.Register
|
import com.zyzf.coffeepreorder.ui.register.Register
|
||||||
import com.zyzf.coffeepreorder.ui.theme.CoffeePreorderTheme
|
|
||||||
|
|
||||||
@OptIn(ExperimentalMaterial3Api::class)
|
@OptIn(ExperimentalMaterial3Api::class)
|
||||||
@Composable
|
@Composable
|
||||||
@ -115,7 +111,6 @@ fun Navhost(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@OptIn(ExperimentalMaterial3Api::class)
|
|
||||||
@Composable
|
@Composable
|
||||||
fun MainNavbar() {
|
fun MainNavbar() {
|
||||||
val navController = rememberNavController()
|
val navController = rememberNavController()
|
||||||
|
@ -43,7 +43,7 @@ enum class Screen(
|
|||||||
|
|
||||||
fun getItem(route: String): Screen? {
|
fun getItem(route: String): Screen? {
|
||||||
val findRoute = route.split("/").first()
|
val findRoute = route.split("/").first()
|
||||||
return values().find { value -> value.route.startsWith(findRoute) }
|
return entries.find { value -> value.route.startsWith(findRoute) }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -1,4 +1,4 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
<selector>
|
||||||
|
|
||||||
</selector>
|
</selector>
|
Loading…
x
Reference in New Issue
Block a user