diff --git a/app/src/main/java/com/infomaniak/swisstransfer/ui/screen/main/received/ReceivedScreen.kt b/app/src/main/java/com/infomaniak/swisstransfer/ui/screen/main/received/ReceivedScreen.kt index c4c391c1a..6c82f97b0 100644 --- a/app/src/main/java/com/infomaniak/swisstransfer/ui/screen/main/received/ReceivedScreen.kt +++ b/app/src/main/java/com/infomaniak/swisstransfer/ui/screen/main/received/ReceivedScreen.kt @@ -23,6 +23,7 @@ import androidx.compose.runtime.derivedStateOf import androidx.compose.runtime.getValue import androidx.compose.runtime.remember import androidx.hilt.navigation.compose.hiltViewModel +import androidx.lifecycle.compose.collectAsStateWithLifecycle import com.infomaniak.multiplatform_swisstransfer.common.interfaces.ui.TransferUi import com.infomaniak.multiplatform_swisstransfer.common.models.TransferDirection import com.infomaniak.swisstransfer.R @@ -43,9 +44,13 @@ fun ReceivedScreen( transfersViewModel: TransfersViewModel = hiltViewModel(), ) { - val getTransfers = { transfersViewModel.receivedTransfers.value } + val transfers by transfersViewModel.receivedTransfers.collectAsStateWithLifecycle() - ReceivedScreen(navigateToDetails, getSelectedTransferUuid, getTransfers) + ReceivedScreen( + navigateToDetails = navigateToDetails, + getSelectedTransferUuid = getSelectedTransferUuid, + getTransfers = { transfers }, + ) } @Composable diff --git a/app/src/main/java/com/infomaniak/swisstransfer/ui/screen/main/sent/SentScreen.kt b/app/src/main/java/com/infomaniak/swisstransfer/ui/screen/main/sent/SentScreen.kt index 437b61914..404f6b286 100644 --- a/app/src/main/java/com/infomaniak/swisstransfer/ui/screen/main/sent/SentScreen.kt +++ b/app/src/main/java/com/infomaniak/swisstransfer/ui/screen/main/sent/SentScreen.kt @@ -25,6 +25,7 @@ import androidx.compose.runtime.getValue import androidx.compose.runtime.remember import androidx.compose.ui.tooling.preview.PreviewParameter import androidx.hilt.navigation.compose.hiltViewModel +import androidx.lifecycle.compose.collectAsStateWithLifecycle import com.infomaniak.multiplatform_swisstransfer.common.interfaces.ui.TransferUi import com.infomaniak.multiplatform_swisstransfer.common.models.TransferDirection import com.infomaniak.swisstransfer.ui.components.NewTransferFab @@ -44,9 +45,13 @@ fun SentScreen( transfersViewModel: TransfersViewModel = hiltViewModel(), ) { - val getTransfers = { transfersViewModel.sentTransfers.value } + val transfers by transfersViewModel.sentTransfers.collectAsStateWithLifecycle() - SentScreen(navigateToDetails, getSelectedTransferUuid, getTransfers) + SentScreen( + navigateToDetails = navigateToDetails, + getSelectedTransferUuid = getSelectedTransferUuid, + getTransfers = { transfers }, + ) } @Composable diff --git a/app/src/main/java/com/infomaniak/swisstransfer/ui/screen/main/transferdetails/TransferDetailsScreen.kt b/app/src/main/java/com/infomaniak/swisstransfer/ui/screen/main/transferdetails/TransferDetailsScreen.kt index 4855c01cd..4cb6693d6 100644 --- a/app/src/main/java/com/infomaniak/swisstransfer/ui/screen/main/transferdetails/TransferDetailsScreen.kt +++ b/app/src/main/java/com/infomaniak/swisstransfer/ui/screen/main/transferdetails/TransferDetailsScreen.kt @@ -92,8 +92,8 @@ private fun TransferDetailsScreen( val transferPassword = "toto42" // TODO: Use real data var isMultiselectOn: Boolean by rememberSaveable { mutableStateOf(false) } - var showQrCodeSheet: Boolean by rememberSaveable { mutableStateOf(false) } - var showPasswordSheet: Boolean by rememberSaveable { mutableStateOf(false) } + var showQrCodeBottomSheet: Boolean by rememberSaveable { mutableStateOf(false) } + var showPasswordBottomSheet: Boolean by rememberSaveable { mutableStateOf(false) } SmallWindowTopAppBarScaffold( smallWindowTopAppBar = { @@ -115,8 +115,8 @@ private fun TransferDetailsScreen( onClick = { item -> when (item) { BottomBarItem.SHARE -> context.shareText(transferUrl) - BottomBarItem.QR_CODE -> showQrCodeSheet = true - BottomBarItem.PASSWORD -> showPasswordSheet = true + BottomBarItem.QR_CODE -> showQrCodeBottomSheet = true + BottomBarItem.PASSWORD -> showPasswordBottomSheet = true BottomBarItem.DOWNLOAD -> { // TODO: Move the multiselect elsewhere, and implement this feature isMultiselectOn = true @@ -132,14 +132,14 @@ private fun TransferDetailsScreen( } QrCodeBottomSheet( - isVisible = { showQrCodeSheet }, + isVisible = { showQrCodeBottomSheet }, transferUrl = transferUrl, - closeBottomSheet = { showQrCodeSheet = false }, + closeBottomSheet = { showQrCodeBottomSheet = false }, ) PasswordBottomSheet( - isVisible = { showPasswordSheet }, + isVisible = { showPasswordBottomSheet }, transferPassword = transferPassword, - closeBottomSheet = { showPasswordSheet = false }, + closeBottomSheet = { showPasswordBottomSheet = false }, ) } }