diff --git a/ui/compose/build.gradle.kts b/ui/compose/build.gradle.kts index 8ede9ad3..7c321cfa 100644 --- a/ui/compose/build.gradle.kts +++ b/ui/compose/build.gradle.kts @@ -24,4 +24,5 @@ dependencies { api(libs.compose.material3) api(libs.compose.ui.core) implementation(libs.androidx.core.ktx) + implementation(libs.compose.ui.tooling) } diff --git a/ui/compose/src/main/kotlin/app/passwordstore/ui/compose/preview/PreviewAnnotations.kt b/ui/compose/src/main/kotlin/app/passwordstore/ui/compose/preview/PreviewAnnotations.kt new file mode 100644 index 00000000..2bde764a --- /dev/null +++ b/ui/compose/src/main/kotlin/app/passwordstore/ui/compose/preview/PreviewAnnotations.kt @@ -0,0 +1,22 @@ +package app.passwordstore.ui.compose.preview + +import android.content.res.Configuration +import androidx.compose.ui.tooling.preview.Preview + +/** + * Multipreview annotation that represents light and dark themes. Add this annotation to a + * composable to render the both themes. + */ +@Preview(uiMode = Configuration.UI_MODE_NIGHT_NO, name = "Light theme") +@Preview(uiMode = Configuration.UI_MODE_NIGHT_YES, name = "Dark theme") +public annotation class ThemePreviews + +/** + * Multipreview annotation that represents various device sizes. Add this annotation to a composable + * to render various devices. + */ +@Preview(name = "phone", device = "spec:shape=Normal,width=360,height=640,unit=dp,dpi=480") +@Preview(name = "landscape", device = "spec:shape=Normal,width=640,height=360,unit=dp,dpi=480") +@Preview(name = "foldable", device = "spec:shape=Normal,width=673,height=841,unit=dp,dpi=480") +@Preview(name = "tablet", device = "spec:shape=Normal,width=1280,height=800,unit=dp,dpi=480") +public annotation class DevicePreviews