From 090c3c2017b87a59090c1aeecc71eb7cd1b4d57b Mon Sep 17 00:00:00 2001 From: Harsh Shandilya Date: Fri, 4 Jun 2021 15:46:45 +0530 Subject: [PATCH] all: commonize theming Signed-off-by: Harsh Shandilya --- .../msfjarvis/claw/android/MainActivity.kt | 19 ++++--------------- .../claw/common/posts/LobstersItem.kt | 16 ++++++++++++++-- .../dev/msfjarvis/claw/common}/theme/Theme.kt | 7 +++---- database/build.gradle.kts | 4 +++- desktop/src/jvmMain/kotlin/main.kt | 16 ++++++++++++++-- 5 files changed, 38 insertions(+), 24 deletions(-) rename {android/src/main/java/dev/msfjarvis/claw/android => common/src/commonMain/kotlin/dev/msfjarvis/claw/common}/theme/Theme.kt (79%) diff --git a/android/src/main/java/dev/msfjarvis/claw/android/MainActivity.kt b/android/src/main/java/dev/msfjarvis/claw/android/MainActivity.kt index b12cea61..2274bc07 100644 --- a/android/src/main/java/dev/msfjarvis/claw/android/MainActivity.kt +++ b/android/src/main/java/dev/msfjarvis/claw/android/MainActivity.kt @@ -3,27 +3,16 @@ package dev.msfjarvis.claw.android import android.os.Bundle import androidx.activity.compose.setContent import androidx.appcompat.app.AppCompatActivity -import dev.msfjarvis.claw.android.theme.LobstersTheme +import androidx.compose.foundation.isSystemInDarkTheme import dev.msfjarvis.claw.common.posts.LobstersItem -import dev.msfjarvis.lobsters.data.local.SavedPost - -val TEST_POST = - SavedPost( - shortId = "zqyydb", - title = "k2k20 hackathon report: Bob Beck on LibreSSL progress", - url = "https://undeadly.org/cgi?action=article;sid=20200921105847", - createdAt = "2020-09-21T07:11:14.000-05:00", - commentsUrl = "https://lobste.rs/s/zqyydb/k2k20_hackathon_report_bob_beck_on", - submitterName = "Vigdis", - submitterAvatarUrl = "/404.html", - tags = listOf("openbsd", "linux", "containers", "hack the planet", "no thanks"), - ) +import dev.msfjarvis.claw.common.posts.TEST_POST +import dev.msfjarvis.claw.common.theme.LobstersTheme class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent { - LobstersTheme { + LobstersTheme(darkTheme = isSystemInDarkTheme()) { LobstersItem( post = TEST_POST, isSaved = false, diff --git a/common/src/commonMain/kotlin/dev/msfjarvis/claw/common/posts/LobstersItem.kt b/common/src/commonMain/kotlin/dev/msfjarvis/claw/common/posts/LobstersItem.kt index cc2a5c34..4540079e 100644 --- a/common/src/commonMain/kotlin/dev/msfjarvis/claw/common/posts/LobstersItem.kt +++ b/common/src/commonMain/kotlin/dev/msfjarvis/claw/common/posts/LobstersItem.kt @@ -22,14 +22,26 @@ import androidx.compose.material.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier -import androidx.compose.ui.graphics.Color import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.unit.dp import com.google.accompanist.flowlayout.FlowRow +import dev.msfjarvis.claw.common.theme.titleColor import dev.msfjarvis.lobsters.data.local.SavedPost import io.kamel.image.KamelImage import io.kamel.image.lazyImageResource +val TEST_POST = + SavedPost( + shortId = "zqyydb", + title = "k2k20 hackathon report: Bob Beck on LibreSSL progress", + url = "https://undeadly.org/cgi?action=article;sid=20200921105847", + createdAt = "2020-09-21T07:11:14.000-05:00", + commentsUrl = "https://lobste.rs/s/zqyydb/k2k20_hackathon_report_bob_beck_on", + submitterName = "Vigdis", + submitterAvatarUrl = "/404.html", + tags = listOf("openbsd", "linux", "containers", "hack the planet", "no thanks"), + ) + @Composable fun LobstersItem( post: SavedPost, @@ -84,7 +96,7 @@ fun PostTitle( ) { Text( text = title, - color = Color.Black, + color = titleColor, fontWeight = FontWeight.Bold, modifier = Modifier.then(modifier), ) diff --git a/android/src/main/java/dev/msfjarvis/claw/android/theme/Theme.kt b/common/src/commonMain/kotlin/dev/msfjarvis/claw/common/theme/Theme.kt similarity index 79% rename from android/src/main/java/dev/msfjarvis/claw/android/theme/Theme.kt rename to common/src/commonMain/kotlin/dev/msfjarvis/claw/common/theme/Theme.kt index 57b49a41..f16807e9 100644 --- a/android/src/main/java/dev/msfjarvis/claw/android/theme/Theme.kt +++ b/common/src/commonMain/kotlin/dev/msfjarvis/claw/common/theme/Theme.kt @@ -1,6 +1,5 @@ -package dev.msfjarvis.claw.android.theme +package dev.msfjarvis.claw.common.theme -import androidx.compose.foundation.isSystemInDarkTheme import androidx.compose.material.MaterialTheme import androidx.compose.material.darkColors import androidx.compose.material.lightColors @@ -34,9 +33,9 @@ val darkColors = ) @Composable -fun LobstersTheme(children: @Composable () -> Unit) { +fun LobstersTheme(darkTheme: Boolean, children: @Composable () -> Unit) { MaterialTheme( - colors = if (isSystemInDarkTheme()) darkColors else lightColors, + colors = if (darkTheme) darkColors else lightColors, content = children, ) } diff --git a/database/build.gradle.kts b/database/build.gradle.kts index 957ee5cc..b01ff8b8 100644 --- a/database/build.gradle.kts +++ b/database/build.gradle.kts @@ -14,7 +14,9 @@ kotlin { dependencies { implementation(libs.thirdparty.sqldelight.androidDriver) } } val androidTest by getting - val desktopMain by getting { dependencies { implementation(libs.thirdparty.sqldelight.jvmDriver) } } + val desktopMain by getting { + dependencies { implementation(libs.thirdparty.sqldelight.jvmDriver) } + } val desktopTest by getting { dependencies { implementation(libs.kotlin.coroutines.core) diff --git a/desktop/src/jvmMain/kotlin/main.kt b/desktop/src/jvmMain/kotlin/main.kt index 5204cc1d..a866e9f7 100644 --- a/desktop/src/jvmMain/kotlin/main.kt +++ b/desktop/src/jvmMain/kotlin/main.kt @@ -1,4 +1,16 @@ import androidx.compose.desktop.Window -import dev.msfjarvis.claw.common.App +import dev.msfjarvis.claw.common.posts.LobstersItem +import dev.msfjarvis.claw.common.posts.TEST_POST +import dev.msfjarvis.claw.common.theme.LobstersTheme -fun main() = Window { App() } +fun main() = Window { + LobstersTheme(darkTheme = true) { + LobstersItem( + post = TEST_POST, + isSaved = false, + {}, + {}, + {}, + ) + } +}