My latest jellyfish Android studio doesn't show me preview for Compose mutliplatform composable functions. Here's build.gradle :
sourceSets {
val desktopMain by getting
androidMain.dependencies {
implementation(libs.compose.ui.tooling.preview)
implementation(libs.androidx.activity.compose)
}
commonMain.dependencies {
implementation(compose.runtime)
implementation(compose.foundation)
implementation(compose.material)
implementation(compose.ui)
implementation(compose.components.resources)
implementation(libs.kotlinx.serialization.json)
implementation(compose.components.uiToolingPreview)
implementation(libs.navigation.compose)
implementation(libs.androidx.lifecycle.viewmodel.compose)
}
desktopMain.dependencies {
implementation(compose.desktop.currentOs)
}
}
here's lib.versions.toml :
compose-ui-tooling-preview = { module = "androidx.compose.ui:ui-tooling-preview", version.ref = "compose" }
here's my code :
@Composable
fun MainMenuContent(
viewState: MainMenuState
) {
Column {
repeat(5) {
Row(
modifier = Modifier.fillMaxWidth(),
horizontalArrangement = Arrangement.SpaceEvenly
) {
IconTextRow(Icons.Rounded.Home, stringResource(Res.string.all_purpose))
IconTextRow(Icons.Rounded.Home, stringResource(Res.string.all_purpose))
IconTextRow(Icons.Rounded.Home, stringResource(Res.string.all_purpose))
}
}
}
}
private class MainMenuParameterProvider : PreviewParameterProvider<MainMenuState> {
override val values: Sequence<MainMenuState>
init {
val defaultState = MainMenuState(isPaid = false)
values = sequenceOf(
defaultState,
defaultState.copy(isPaid = true)
)
}
}
@Preview
@Composable
private fun MainMenuPreview(
@PreviewParameter(MainMenuParameterProvider::class) param: MainMenuState
) {
MaterialTheme {
MainMenuContent(
param
)
}
}
