screen-shell-content-split

Installation
SKILL.md

One screen, several interchangeable looks

The shell collects state, runs the effects, hosts the sheets and dialogs, and owns the gesture state machines. A content composable is handed a snapshot and a set of callbacks and does nothing but render. Adding a look is then a new file plus one branch.

// adapted
val state = PlayerContentState(screenData =, controllerState =, artworkPagerState =,)
val actions = PlayerContentActions(onUIEvent = { vm.onUIEvent(it) }, onShowQueue = { showQueue = true },)
when (style) {
    STYLE_TONAL -> PlayerContentTonal(state = state, actions = actions)
    else -> PlayerContentClassic(state = state, actions = actions)
}

Traps

Installs
2
GitHub Stars
35
First Seen
6 days ago
screen-shell-content-split — maxrave-dev/kotlin-footguns