diff --git a/app/src/main/java/com/geekymusketeers/uncrack/presentation/masterKey/UpdateMasterKey.kt b/app/src/main/java/com/geekymusketeers/uncrack/presentation/masterKey/UpdateMasterKey.kt index ecdd0b28..6768a589 100644 --- a/app/src/main/java/com/geekymusketeers/uncrack/presentation/masterKey/UpdateMasterKey.kt +++ b/app/src/main/java/com/geekymusketeers/uncrack/presentation/masterKey/UpdateMasterKey.kt @@ -7,11 +7,14 @@ import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size +import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.Icon import androidx.compose.material3.IconButton import androidx.compose.material3.Scaffold import androidx.compose.material3.Text +import androidx.compose.material3.TopAppBarDefaults import androidx.compose.runtime.Composable +import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember @@ -19,17 +22,24 @@ import androidx.compose.runtime.setValue import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color import androidx.compose.ui.res.painterResource +import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.input.PasswordVisualTransformation import androidx.compose.ui.text.input.VisualTransformation -import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp +import androidx.navigation.NavHostController import com.geekymusketeers.uncrack.R import com.geekymusketeers.uncrack.components.UCButton import com.geekymusketeers.uncrack.components.UCTextField +import com.geekymusketeers.uncrack.components.UCTopAppBar +import com.geekymusketeers.uncrack.ui.theme.BackgroundLight import com.geekymusketeers.uncrack.ui.theme.bold30 +import com.geekymusketeers.uncrack.viewModel.KeyViewModel +@OptIn(ExperimentalMaterial3Api::class) @Composable fun UpdateMasterKey( + navController: NavHostController, + masterKeyViewModel: KeyViewModel, modifier: Modifier = Modifier ) { @@ -52,7 +62,14 @@ fun UpdateMasterKey( Scaffold( - modifier.fillMaxSize() + modifier.fillMaxSize(), + topBar = { + UCTopAppBar( + modifier = Modifier.fillMaxWidth(), + colors = TopAppBarDefaults.topAppBarColors(BackgroundLight), + onBackPress = { navController.popBackStack() } + ) + } ) { paddingValues -> Column( @@ -62,7 +79,7 @@ fun UpdateMasterKey( .padding(16.dp) ) { Text( - text = "Update Master Key", + text = stringResource(R.string.update_master_key), style = bold30.copy(color = Color.Black) ) @@ -71,19 +88,17 @@ fun UpdateMasterKey( UCTextField( modifier = Modifier .fillMaxWidth(), - headerText = "Old Master Key", - hintText = "****************", + headerText = stringResource(R.string.old_master_key), + hintText = stringResource(id = R.string.password_hint), value = oldMasterKey, onValueChange = { oldMasterKey = it }, visualTransformation = if (passwordVisibility) VisualTransformation.None else PasswordVisualTransformation(), trailingIcon = { - val image = if (passwordVisibility) painterResource(id = R.drawable.visibility_on) else painterResource(id = R.drawable.visibility_off) - IconButton(onClick = - { passwordVisibility = passwordVisibility.not() } + IconButton(onClick = { passwordVisibility = passwordVisibility.not() } ) { Icon( modifier = Modifier.size(24.dp), @@ -99,19 +114,17 @@ fun UpdateMasterKey( UCTextField( modifier = Modifier .fillMaxWidth(), - headerText = "New Master Key", - hintText = "****************", + headerText = stringResource(R.string.new_master_key), + hintText = stringResource(id = R.string.password_hint), value = newMasterKey, onValueChange = { newMasterKey = it }, visualTransformation = if (passwordVisibility) VisualTransformation.None else PasswordVisualTransformation(), trailingIcon = { - val image = if (passwordVisibility) painterResource(id = R.drawable.visibility_on) else painterResource(id = R.drawable.visibility_off) - IconButton(onClick = - { passwordVisibility = passwordVisibility.not() } + IconButton(onClick = { passwordVisibility = passwordVisibility.not() } ) { Icon( modifier = Modifier.size(24.dp), @@ -127,19 +140,17 @@ fun UpdateMasterKey( UCTextField( modifier = Modifier .fillMaxWidth(), - headerText = "Confirm Master Key", - hintText = "****************", + headerText = stringResource(id = R.string.confirm_master_key), + hintText = stringResource(id = R.string.password_hint), value = confirmMasterKey, onValueChange = { confirmMasterKey = it }, visualTransformation = if (passwordVisibility) VisualTransformation.None else PasswordVisualTransformation(), trailingIcon = { - val image = if (passwordVisibility) painterResource(id = R.drawable.visibility_on) else painterResource(id = R.drawable.visibility_off) - IconButton(onClick = - { passwordVisibility = passwordVisibility.not() } + IconButton(onClick = { passwordVisibility = passwordVisibility.not() } ) { Icon( modifier = Modifier.size(24.dp), @@ -155,7 +166,7 @@ fun UpdateMasterKey( UCButton( modifier = Modifier .fillMaxWidth(), - text = "Update", + text = stringResource(id = R.string.update), onClick = { // TODO: Perform req operation }, @@ -164,9 +175,3 @@ fun UpdateMasterKey( } } } - -@Preview -@Composable -private fun UpdateKeyPreview() { - UpdateMasterKey() -} \ No newline at end of file