feat(app): make DecryptScreen properly standalone

This commit is contained in:
Harsh Shandilya 2022-10-07 19:11:06 +05:30
parent cb373db35d
commit f2ab436c54
No known key found for this signature in database
2 changed files with 47 additions and 22 deletions

View file

@ -3,9 +3,12 @@ package app.passwordstore.ui.crypto
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.padding
import androidx.compose.material3.ExperimentalMaterial3Api
import androidx.compose.material3.Icon
import androidx.compose.material3.IconButton
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Scaffold
import androidx.compose.material3.Text
import androidx.compose.material3.TextField
import androidx.compose.runtime.Composable
@ -17,8 +20,11 @@ import androidx.compose.ui.res.painterResource
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.text.AnnotatedString
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import app.passwordstore.R
import app.passwordstore.data.passfile.PasswordEntry
import app.passwordstore.ui.APSAppBar
import app.passwordstore.ui.compose.theme.APSThemePreview
import app.passwordstore.util.time.UserClock
import app.passwordstore.util.totp.UriTotpFinder
import kotlin.time.ExperimentalTime
@ -32,10 +38,23 @@ fun PasswordEntryScreen(
entry: PasswordEntry,
modifier: Modifier = Modifier,
) {
Scaffold(
topBar = {
APSAppBar(
title = "",
navigationIcon = painterResource(R.drawable.ic_arrow_back_black_24dp),
onNavigationIconClick = {},
backgroundColor = MaterialTheme.colorScheme.surface,
)
},
) { paddingValues ->
val clipboard = LocalClipboardManager.current
Box(modifier = modifier.fillMaxSize()) {
Column {
Text(entryName)
Box(modifier = modifier.fillMaxSize().padding(paddingValues)) {
Column(modifier = Modifier.padding(8.dp)) {
Text(
text = entryName,
style = MaterialTheme.typography.headlineSmall,
)
if (entry.password != null) {
TextField(
value = entry.password!!,
@ -58,6 +77,7 @@ fun PasswordEntryScreen(
}
}
}
}
@Composable
private fun CopyButton(onClick: () -> Unit) {
@ -74,7 +94,7 @@ private fun CopyButton(onClick: () -> Unit) {
@Preview
@Composable
private fun PasswordEntryPreview() {
PasswordEntryScreen("Test Entry", createTestEntry())
APSThemePreview { PasswordEntryScreen("Test Entry", createTestEntry()) }
}
fun createTestEntry() =

View file

@ -70,3 +70,8 @@ public fun APSTheme(
) {
MaterialTheme(colorScheme = colors, typography = AppTypography, content = content)
}
@Composable
public fun APSThemePreview(content: @Composable () -> Unit) {
MaterialTheme(colorScheme = LightThemeColors, typography = AppTypography, content = content)
}