view model fix

This commit is contained in:
moon 2026-06-11 17:18:57 +06:30
parent edba9da0bd
commit 60840f0f76
2 changed files with 15 additions and 22 deletions

View File

@ -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() {

View File

@ -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;