Tugas 12 PPB A
Nama: Meylina Tesa Hapsari
NRP: 5025221149
Kelas: PPB A
@Composable
private fun DessertClickApp(
desserts: List<Dessert>,
modifier: Modifier = Modifier
) {
var revenue by rememberSaveable { mutableStateOf(0) }
var dessertsSold by rememberSaveable { mutableStateOf(0) }
val currentDessert = determineDessertToShow(desserts, dessertsSold)
Scaffold(
topBar = {
val intentContext = LocalContext.current
val layoutDirection = LocalLayoutDirection.current
DessertClickerAppBar(
onShareButtonClicked = {
shareSoldDessertsInformation(
intentContext = intentContext,
dessertsSold = dessertsSold,
revenue = revenue
)
},
modifier = Modifier
.fillMaxWidth()
.padding(
start = WindowInsets.safeDrawing.asPaddingValues()
.calculateStartPadding(layoutDirection),
end = WindowInsets.safeDrawing.asPaddingValues()
.calculateEndPadding(layoutDirection),
)
.background(MaterialTheme.colorScheme.primary)
)
}
) { contentPadding ->
DessertClickerScreen(
revenue = revenue,
dessertsSold = dessertsSold,
currentDessert = currentDessert,
desserts = desserts,
onDessertClicked = { clickedDessert ->
revenue += clickedDessert.price
dessertsSold++
},
modifier = Modifier.padding(contentPadding)
)
}
}
- Scaffold: Menyediakan layout dengan top bar dan konten.
- DessertClickerAppBar: Menampilkan nama aplikasi dan tombol share.
- DessertClickerScrenn: Menampilkan daftar dessert dan info transaksi.
@Composable
private fun TransactionInfo(
revenue: Int,
dessertsSold: Int,
modifier: Modifier = Modifier
) {
Column(modifier = modifier) {
DessertsSoldInfo(
dessertsSold = dessertsSold,
modifier = Modifier
.fillMaxWidth()
.padding(dimensionResource(R.dimen.padding_medium))
)
RevenueInfo(
revenue = revenue,
modifier = Modifier
.fillMaxWidth()
.padding(dimensionResource(R.dimen.padding_medium))
)
}
}
- Menampilkan 2 baris informasi yaitu total dessert yang terjual dan jumlah pendapatan.
Komentar
Posting Komentar