diff --git a/app/src/main/java/com/jocmp/capyreader/MainActivity.kt b/app/src/main/java/com/jocmp/capyreader/MainActivity.kt index bdf69077..c68091f9 100644 --- a/app/src/main/java/com/jocmp/capyreader/MainActivity.kt +++ b/app/src/main/java/com/jocmp/capyreader/MainActivity.kt @@ -5,10 +5,6 @@ import android.os.StrictMode.ThreadPolicy import android.os.StrictMode.setThreadPolicy import androidx.activity.ComponentActivity import androidx.activity.compose.setContent -import androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveApi -import androidx.compose.material3.adaptive.currentWindowAdaptiveInfo -import androidx.compose.material3.windowsizeclass.ExperimentalMaterial3WindowSizeClassApi -import androidx.compose.material3.windowsizeclass.calculateWindowSizeClass import com.jocmp.capyreader.common.AppPreferences import com.jocmp.capyreader.ui.App import com.jocmp.capyreader.ui.Route diff --git a/app/src/main/java/com/jocmp/capyreader/common/AppPreferences.kt b/app/src/main/java/com/jocmp/capyreader/common/AppPreferences.kt index e5c9a00e..6f69f35a 100644 --- a/app/src/main/java/com/jocmp/capyreader/common/AppPreferences.kt +++ b/app/src/main/java/com/jocmp/capyreader/common/AppPreferences.kt @@ -36,6 +36,9 @@ class AppPreferences(context: Context) { val crashReporting: Preference get() = preferenceStore.getBoolean("enable_crash_reporting", false) + val theme: Preference + get() = preferenceStore.getEnum("theme", ThemeOption.default) + fun clearAll() { accountID.delete() articleID.delete() diff --git a/app/src/main/java/com/jocmp/capyreader/common/ThemeOption.kt b/app/src/main/java/com/jocmp/capyreader/common/ThemeOption.kt new file mode 100644 index 00000000..8b58ef8d --- /dev/null +++ b/app/src/main/java/com/jocmp/capyreader/common/ThemeOption.kt @@ -0,0 +1,11 @@ +package com.jocmp.capyreader.common + +enum class ThemeOption { + LIGHT, + DARK, + SYSTEM_DEFAULT; + + companion object { + val default = SYSTEM_DEFAULT + } +} diff --git a/app/src/main/java/com/jocmp/capyreader/ui/accounts/LoginView.kt b/app/src/main/java/com/jocmp/capyreader/ui/accounts/LoginView.kt index bed18cfe..b6187174 100644 --- a/app/src/main/java/com/jocmp/capyreader/ui/accounts/LoginView.kt +++ b/app/src/main/java/com/jocmp/capyreader/ui/accounts/LoginView.kt @@ -6,7 +6,6 @@ import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.padding -import androidx.compose.foundation.layout.widthIn import androidx.compose.material3.MaterialTheme.typography import androidx.compose.material3.Scaffold import androidx.compose.material3.Text @@ -19,7 +18,7 @@ import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import com.jocmp.capyreader.R import com.jocmp.capyreader.setupCommonModules -import com.jocmp.capyreader.ui.components.CrashReportingCheckbox +import com.jocmp.capyreader.ui.settings.CrashReportingCheckbox import com.jocmp.capyreader.ui.components.widthMaxSingleColumn import org.koin.android.ext.koin.androidContext import org.koin.compose.KoinApplication diff --git a/app/src/main/java/com/jocmp/capyreader/ui/articles/ArticleRow.kt b/app/src/main/java/com/jocmp/capyreader/ui/articles/ArticleRow.kt index 9546072a..a7bcc8d5 100644 --- a/app/src/main/java/com/jocmp/capyreader/ui/articles/ArticleRow.kt +++ b/app/src/main/java/com/jocmp/capyreader/ui/articles/ArticleRow.kt @@ -33,7 +33,6 @@ import com.jocmp.capy.Article import com.jocmp.capy.MarkRead import com.jocmp.capyreader.R import com.jocmp.capyreader.ui.articles.list.ArticleActionBottomSheet -import com.jocmp.capyreader.ui.components.relativeTime import com.jocmp.capyreader.ui.fixtures.ArticleSample import com.jocmp.capyreader.ui.theme.CapyTheme import java.net.URL diff --git a/app/src/main/java/com/jocmp/capyreader/ui/articles/ArticleScreenViewModel.kt b/app/src/main/java/com/jocmp/capyreader/ui/articles/ArticleScreenViewModel.kt index 0de876de..d75dd355 100644 --- a/app/src/main/java/com/jocmp/capyreader/ui/articles/ArticleScreenViewModel.kt +++ b/app/src/main/java/com/jocmp/capyreader/ui/articles/ArticleScreenViewModel.kt @@ -2,7 +2,6 @@ package com.jocmp.capyreader.ui.articles import android.app.Application import android.content.Context -import android.util.Log import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.setValue diff --git a/app/src/main/java/com/jocmp/capyreader/ui/components/RelativeTime.kt b/app/src/main/java/com/jocmp/capyreader/ui/articles/RelativeTime.kt similarity index 96% rename from app/src/main/java/com/jocmp/capyreader/ui/components/RelativeTime.kt rename to app/src/main/java/com/jocmp/capyreader/ui/articles/RelativeTime.kt index c030e98b..9c8d5a1c 100644 --- a/app/src/main/java/com/jocmp/capyreader/ui/components/RelativeTime.kt +++ b/app/src/main/java/com/jocmp/capyreader/ui/articles/RelativeTime.kt @@ -1,4 +1,4 @@ -package com.jocmp.capyreader.ui.components +package com.jocmp.capyreader.ui.articles import androidx.compose.runtime.Composable import androidx.compose.ui.res.stringResource diff --git a/app/src/main/java/com/jocmp/capyreader/ui/components/CrashReportingCheckbox.kt b/app/src/main/java/com/jocmp/capyreader/ui/settings/CrashReportingCheckbox.kt similarity index 97% rename from app/src/main/java/com/jocmp/capyreader/ui/components/CrashReportingCheckbox.kt rename to app/src/main/java/com/jocmp/capyreader/ui/settings/CrashReportingCheckbox.kt index 4da52639..95439609 100644 --- a/app/src/main/java/com/jocmp/capyreader/ui/components/CrashReportingCheckbox.kt +++ b/app/src/main/java/com/jocmp/capyreader/ui/settings/CrashReportingCheckbox.kt @@ -1,4 +1,4 @@ -package com.jocmp.capyreader.ui.components +package com.jocmp.capyreader.ui.settings import androidx.compose.foundation.layout.Row import androidx.compose.material3.Checkbox diff --git a/app/src/main/java/com/jocmp/capyreader/ui/settings/SettingsView.kt b/app/src/main/java/com/jocmp/capyreader/ui/settings/SettingsView.kt index 62f9ed4f..e8e040c4 100644 --- a/app/src/main/java/com/jocmp/capyreader/ui/settings/SettingsView.kt +++ b/app/src/main/java/com/jocmp/capyreader/ui/settings/SettingsView.kt @@ -36,7 +36,6 @@ import androidx.compose.ui.unit.sp import com.jocmp.capyreader.R import com.jocmp.capyreader.refresher.RefreshInterval import com.jocmp.capyreader.setupCommonModules -import com.jocmp.capyreader.ui.components.CrashReportingCheckbox import com.jocmp.capyreader.ui.isCompact import org.koin.android.ext.koin.androidContext import org.koin.compose.KoinApplication diff --git a/app/src/main/java/com/jocmp/capyreader/ui/settings/ThemePicker.kt b/app/src/main/java/com/jocmp/capyreader/ui/settings/ThemePicker.kt new file mode 100644 index 00000000..9db46d6b --- /dev/null +++ b/app/src/main/java/com/jocmp/capyreader/ui/settings/ThemePicker.kt @@ -0,0 +1,8 @@ +package com.jocmp.capyreader.ui.settings + +import androidx.compose.runtime.Composable + +@Composable +fun ThemePicker() { + +}