Skip to content

Commit

Permalink
Update sample
Browse files Browse the repository at this point in the history
  • Loading branch information
alorma committed Jan 10, 2025
1 parent 27751e9 commit e3e5a24
Show file tree
Hide file tree
Showing 15 changed files with 784 additions and 42 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@ import androidx.activity.compose.setContent
import androidx.activity.enableEdgeToEdge
import androidx.compose.material3.dynamicDarkColorScheme
import androidx.compose.material3.dynamicLightColorScheme
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.ui.platform.LocalContext
import theme.ComposeSettingsTheme
import theme.DarkColorScheme
Expand All @@ -22,23 +24,29 @@ class MainActivity : ComponentActivity() {
setContent {
val context: Context = LocalContext.current

val darkModeState = remember { mutableStateOf(false) }

ComposeSettingsTheme(
colorScheme = { darkModeState ->
darkModeState = darkModeState.value,
colorScheme = { darkModeStateValue ->
val isS = Build.VERSION.SDK_INT >= Build.VERSION_CODES.S
if (isS) {
if (darkModeState) {
if (darkModeStateValue) {
dynamicDarkColorScheme(context)
} else {
dynamicLightColorScheme(context)
}
} else if (darkModeState) {
} else if (darkModeStateValue) {
DarkColorScheme
} else {
LightColorScheme
}
},
) {
SampleApp()
SampleApp(
darkModeState = darkModeState.value,
onDarkModeState = { darkModeState.value = it },
)
}
}
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
package com.alorma.compose.settings.sample.shared

import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.ui.window.Window
import androidx.compose.ui.window.application
import theme.ComposeSettingsTheme
Expand All @@ -9,8 +11,14 @@ fun main() = application {
onCloseRequest = ::exitApplication,
title = "Compose Settings - sample",
) {
ComposeSettingsTheme {
SampleApp()
val darkModeState = remember { mutableStateOf(false) }
ComposeSettingsTheme(
darkModeState = darkModeState.value,
) {
SampleApp(
darkModeState = darkModeState.value,
onDarkModeState = { darkModeState.value = it },
)
}
}
}
Original file line number Diff line number Diff line change
@@ -1,14 +1,22 @@
package com.alorma.compose.settings.sample.shared


import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.ui.window.ComposeUIViewController
import platform.UIKit.UIViewController
import theme.ComposeSettingsTheme

fun MainViewController(): UIViewController {
return ComposeUIViewController {
ComposeSettingsTheme {
SampleApp()
val darkModeState = remember { mutableStateOf(false) }
ComposeSettingsTheme(
darkModeState = darkModeState.value,
) {
SampleApp(
darkModeState = darkModeState.value,
onDarkModeState = { darkModeState.value = it },
)
}
}
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
package com.alorma.compose.settings.sample.shared

import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.ui.ExperimentalComposeUiApi
import androidx.compose.ui.window.CanvasBasedWindow
import org.jetbrains.skiko.wasm.onWasmReady
Expand All @@ -12,8 +14,14 @@ fun main() {
title = "Compose Settings - sample",
canvasElementId = "ComposeTarget",
) {
ComposeSettingsTheme {
SampleApp()
val darkModeState = remember { mutableStateOf(false) }
ComposeSettingsTheme(
darkModeState = darkModeState.value,
) {
SampleApp(
darkModeState = darkModeState.value,
onDarkModeState = { darkModeState.value = it },
)
}
}
}
Expand Down
4 changes: 4 additions & 0 deletions samples/shared/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,10 @@ kotlin {
api(compose.material3)

api(compose.components.resources)

implementation(projects.uiBase)
implementation(projects.uiTiles)
implementation(projects.uiTilesExtended)
}

val jsMain by getting {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,38 +1,17 @@
package com.alorma.compose.settings.sample.shared

import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.consumeWindowInsets
import androidx.compose.foundation.layout.padding
import androidx.compose.material3.Button
import androidx.compose.material3.Card
import androidx.compose.material3.ExperimentalMaterial3Api
import androidx.compose.material3.Scaffold
import androidx.compose.material3.Text
import androidx.compose.material3.TopAppBar
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.unit.dp

@OptIn(ExperimentalMaterial3Api::class)
@Composable
fun SampleApp(modifier: Modifier = Modifier) {
Scaffold(
fun SampleApp(
darkModeState: Boolean,
onDarkModeState: (Boolean) -> Unit,
modifier: Modifier = Modifier,
) {
SettingsScreen(
modifier = modifier,
topBar = { TopAppBar(title = { Text(text = "Compose settings") }) },
) { paddingValues ->
Column(
modifier = Modifier
.consumeWindowInsets(paddingValues)
.padding(top = paddingValues.calculateTopPadding()),
) {
Card(modifier = Modifier.padding(24.dp)) {
Column(modifier = Modifier.padding(24.dp)) {
Text(text = "Hello world")
Button(onClick = {}) {
Text(text = "Button")
}
}
}
}
}
darkModeState = darkModeState,
onDarkModeState = onDarkModeState,
)
}
Loading

0 comments on commit e3e5a24

Please sign in to comment.