Skip to content

Commit

Permalink
- Refactor: Create PreviewThemeColorsSizes annotation
Browse files Browse the repository at this point in the history
Created a new annotation `PreviewThemeColorsSizes` to combine `PreviewDynamicColors` and `PreviewScreen
Sizes` for easier use in previews. This annotation also includes previews with different dynamic color wallpapers and dark mode.
  • Loading branch information
jacobrein committed Sep 12, 2024
1 parent a7cbd5b commit eee2d77
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,6 @@ import com.programmersbox.uiviews.CurrentSourceRepository
import com.programmersbox.uiviews.R
import com.programmersbox.uiviews.utils.ComponentState
import com.programmersbox.uiviews.utils.InsetSmallTopAppBar
import com.programmersbox.uiviews.utils.LightAndDarkPreviews
import com.programmersbox.uiviews.utils.LocalCurrentSource
import com.programmersbox.uiviews.utils.LocalGenericInfo
import com.programmersbox.uiviews.utils.LocalItemDao
Expand All @@ -70,6 +69,7 @@ import com.programmersbox.uiviews.utils.LocalSettingsHandling
import com.programmersbox.uiviews.utils.LocalSourcesRepository
import com.programmersbox.uiviews.utils.OtakuBannerBox
import com.programmersbox.uiviews.utils.PreviewTheme
import com.programmersbox.uiviews.utils.PreviewThemeColorsSizes
import com.programmersbox.uiviews.utils.ToasterItemsSetup
import com.programmersbox.uiviews.utils.components.InfiniteListHandler
import com.programmersbox.uiviews.utils.components.NoSourcesInstalled
Expand Down Expand Up @@ -253,7 +253,7 @@ fun RecentView(
}
}

@LightAndDarkPreviews
@PreviewThemeColorsSizes
@Composable
private fun RecentPreview() {
PreviewTheme {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,7 @@ import com.programmersbox.uiviews.utils.LocalItemDao
import com.programmersbox.uiviews.utils.LocalSourcesRepository
import com.programmersbox.uiviews.utils.PreferenceSetting
import com.programmersbox.uiviews.utils.PreviewTheme
import com.programmersbox.uiviews.utils.PreviewThemeColorsSizes
import com.programmersbox.uiviews.utils.ShowWhen
import com.programmersbox.uiviews.utils.appVersion
import com.programmersbox.uiviews.utils.components.ListBottomScreen
Expand Down Expand Up @@ -486,7 +487,7 @@ private fun SettingsScreen(
}

@OptIn(ExperimentalMaterial3Api::class)
@LightAndDarkPreviews
@PreviewThemeColorsSizes
@Composable
private fun SettingsPreview() {
PreviewTheme {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,2 +1,23 @@
package com.programmersbox.uiviews.utils

import android.content.res.Configuration.UI_MODE_NIGHT_YES
import android.content.res.Configuration.UI_MODE_TYPE_NORMAL
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.tooling.preview.PreviewLightDark
import androidx.compose.ui.tooling.preview.PreviewScreenSizes
import androidx.compose.ui.tooling.preview.Wallpapers.BLUE_DOMINATED_EXAMPLE
import androidx.compose.ui.tooling.preview.Wallpapers.GREEN_DOMINATED_EXAMPLE
import androidx.compose.ui.tooling.preview.Wallpapers.RED_DOMINATED_EXAMPLE
import androidx.compose.ui.tooling.preview.Wallpapers.YELLOW_DOMINATED_EXAMPLE

@PreviewLightDark
@Preview(name = "Red", wallpaper = RED_DOMINATED_EXAMPLE, group = "dynamic_colors")
@Preview(name = "Blue", wallpaper = BLUE_DOMINATED_EXAMPLE, group = "dynamic_colors")
@Preview(name = "Green", wallpaper = GREEN_DOMINATED_EXAMPLE, group = "dynamic_colors")
@Preview(name = "Yellow", wallpaper = YELLOW_DOMINATED_EXAMPLE, group = "dynamic_colors")
@Preview(name = "Red Dark", wallpaper = RED_DOMINATED_EXAMPLE, uiMode = UI_MODE_NIGHT_YES or UI_MODE_TYPE_NORMAL, group = "dynamic_colors")
@Preview(name = "Blue Dark", wallpaper = BLUE_DOMINATED_EXAMPLE, uiMode = UI_MODE_NIGHT_YES or UI_MODE_TYPE_NORMAL, group = "dynamic_colors")
@Preview(name = "Green Dark", wallpaper = GREEN_DOMINATED_EXAMPLE, uiMode = UI_MODE_NIGHT_YES or UI_MODE_TYPE_NORMAL, group = "dynamic_colors")
@Preview(name = "Yellow Dark", wallpaper = YELLOW_DOMINATED_EXAMPLE, uiMode = UI_MODE_NIGHT_YES or UI_MODE_TYPE_NORMAL, group = "dynamic_colors")
@PreviewScreenSizes
annotation class PreviewThemeColorsSizes

0 comments on commit eee2d77

Please sign in to comment.