Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
1695106
build: migrate to nav-3 dependencies
OffRange Aug 31, 2026
1d170a6
refactor: replace the core:ui route contract with nav-3 keys
OffRange Aug 31, 2026
c7b6e42
fix: tie the list highlight to the detail pane
OffRange Aug 31, 2026
16c9246
refactor: turn the feature nav graphs into entry providers
OffRange Aug 31, 2026
1720edb
feat: let each destination declare the shell it wants
OffRange Aug 31, 2026
c6ba047
refactor: navigate with NavDisplay and a stack per top level route
OffRange Aug 31, 2026
f7fff33
fix: keep selected item open on screen config change
OffRange Aug 31, 2026
bf7a3bb
refactor: outsource KeyGoNavDisplay
OffRange Aug 31, 2026
f7137ca
chore: migrate deprecated code
OffRange Aug 31, 2026
74afa09
refactor: drop custom NavigationSuiteScaffold
OffRange Aug 31, 2026
420cf7c
refactor: move to state based hide navigation bar
OffRange Aug 31, 2026
dbd0d64
fix: close fab menu when fab not visible
OffRange Aug 31, 2026
51a1ee4
refactor: resolve todo
OffRange Aug 31, 2026
38353bd
refactor: improve openDetail logic and add test for dialog behavior
OffRange Aug 31, 2026
119524f
refactor: set default selected route in KeyGoNavigationWrapper
OffRange Aug 31, 2026
055cce7
build: cleanup deps
OffRange Sep 1, 2026
aa8be7e
refactor: replace autoSelectFirst with openedItemId for improved item…
OffRange Sep 1, 2026
92d69f0
refactor: enhance scroll behavior in NavigationWrapper for improved v…
OffRange Sep 1, 2026
7c49e61
refactor: fix formatting issues in EntryProvider for improved code co…
OffRange Sep 1, 2026
4225cc4
refactor: update remember to rememberSaveable for improved state pres…
OffRange Sep 1, 2026
2bb603a
refactor: update TOTP import handling to preserve encoded characters …
OffRange Sep 1, 2026
afb0311
refactor: replace PendingTotpImport with uri in navigation logic for …
OffRange Sep 1, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 5 additions & 3 deletions app/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -151,12 +151,14 @@ dependencies {
implementation(libs.androidx.ui.graphics)
implementation(libs.androidx.ui.tooling.preview)
implementation(libs.androidx.material3)
implementation(libs.androidx.material3.adaptive.navigation)
implementation(libs.androidx.material3.adaptive.layout)
implementation(libs.androidx.material3.adaptive.navigation.suite)
implementation(libs.androidx.navigation.compose)
implementation(libs.androidx.material3.adaptive.navigation3)
implementation(libs.androidx.navigation3.runtime)
implementation(libs.androidx.navigation3.ui)
implementation(libs.androidx.lifecycle.viewmodel.navigation3)

testImplementation(libs.kotlin.test)
testImplementation(libs.androidx.navigation.testing)
testImplementation(libs.robolectric)
testImplementation(libs.androidx.junit)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,28 +6,31 @@ import androidx.compose.material.icons.filled.Cast
import androidx.compose.material.icons.filled.Home
import androidx.compose.material.icons.filled.Settings
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.navigation3.runtime.NavKey
import de.davis.keygo.R
import de.davis.keygo.core.presentation.model.RouteDestination
import de.davis.keygo.core.ui.RouteDestination as UiRouteDestination
import de.davis.keygo.feature.settings.presentation.SettingsGraphRoute
import de.davis.keygo.feature.settings.presentation.SettingsRoute

/** The navigation bar's destinations. */
enum class AppDestinations(
val route: UiRouteDestination,
val route: NavKey,
@StringRes val label: Int,
val icon: ImageVector,
@StringRes val contentDescription: Int
) {
HOME(RouteDestination.Home.NavGraph, R.string.home, Icons.Default.Home, R.string.home),
HOME(RouteDestination.Home, R.string.home, Icons.Default.Home, R.string.home),
CONNECTIVITY(
RouteDestination.Connectivity,
R.string.connectivity,
Icons.Default.Cast,
R.string.connectivity
),
SETTINGS(
SettingsGraphRoute,
SettingsRoute,
R.string.settings,
Icons.Default.Settings,
R.string.settings
),
}
}

val TopLevelRoutes: Set<NavKey> = AppDestinations.entries.mapTo(LinkedHashSet()) { it.route }
Loading
Loading