mirror of
https://github.com/FluxaMedia/fluxa.git
synced 2026-08-05 16:29:07 +00:00
MainActivity kept its own currentDestination alongside FluxaAppHost's internal appState.uiState.destination, with only a one-way sync (external -> internal). Any purely-internal navigation (bottom nav taps, "switch profiles" from Settings) moved appState's destination without MainActivity's copy ever finding out. If a later external navigation call (e.g. profile selection completing) happened to name a destination MainActivity's stale copy already equaled, it was treated as a no-op and silently dropped -- reproducible by going Settings -> Switch profiles -> tapping a profile, which then did nothing. Add a callback that mirrors appState's destination back out to MainActivity whenever it changes internally, and guard the existing external->internal effect so it only re-applies on a genuine change (avoiding a reset loop that would otherwise wipe editingProfile/ selectedDetail/etc. on every round trip). Also account for showProfilePickerSettings in the screen transition key, which was missing and left the profile picker settings screen keyed identically to whatever destination was active underneath it. |
||
|---|---|---|
| .. | ||
| src | ||
| build.gradle.kts | ||