PeachNav.kt

2.1 KB · raw

1package com.peachpasswords.ui23/**4 * Every navigation destination in the app. [route] is the concrete route used5 * with `navController.navigate(...)`; parameterized destinations expose a6 * `ROUTE` pattern (with `{arg}` placeholders) for registration in the graph.7 */8sealed class PeachNav(val route: String) {9    data object Onboarding : PeachNav("onboarding")10    data object Lock : PeachNav("lock")11    data object VaultList : PeachNav("vault")1213    /** Same list, pre-filtered to notes — the closest Android equivalent to the14     * browser's dedicated secure-notes overlay, reached from the entry-deck15     * chrome's "Notes" action. */16    data object VaultNotes : PeachNav("vault/notes")1718    data class EntryDetail(val id: String) : PeachNav("entry/$id") {19        companion object {20            const val ROUTE = "entry/{id}"21            fun of(id: String) = "entry/$id"22        }23    }2425    data class NotesMode(val id: String) : PeachNav("notes/$id") {26        companion object {27            const val ROUTE = "notes/{id}"28            fun of(id: String) = "notes/$id"29        }30    }3132    data class EntryEdit(val id: String?) : PeachNav("edit?id=${id ?: ""}") {33        companion object {34            const val ROUTE = "edit?id={id}"35            fun of(id: String?) = "edit?id=${id ?: ""}"36        }37    }3839    data object Settings : PeachNav("settings")40    data object CodexGenerate : PeachNav("codex/generate")41    data object CodexRestore : PeachNav("codex/restore")42    data object CodePair : PeachNav("pair/code")43    data object Health : PeachNav("health")44    data object Trash : PeachNav("trash")45    data object Import : PeachNav("import")46    data object Export : PeachNav("export")47    data object Panic : PeachNav("panic")48    data object RecoverySetup : PeachNav("recovery/setup")49    data object RecoveryView : PeachNav("recovery/view")50    data object RecoveryEntry : PeachNav("recovery/entry")5152    /** Check / download / install a newer release from Kepr. */53    data object Update : PeachNav("update")5455    /** Post-update changelog for the version now running, shown once. */56    data object WhatsNew : PeachNav("whatsnew")57}