From 053579b68563a2eea350b29b071491dd40b2c4be Mon Sep 17 00:00:00 2001 From: sathwikcs <85106054+sathwikcs@users.noreply.github.com> Date: Wed, 5 Feb 2025 17:13:09 +0530 Subject: [PATCH] home.kt --- .../attendanceapp/screens/home/ui/home.kt | 54 +++++++++++-------- 1 file changed, 33 insertions(+), 21 deletions(-) diff --git a/app/src/main/java/in/sminnovations/attendanceapp/screens/home/ui/home.kt b/app/src/main/java/in/sminnovations/attendanceapp/screens/home/ui/home.kt index 2a2ceae..87849ab 100644 --- a/app/src/main/java/in/sminnovations/attendanceapp/screens/home/ui/home.kt +++ b/app/src/main/java/in/sminnovations/attendanceapp/screens/home/ui/home.kt @@ -1,10 +1,15 @@ package `in`.sminnovations.attendanceapp.screens.home.ui import android.Manifest +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.runtime.Composable import androidx.compose.runtime.collectAsState import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember +import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalContext import androidx.hilt.navigation.compose.hiltViewModel import com.google.accompanist.permissions.ExperimentalPermissionsApi @@ -13,6 +18,7 @@ import `in`.sminnovations.attendanceapp.screens.home.ui.componets.AttendanceScre import `in`.sminnovations.attendanceapp.screens.home.ui.componets.NetworkErrorDialog import `in`.sminnovations.attendanceapp.screens.home.ui.componets.UpdateDialog import `in`.sminnovations.attendanceapp.screens.home.viewModel.HomeViewModel +import `in`.sminnovations.attendanceapp.screens.settings.ui.SettingsScreenDialogue @OptIn(ExperimentalPermissionsApi::class) @Composable @@ -23,36 +29,42 @@ fun HomeScreen( val cameraPermissionState = rememberPermissionState(Manifest.permission.CAMERA) val updateInfo by viewModel.updateInfo.collectAsState() val isUpdateDialogVisible by viewModel.isUpdateDialogVisible.collectAsState() - val showSettingDialog = remember{ mutableSetOf(false) } + val showSettingDialog = remember { mutableStateOf(false) } val isDownloading by viewModel.downloadProgress.collectAsState() val context = LocalContext.current + Box (modifier = Modifier.fillMaxSize()){ + + SettingsScreenDialogue( + showDialogue = showSettingDialog.value, + onDismissDialogue = { showSettingDialog.value = false } + ) + if (uiState.isConnected) { + viewModel.checkForUpdates(context) - if (uiState.isConnected) { - viewModel.checkForUpdates(context) + if (isUpdateDialogVisible && updateInfo != null) { + UpdateDialog(updateInfo = updateInfo!!, + isDownloading = isDownloading, + onDismiss = { viewModel.dismissUpdate() }, + onInstall = { url -> viewModel.installUpdate(url) }) + } + AttendanceScreenContent( + uiState = uiState, + cameraPermissionState = cameraPermissionState, + onScannerToggle = { if (uiState.isScanning) viewModel.stopScanning() else viewModel.startScanning() }, + onQrCodeScanned = viewModel::setQRCodeValue, + onClickSettings = { showSettingDialog.value = true } + ) - if (isUpdateDialogVisible && updateInfo != null) { - UpdateDialog( - updateInfo = updateInfo!!, - isDownloading = isDownloading, - onDismiss = { viewModel.dismissUpdate() }, - onInstall = { url -> viewModel.installUpdate(url) } + } else { + NetworkErrorDialog(showDialog = true, onRetry = { + viewModel.reStartMonitoring() + }, + onSettings = { showSettingDialog.value = true } ) } - AttendanceScreenContent( - uiState = uiState, - cameraPermissionState = cameraPermissionState, - onScannerToggle = { if (uiState.isScanning) viewModel.stopScanning() else viewModel.startScanning() }, - onQrCodeScanned = viewModel::setQRCodeValue, - ) - - }else{ - NetworkErrorDialog(showDialog = true, onRetry = { - viewModel.reStartMonitoring() - } - ) } }