diff --git a/app/src/main/java/com/mob/utsmyanmar/ui/dashboard/DashboardScreen2.kt b/app/src/main/java/com/mob/utsmyanmar/ui/dashboard/DashboardScreen2.kt index af121fe..fde1201 100644 --- a/app/src/main/java/com/mob/utsmyanmar/ui/dashboard/DashboardScreen2.kt +++ b/app/src/main/java/com/mob/utsmyanmar/ui/dashboard/DashboardScreen2.kt @@ -50,8 +50,8 @@ import androidx.compose.material3.MaterialTheme import androidx.compose.material3.ModalDrawerSheet import androidx.compose.material3.ModalNavigationDrawer import androidx.compose.material3.Scaffold -import androidx.compose.material3.Text import androidx.compose.material3.Switch +import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.material3.VerticalDivider import androidx.compose.material3.rememberDrawerState @@ -75,11 +75,10 @@ import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp -import androidx.lifecycle.viewmodel.compose.viewModel import coil3.compose.AsyncImage import com.mob.utsmyanmar.R import com.mob.utsmyanmar.ui.components.appbar.AppBar -import com.mob.utsmyanmar.ui.device_info.DeviceInfoViewModel +import com.mob.utsmyanmar.ui.device_info.DeviceInfoUiState import com.mob.utsmyanmar.ui.preview.P2Preview import com.mob.utsmyanmar.ui.preview.P3Preview import com.mob.utsmyanmar.ui.theme.Color @@ -100,13 +99,8 @@ fun DashboardScreen2( onNavigateAction: (String) -> Unit = {}, onNavigateNotifications: () -> Unit = {}, dashboardUiState: DashboardUiState = DashboardUiState(), - deviceInfoViewModel: DeviceInfoViewModel = viewModel() + deviceInfo: DeviceInfoUiState = DeviceInfoUiState() ) { - val deviceInfo by deviceInfoViewModel.uiState.collectAsState() - - LaunchedEffect(Unit) { - deviceInfoViewModel.loadDeviceInfo() - } val drawerState = rememberDrawerState(initialValue = DrawerValue.Closed) val scope = rememberCoroutineScope() @@ -115,7 +109,7 @@ fun DashboardScreen2( var activeHostAction by remember { mutableStateOf("Log-On") } var isHostActionRunning by remember { mutableStateOf(false) } var dialogMessage by remember { mutableStateOf("") } - var reversalEnabled by remember { mutableStateOf(SystemParamsOperation.getInstance().isReversalOn) } + var reversalEnabled by remember { mutableStateOf(runCatching { SystemParamsOperation.getInstance().isReversalOn }.getOrDefault(false)) } val isOnline = true @@ -325,7 +319,7 @@ fun DashboardScreen2( title = "Reversal", subTitle = "Enable / Disable Reversal", onClick = { reversalEnabled = !reversalEnabled - SystemParamsOperation.getInstance().setReversalFlag(reversalEnabled) + runCatching { SystemParamsOperation.getInstance().setReversalFlag(reversalEnabled) } }, leadingIcon = { Icon( @@ -339,7 +333,7 @@ fun DashboardScreen2( checked = reversalEnabled, onCheckedChange = { isChecked -> reversalEnabled = isChecked - SystemParamsOperation.getInstance().setReversalFlag(isChecked) + runCatching { SystemParamsOperation.getInstance().setReversalFlag(isChecked) } } ) }, @@ -385,6 +379,7 @@ fun DashboardScreen2( } }) { +//body start Scaffold( containerColor = Color.IvoryBeige, topBar = { AppBar( @@ -858,19 +853,13 @@ private val previewTransactions = listOf( TrnxRecord(5L, "Settlement", "MMK 0", "----", "06/08 18:00", isVoided = false, isApproved = true), ) +@P3Preview @P2Preview @Composable fun PreviewDashboardScreen2() { DashboardScreen2(dashboardUiState = DashboardUiState(previewTransactions)) } -@P3Preview -@Composable -fun PreviewDashboardScreen3() { - DashboardScreen2(dashboardUiState = DashboardUiState(previewTransactions)) -} - - @Preview @Composable fun PreviewItem() { diff --git a/app/src/main/java/com/mob/utsmyanmar/ui/navigation/AppNavGraph.kt b/app/src/main/java/com/mob/utsmyanmar/ui/navigation/AppNavGraph.kt index f576a1e..b9e580f 100644 --- a/app/src/main/java/com/mob/utsmyanmar/ui/navigation/AppNavGraph.kt +++ b/app/src/main/java/com/mob/utsmyanmar/ui/navigation/AppNavGraph.kt @@ -22,6 +22,9 @@ import com.mob.utsmyanmar.ui.dashboard.DashboardViewModel import com.mob.utsmyanmar.ui.device_info.DeviceInfoViewModel import com.mob.utsmyanmar.ui.functions.FunctionsScreen import com.mob.utsmyanmar.ui.input_amount.AmountRoute +import com.mob.utsmyanmar.ui.notification.NotificationDetailScreen +import com.mob.utsmyanmar.ui.notification.NotificationListScreen +import com.mob.utsmyanmar.ui.notification.NotificationViewModel import com.mob.utsmyanmar.ui.password_input.InputPassword import com.mob.utsmyanmar.ui.password_input.PasswordType import com.mob.utsmyanmar.ui.pinpad.PinPadRoute @@ -43,9 +46,6 @@ import com.mob.utsmyanmar.ui.tms_setup.TmsSetupViewModel import com.mob.utsmyanmar.ui.transaction_result.TransactionResultEvent import com.mob.utsmyanmar.ui.transaction_result.TransactionResultRoute import com.mob.utsmyanmar.ui.transaction_result.TransactionResultViewModel -import com.mob.utsmyanmar.ui.notification.NotificationDetailScreen -import com.mob.utsmyanmar.ui.notification.NotificationListScreen -import com.mob.utsmyanmar.ui.notification.NotificationViewModel import com.mob.utsmyanmar.ui.version.VersionScreen import com.mob.utsmyanmar.viewmodel.CardReaderViewModel import com.mob.utsmyanmar.viewmodel.EmvTransactionProcessViewModel @@ -83,8 +83,12 @@ fun AppNavGraph( val sharedViewModel: SharedViewModel = hiltViewModel(activity) val dashboardViewModel: DashboardViewModel = hiltViewModel() val dashboardUiState by dashboardViewModel.uiState.collectAsStateWithLifecycle() + val deviceInfoViewModel: DeviceInfoViewModel = hiltViewModel() + val deviceInfo by deviceInfoViewModel.uiState.collectAsStateWithLifecycle() + androidx.compose.runtime.LaunchedEffect(Unit) { deviceInfoViewModel.loadDeviceInfo() } DashboardScreen2( dashboardUiState = dashboardUiState, + deviceInfo = deviceInfo, onNavigateAmount = { action -> if(action == "Sale"){ sharedViewModel.transactionsType.value = TransactionsType.SALE;