aboutsummaryrefslogtreecommitdiff
path: root/ui-compose/src/main/kotlin
diff options
context:
space:
mode:
Diffstat (limited to 'ui-compose/src/main/kotlin')
-rw-r--r--ui-compose/src/main/kotlin/app/passwordstore/ui/APSAppBar.kt40
-rw-r--r--ui-compose/src/main/kotlin/app/passwordstore/ui/compose/PasswordField.kt82
-rw-r--r--ui-compose/src/main/kotlin/app/passwordstore/ui/compose/theme/Color.kt58
-rw-r--r--ui-compose/src/main/kotlin/app/passwordstore/ui/compose/theme/Theme.kt77
-rw-r--r--ui-compose/src/main/kotlin/app/passwordstore/ui/compose/theme/Type.kt144
-rw-r--r--ui-compose/src/main/kotlin/app/passwordstore/ui/compose/theme/utils.kt27
6 files changed, 0 insertions, 428 deletions
diff --git a/ui-compose/src/main/kotlin/app/passwordstore/ui/APSAppBar.kt b/ui-compose/src/main/kotlin/app/passwordstore/ui/APSAppBar.kt
deleted file mode 100644
index 94b646b7..00000000
--- a/ui-compose/src/main/kotlin/app/passwordstore/ui/APSAppBar.kt
+++ /dev/null
@@ -1,40 +0,0 @@
-package app.passwordstore.ui
-
-import androidx.compose.material3.ExperimentalMaterial3Api
-import androidx.compose.material3.Icon
-import androidx.compose.material3.IconButton
-import androidx.compose.material3.Text
-import androidx.compose.material3.TopAppBar
-import androidx.compose.material3.TopAppBarDefaults
-import androidx.compose.runtime.Composable
-import androidx.compose.ui.Modifier
-import androidx.compose.ui.draw.shadow
-import androidx.compose.ui.graphics.Color
-import androidx.compose.ui.graphics.painter.Painter
-import androidx.compose.ui.unit.dp
-
-@Composable
-@OptIn(ExperimentalMaterial3Api::class)
-public fun APSAppBar(
- title: String,
- backgroundColor: Color,
- navigationIcon: Painter?,
- onNavigationIconClick: (() -> Unit)?,
- modifier: Modifier = Modifier,
-) {
- TopAppBar(
- title = { Text(text = title) },
- navigationIcon = {
- if (navigationIcon != null) {
- IconButton(onClick = { onNavigationIconClick?.invoke() }) {
- Icon(
- painter = navigationIcon,
- contentDescription = null,
- )
- }
- }
- },
- colors = TopAppBarDefaults.topAppBarColors(containerColor = backgroundColor),
- modifier = modifier.shadow(8.dp),
- )
-}
diff --git a/ui-compose/src/main/kotlin/app/passwordstore/ui/compose/PasswordField.kt b/ui-compose/src/main/kotlin/app/passwordstore/ui/compose/PasswordField.kt
deleted file mode 100644
index d2a04777..00000000
--- a/ui-compose/src/main/kotlin/app/passwordstore/ui/compose/PasswordField.kt
+++ /dev/null
@@ -1,82 +0,0 @@
-package app.passwordstore.ui.compose
-
-import androidx.annotation.StringRes
-import androidx.compose.material3.Icon
-import androidx.compose.material3.IconButton
-import androidx.compose.material3.Text
-import androidx.compose.material3.TextField
-import androidx.compose.runtime.Composable
-import androidx.compose.runtime.getValue
-import androidx.compose.runtime.mutableStateOf
-import androidx.compose.runtime.remember
-import androidx.compose.runtime.setValue
-import androidx.compose.ui.Modifier
-import androidx.compose.ui.platform.LocalClipboardManager
-import androidx.compose.ui.res.painterResource
-import androidx.compose.ui.res.stringResource
-import androidx.compose.ui.text.AnnotatedString
-import androidx.compose.ui.text.input.PasswordVisualTransformation
-import androidx.compose.ui.text.input.VisualTransformation
-
-@Composable
-public fun PasswordField(
- value: String,
- label: String,
- initialVisibility: Boolean,
- modifier: Modifier = Modifier,
- readOnly: Boolean = false,
-) {
- var visible by remember { mutableStateOf(initialVisibility) }
- TextField(
- value = value,
- onValueChange = {},
- readOnly = readOnly,
- label = { Text(label) },
- visualTransformation =
- if (visible) VisualTransformation.None else PasswordVisualTransformation(),
- trailingIcon = {
- ToggleButton(
- visible = visible,
- contentDescription = "Toggle password visibility",
- onButtonClick = { visible = !visible },
- )
- },
- modifier = modifier,
- )
-}
-
-@Composable
-private fun ToggleButton(
- visible: Boolean,
- contentDescription: String,
- onButtonClick: () -> Unit,
- modifier: Modifier = Modifier,
-) {
- IconButton(onClick = onButtonClick, modifier = modifier) {
- val icon =
- if (visible) painterResource(id = R.drawable.baseline_visibility_off_24)
- else painterResource(id = R.drawable.baseline_visibility_24)
- Icon(
- painter = icon,
- contentDescription = contentDescription,
- )
- }
-}
-
-@Composable
-public fun CopyButton(
- textToCopy: String,
- @StringRes buttonLabelRes: Int,
- modifier: Modifier = Modifier,
-) {
- val clipboard = LocalClipboardManager.current
- IconButton(
- onClick = { clipboard.setText(AnnotatedString(textToCopy)) },
- modifier = modifier,
- ) {
- Icon(
- painter = painterResource(R.drawable.ic_content_copy),
- contentDescription = stringResource(buttonLabelRes),
- )
- }
-}
diff --git a/ui-compose/src/main/kotlin/app/passwordstore/ui/compose/theme/Color.kt b/ui-compose/src/main/kotlin/app/passwordstore/ui/compose/theme/Color.kt
deleted file mode 100644
index 7709d136..00000000
--- a/ui-compose/src/main/kotlin/app/passwordstore/ui/compose/theme/Color.kt
+++ /dev/null
@@ -1,58 +0,0 @@
-package app.passwordstore.ui.compose.theme
-
-import androidx.compose.ui.graphics.Color
-
-internal val md_theme_light_primary = Color(0xFF006591)
-internal val md_theme_light_onPrimary = Color(0xFFffffff)
-internal val md_theme_light_primaryContainer = Color(0xFFc7e6ff)
-internal val md_theme_light_onPrimaryContainer = Color(0xFF001e30)
-internal val md_theme_light_secondary = Color(0xFF4f606e)
-internal val md_theme_light_onSecondary = Color(0xFFffffff)
-internal val md_theme_light_secondaryContainer = Color(0xFFd3e5f5)
-internal val md_theme_light_onSecondaryContainer = Color(0xFF0b1d29)
-internal val md_theme_light_tertiary = Color(0xFF006494)
-internal val md_theme_light_onTertiary = Color(0xFFffffff)
-internal val md_theme_light_tertiaryContainer = Color(0xFFc8e6ff)
-internal val md_theme_light_onTertiaryContainer = Color(0xFF001e31)
-internal val md_theme_light_error = Color(0xFFba1b1b)
-internal val md_theme_light_errorContainer = Color(0xFFffdad4)
-internal val md_theme_light_onError = Color(0xFFffffff)
-internal val md_theme_light_onErrorContainer = Color(0xFF410001)
-internal val md_theme_light_background = Color(0xFFfcfcff)
-internal val md_theme_light_onBackground = Color(0xFF1a1c1e)
-internal val md_theme_light_surface = Color(0xFFfcfcff)
-internal val md_theme_light_onSurface = Color(0xFF1a1c1e)
-internal val md_theme_light_surfaceVariant = Color(0xFFdde3ea)
-internal val md_theme_light_onSurfaceVariant = Color(0xFF41474d)
-internal val md_theme_light_outline = Color(0xFF72787e)
-internal val md_theme_light_inverseOnSurface = Color(0xFFf0f0f3)
-internal val md_theme_light_inverseSurface = Color(0xFF2e3133)
-
-internal val md_theme_dark_primary = Color(0xFF85ceff)
-internal val md_theme_dark_onPrimary = Color(0xFF00344e)
-internal val md_theme_dark_primaryContainer = Color(0xFF004c6f)
-internal val md_theme_dark_onPrimaryContainer = Color(0xFFc7e6ff)
-internal val md_theme_dark_secondary = Color(0xFFb7c9d9)
-internal val md_theme_dark_onSecondary = Color(0xFF21323e)
-internal val md_theme_dark_secondaryContainer = Color(0xFF384956)
-internal val md_theme_dark_onSecondaryContainer = Color(0xFFd3e5f5)
-internal val md_theme_dark_tertiary = Color(0xFF8aceff)
-internal val md_theme_dark_onTertiary = Color(0xFF003450)
-internal val md_theme_dark_tertiaryContainer = Color(0xFF004b70)
-internal val md_theme_dark_onTertiaryContainer = Color(0xFFc8e6ff)
-internal val md_theme_dark_error = Color(0xFFffb4a9)
-internal val md_theme_dark_errorContainer = Color(0xFF930006)
-internal val md_theme_dark_onError = Color(0xFF680003)
-internal val md_theme_dark_onErrorContainer = Color(0xFFffdad4)
-internal val md_theme_dark_background = Color(0xFF1a1c1e)
-internal val md_theme_dark_onBackground = Color(0xFFe1e2e5)
-internal val md_theme_dark_surface = Color(0xFF1a1c1e)
-internal val md_theme_dark_onSurface = Color(0xFFe1e2e5)
-internal val md_theme_dark_surfaceVariant = Color(0xFF41474d)
-internal val md_theme_dark_onSurfaceVariant = Color(0xFFc1c7ce)
-internal val md_theme_dark_outline = Color(0xFF8b9197)
-internal val md_theme_dark_inverseOnSurface = Color(0xFF1a1c1e)
-internal val md_theme_dark_inverseSurface = Color(0xFFe1e2e5)
-
-internal val seed = Color(0xFF003e5b)
-internal val error = Color(0xFFba1b1b)
diff --git a/ui-compose/src/main/kotlin/app/passwordstore/ui/compose/theme/Theme.kt b/ui-compose/src/main/kotlin/app/passwordstore/ui/compose/theme/Theme.kt
deleted file mode 100644
index b11aa7c1..00000000
--- a/ui-compose/src/main/kotlin/app/passwordstore/ui/compose/theme/Theme.kt
+++ /dev/null
@@ -1,77 +0,0 @@
-package app.passwordstore.ui.compose.theme
-
-import androidx.compose.material3.ColorScheme
-import androidx.compose.material3.MaterialTheme
-import androidx.compose.material3.darkColorScheme
-import androidx.compose.material3.lightColorScheme
-import androidx.compose.runtime.Composable
-
-internal val LightThemeColors =
- lightColorScheme(
- primary = md_theme_light_primary,
- onPrimary = md_theme_light_onPrimary,
- primaryContainer = md_theme_light_primaryContainer,
- onPrimaryContainer = md_theme_light_onPrimaryContainer,
- secondary = md_theme_light_secondary,
- onSecondary = md_theme_light_onSecondary,
- secondaryContainer = md_theme_light_secondaryContainer,
- onSecondaryContainer = md_theme_light_onSecondaryContainer,
- tertiary = md_theme_light_tertiary,
- onTertiary = md_theme_light_onTertiary,
- tertiaryContainer = md_theme_light_tertiaryContainer,
- onTertiaryContainer = md_theme_light_onTertiaryContainer,
- error = md_theme_light_error,
- errorContainer = md_theme_light_errorContainer,
- onError = md_theme_light_onError,
- onErrorContainer = md_theme_light_onErrorContainer,
- background = md_theme_light_background,
- onBackground = md_theme_light_onBackground,
- surface = md_theme_light_surface,
- onSurface = md_theme_light_onSurface,
- surfaceVariant = md_theme_light_surfaceVariant,
- onSurfaceVariant = md_theme_light_onSurfaceVariant,
- outline = md_theme_light_outline,
- inverseOnSurface = md_theme_light_inverseOnSurface,
- inverseSurface = md_theme_light_inverseSurface,
- )
-internal val DarkThemeColors =
- darkColorScheme(
- primary = md_theme_dark_primary,
- onPrimary = md_theme_dark_onPrimary,
- primaryContainer = md_theme_dark_primaryContainer,
- onPrimaryContainer = md_theme_dark_onPrimaryContainer,
- secondary = md_theme_dark_secondary,
- onSecondary = md_theme_dark_onSecondary,
- secondaryContainer = md_theme_dark_secondaryContainer,
- onSecondaryContainer = md_theme_dark_onSecondaryContainer,
- tertiary = md_theme_dark_tertiary,
- onTertiary = md_theme_dark_onTertiary,
- tertiaryContainer = md_theme_dark_tertiaryContainer,
- onTertiaryContainer = md_theme_dark_onTertiaryContainer,
- error = md_theme_dark_error,
- errorContainer = md_theme_dark_errorContainer,
- onError = md_theme_dark_onError,
- onErrorContainer = md_theme_dark_onErrorContainer,
- background = md_theme_dark_background,
- onBackground = md_theme_dark_onBackground,
- surface = md_theme_dark_surface,
- onSurface = md_theme_dark_onSurface,
- surfaceVariant = md_theme_dark_surfaceVariant,
- onSurfaceVariant = md_theme_dark_onSurfaceVariant,
- outline = md_theme_dark_outline,
- inverseOnSurface = md_theme_dark_inverseOnSurface,
- inverseSurface = md_theme_dark_inverseSurface,
- )
-
-@Composable
-public fun APSTheme(
- colors: ColorScheme,
- content: @Composable () -> Unit,
-) {
- MaterialTheme(colorScheme = colors, typography = AppTypography, content = content)
-}
-
-@Composable
-public fun APSThemePreview(content: @Composable () -> Unit) {
- MaterialTheme(colorScheme = LightThemeColors, typography = AppTypography, content = content)
-}
diff --git a/ui-compose/src/main/kotlin/app/passwordstore/ui/compose/theme/Type.kt b/ui-compose/src/main/kotlin/app/passwordstore/ui/compose/theme/Type.kt
deleted file mode 100644
index b9a07d5d..00000000
--- a/ui-compose/src/main/kotlin/app/passwordstore/ui/compose/theme/Type.kt
+++ /dev/null
@@ -1,144 +0,0 @@
-package app.passwordstore.ui.compose.theme
-
-import androidx.compose.material3.Typography
-import androidx.compose.ui.text.TextStyle
-import androidx.compose.ui.text.font.Font
-import androidx.compose.ui.text.font.FontFamily
-import androidx.compose.ui.text.font.FontWeight
-import androidx.compose.ui.unit.sp
-import app.passwordstore.ui.compose.R
-
-internal val Manrope =
- FontFamily(
- Font(R.font.manrope_bold, FontWeight.Bold),
- Font(R.font.manrope_extrabold, FontWeight.ExtraBold),
- Font(R.font.manrope_extralight, FontWeight.ExtraLight),
- Font(R.font.manrope_light, FontWeight.Light),
- Font(R.font.manrope_medium, FontWeight.Medium),
- Font(R.font.manrope_regular, FontWeight.Normal),
- Font(R.font.manrope_semibold, FontWeight.SemiBold),
- )
-
-internal val AppTypography =
- Typography(
- displayLarge =
- TextStyle(
- fontFamily = Manrope,
- fontWeight = FontWeight.W400,
- fontSize = 57.sp,
- lineHeight = 64.sp,
- letterSpacing = (-0.25).sp,
- ),
- displayMedium =
- TextStyle(
- fontFamily = Manrope,
- fontWeight = FontWeight.W400,
- fontSize = 45.sp,
- lineHeight = 52.sp,
- letterSpacing = 0.sp,
- ),
- displaySmall =
- TextStyle(
- fontFamily = Manrope,
- fontWeight = FontWeight.W400,
- fontSize = 36.sp,
- lineHeight = 44.sp,
- letterSpacing = 0.sp,
- ),
- headlineLarge =
- TextStyle(
- fontFamily = Manrope,
- fontWeight = FontWeight.W400,
- fontSize = 32.sp,
- lineHeight = 40.sp,
- letterSpacing = 0.sp,
- ),
- headlineMedium =
- TextStyle(
- fontFamily = Manrope,
- fontWeight = FontWeight.W400,
- fontSize = 28.sp,
- lineHeight = 36.sp,
- letterSpacing = 0.sp,
- ),
- headlineSmall =
- TextStyle(
- fontFamily = Manrope,
- fontWeight = FontWeight.W400,
- fontSize = 24.sp,
- lineHeight = 32.sp,
- letterSpacing = 0.sp,
- ),
- titleLarge =
- TextStyle(
- fontFamily = Manrope,
- fontWeight = FontWeight.W400,
- fontSize = 22.sp,
- lineHeight = 28.sp,
- letterSpacing = 0.sp,
- ),
- titleMedium =
- TextStyle(
- fontFamily = Manrope,
- fontWeight = FontWeight.Medium,
- fontSize = 16.sp,
- lineHeight = 24.sp,
- letterSpacing = 0.1.sp,
- ),
- titleSmall =
- TextStyle(
- fontFamily = Manrope,
- fontWeight = FontWeight.Medium,
- fontSize = 14.sp,
- lineHeight = 20.sp,
- letterSpacing = 0.1.sp,
- ),
- labelLarge =
- TextStyle(
- fontFamily = Manrope,
- fontWeight = FontWeight.Medium,
- fontSize = 14.sp,
- lineHeight = 20.sp,
- letterSpacing = 0.1.sp,
- ),
- bodyLarge =
- TextStyle(
- fontFamily = Manrope,
- fontWeight = FontWeight.W400,
- fontSize = 16.sp,
- lineHeight = 24.sp,
- letterSpacing = 0.5.sp,
- ),
- bodyMedium =
- TextStyle(
- fontFamily = Manrope,
- fontWeight = FontWeight.W400,
- fontSize = 14.sp,
- lineHeight = 20.sp,
- letterSpacing = 0.25.sp,
- ),
- bodySmall =
- TextStyle(
- fontFamily = Manrope,
- fontWeight = FontWeight.W400,
- fontSize = 12.sp,
- lineHeight = 16.sp,
- letterSpacing = 0.4.sp,
- ),
- labelMedium =
- TextStyle(
- fontFamily = Manrope,
- fontWeight = FontWeight.Medium,
- fontSize = 12.sp,
- lineHeight = 16.sp,
- letterSpacing = 0.5.sp,
- ),
- labelSmall =
- TextStyle(
- fontFamily = Manrope,
- fontWeight = FontWeight.Medium,
- fontSize = 11.sp,
- lineHeight = 16.sp,
- letterSpacing = 0.5.sp,
- ),
- )
diff --git a/ui-compose/src/main/kotlin/app/passwordstore/ui/compose/theme/utils.kt b/ui-compose/src/main/kotlin/app/passwordstore/ui/compose/theme/utils.kt
deleted file mode 100644
index 096862dc..00000000
--- a/ui-compose/src/main/kotlin/app/passwordstore/ui/compose/theme/utils.kt
+++ /dev/null
@@ -1,27 +0,0 @@
-package app.passwordstore.ui.compose.theme
-
-import android.content.Context
-import android.os.Build
-import androidx.compose.foundation.isSystemInDarkTheme
-import androidx.compose.material3.ColorScheme
-import androidx.compose.material3.dynamicDarkColorScheme
-import androidx.compose.material3.dynamicLightColorScheme
-import androidx.compose.runtime.Composable
-
-@Composable
-public fun decideColorScheme(context: Context): ColorScheme {
- val isDarkTheme = isSystemInDarkTheme()
- return if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
- if (isDarkTheme) {
- dynamicDarkColorScheme(context)
- } else {
- dynamicLightColorScheme(context)
- }
- } else {
- if (isDarkTheme) {
- DarkThemeColors
- } else {
- LightThemeColors
- }
- }
-}