Skip to content

feat(KMP-3): introduce shared Tab model and adapt SelectedTabContent#173

Open
js-jasinski wants to merge 3 commits into
matejdro:mainfrom
js-jasinski:feat/KMP-3-shared-tab-model
Open

feat(KMP-3): introduce shared Tab model and adapt SelectedTabContent#173
js-jasinski wants to merge 3 commits into
matejdro:mainfrom
js-jasinski:feat/KMP-3-shared-tab-model

Conversation

@js-jasinski

Copy link
Copy Markdown

Replaces the bottom navigation's "compare the current screen key by type" logic with a simple Tab enum (WATCHES, WATCH_APPS, NOTIFICATIONS, TOOLS).

Added a Tab enum and a TabKey interface. The four top-level screen keys (watches, watch apps, notifications, tools) now declare which tab they belong to.
SelectedTabContent now holds the selected Tab instead of the raw screen key.
HomeScreen highlights and switches tabs using Tab values instead of checking screen-key types. A small helper maps each Tab back to its screen key when navigating.
Moved Tab, SelectedTabContent, and LocalSelectedTabContent into commonMain so they can be shared across platforms.

…ugin

Introduces a `library-kmp-module` convention plugin in buildSrc so modules can
target Android and iOS with Compose Multiplatform. Uses the AGP
`com.android.kotlin.multiplatform.library` plugin (avoids the
kotlin.android <-> kotlin.multiplatform conflict) and gates iOS targets to macOS.
Converts common-navigation to a Kotlin Multiplatform module via the
library-kmp-module convention.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant