diff --git a/app/shared/build.gradle.kts b/app/shared/build.gradle.kts index 84b3650..bba4c50 100644 --- a/app/shared/build.gradle.kts +++ b/app/shared/build.gradle.kts @@ -81,12 +81,6 @@ kotlin { } } - named("desktopMain") { - dependencies { - implementation(libs.os.theme.detector) - } - } - androidMain { dependencies { implementation(libs.androidx.browser) diff --git a/app/shared/src/desktopMain/kotlin/dev/schlaubi/tonbrett/app/ColorScheme.kt b/app/shared/src/desktopMain/kotlin/dev/schlaubi/tonbrett/app/ColorScheme.kt index 56feeb3..eb5b978 100644 --- a/app/shared/src/desktopMain/kotlin/dev/schlaubi/tonbrett/app/ColorScheme.kt +++ b/app/shared/src/desktopMain/kotlin/dev/schlaubi/tonbrett/app/ColorScheme.kt @@ -1,9 +1,11 @@ package dev.schlaubi.tonbrett.app import androidx.compose.runtime.* -import com.jthemedetecor.OsThemeDetector +import kotlinx.coroutines.delay +import kotlinx.coroutines.isActive import org.jetbrains.skiko.SystemTheme import org.jetbrains.skiko.currentSystemTheme +import kotlin.time.Duration.Companion.seconds @Composable actual fun isSystemInDarkMode(): Boolean { @@ -11,17 +13,10 @@ actual fun isSystemInDarkMode(): Boolean { mutableStateOf(currentSystemTheme == SystemTheme.DARK) } - DisposableEffect(Unit) { - val darkThemeListener = { isDarkTheme: Boolean -> - darkTheme = isDarkTheme - } - - val detector = OsThemeDetector.getDetector().apply { - registerListener(darkThemeListener) - } - - onDispose { - detector.removeListener(darkThemeListener) + LaunchedEffect(Unit) { + while (isActive) { + darkTheme = currentSystemTheme == SystemTheme.DARK + delay(1.seconds) } } diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index c9a6d56..2f876f7 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -85,8 +85,6 @@ kotlin-gradle-plugin = { group = "org.jetbrains.kotlin", name = "kotlin-gradle-p android-gradle-plugin = { group = "com.android.tools.build", name = "gradle", version.ref = "android" } -os-theme-detector = { group = "com.github.Dansoftowner", name = "jSystemThemeDetector", version = "3.6" } - [plugins] kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" } kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }