SettingsStack.kt

2.0 KB · raw

1package com.peachpasswords.ui.settings23import androidx.compose.ui.graphics.Color4import com.peachpasswords.ui.theme.PeachStackColors56/** The six settings categories, in deck order (Pro on top). */7enum class CardId { Pro, Protection, Vault, Sync, Appearance, Feedback }89/**10 * Static visual identity for one stack card. The [lede] is the only field that11 * changes with vault state, so it's supplied per-render rather than baked in.12 */13data class StackCardSpec(14    val id: CardId,15    val num: String,16    val title: String,17    val icon: StackIcon,18    val bgStart: Color,19    val bgEnd: Color,20    val fg: Color,21)2223val STACK_CARDS: List<StackCardSpec> = listOf(24    StackCardSpec(25        CardId.Pro, "I · FOREVER", "Peach Pro", StackIcon.Spark,26        PeachStackColors.ProBgStart, PeachStackColors.ProBgEnd, PeachStackColors.ProFg,27    ),28    StackCardSpec(29        CardId.Protection, "II · PROTECT", "Protection", StackIcon.Shield,30        PeachStackColors.ProtectBgStart, PeachStackColors.ProtectBgEnd, PeachStackColors.ProtectFg,31    ),32    StackCardSpec(33        CardId.Vault, "III · KEEP", "Vault", StackIcon.Lock,34        PeachStackColors.VaultBgStart, PeachStackColors.VaultBgEnd, PeachStackColors.VaultFg,35    ),36    StackCardSpec(37        CardId.Sync, "IV · ECHO", "Sync", StackIcon.Sync,38        PeachStackColors.SyncBgStart, PeachStackColors.SyncBgEnd, PeachStackColors.SyncFg,39    ),40    StackCardSpec(41        CardId.Appearance, "V · DRESS", "Appearance", StackIcon.Sun,42        PeachStackColors.AppearBgStart, PeachStackColors.AppearBgEnd, PeachStackColors.AppearFg,43    ),44    StackCardSpec(45        CardId.Feedback, "VI · ECHO", "Feedback", StackIcon.Bubble,46        PeachStackColors.FeedbackBgStart, PeachStackColors.FeedbackBgEnd, PeachStackColors.FeedbackFg,47    ),48)4950/** Fan replay order for the Pro celebration — every non-Pro card, then home. */51val CELEBRATION_FAN: List<CardId> =52    listOf(CardId.Protection, CardId.Vault, CardId.Sync, CardId.Appearance, CardId.Feedback)