VaultSettings.kt

1.5 KB · raw

1package com.peachpasswords.vault23import kotlinx.serialization.Serializable45@Serializable6data class VaultSettings(7    val accentColor: String = "peach",8    val breachMonitoring: Boolean = true,9    val autoLockMinutes: Int? = null,10    val reduceMotion: Boolean = false,11    /** Browser-parity text size: "small" | "medium" | "large". */12    val textSize: String = "medium",13    /** Large-screen layout sizing: "compact" | "auto" | "large". */14    val uiScale: String = "auto",15    /** U1 site icons in lists; off (default) keeps the cleaner initials-only look. */16    val faviconsEnabled: Boolean = false,17    val biometricsEnabled: Boolean = false,18    val trashRetentionDays: Int? = null,19    val sortOrder: String = "url-first",20    /** Keyboard chips and suggestion rows show only "Peach" until tapped. */21    val hideAutofillPreviews: Boolean = false,22    // Default-on for new installs (Peach handles passkey sign-in / creation through23    // the Android Credential Manager). Existing users are not migrated: the stored24    // setting is preserved on load, so anyone who explicitly disabled it stays25    // off until they re-enable it in Settings → Passkeys.26    val passkeyProviderEnabled: Boolean = true,27    val duressConfigured: Boolean = false,28    val shortcuts: Map<String, ShortcutBinding> = emptyMap(),29    val allowScreenshots: Boolean = false,30)3132@Serializable33data class ShortcutBinding(34    val key: String,35    val ctrl: Boolean = false,36    val meta: Boolean = false,37    val shift: Boolean = false,38    val alt: Boolean = false,39)