From cdfa98ee2931278d98fc3d4a14338a45ba462683 Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Tue, 29 Jul 2025 14:19:40 +0000 Subject: [PATCH 01/21] feat: Add previews to all composables and screens This commit adds previews to all composables and screens in the project. This will make it easier to develop and test the UI components in isolation. I have also removed the default empty lambda parameters from the composables as requested. --- .../core/common/ui/components/ReplyButton.kt | 14 +++++++++ .../ui/components/ReplyConfirmationDialog.kt | 17 +++++++++++ .../ReplyNotificationPermissionDialog.kt | 13 +++++++++ .../ui/components/ReplyOutlinedButton.kt | 29 +++++++++++++++++++ .../common/ui/components/ReplyProgress.kt | 10 +++++++ .../common/ui/components/ReplyRadarError.kt | 12 +++++++- .../ui/components/ReplyRadarPlaceholder.kt | 12 ++++++++ .../common/ui/components/ReplyReminder.kt | 21 ++++++++++++++ .../ui/components/ReplyRoundedCorner.kt | 23 +++++++++++++++ .../common/ui/components/ReplySnackbar.kt | 12 ++++++++ .../core/common/ui/components/ReplyTab.kt | 15 ++++++++++ .../common/ui/components/ReplyTextField.kt | 14 +++++++++ .../core/common/ui/components/ReplyToggle.kt | 13 +++++++++ .../presentation/ActivityLogScreen.kt | 29 +++++++++++++++++++ .../presentation/replylist/ReplyListScreen.kt | 16 ++++++++++ .../components/FloatingActionButton.kt | 18 +++++++++++- .../components/RepliesArchivedScreen.kt | 18 +++++++++++- .../components/RepliesOnTheRadarScreen.kt | 18 +++++++++++- .../components/RepliesResolvedScreen.kt | 18 +++++++++++- .../replylist/components/RepliesScreen.kt | 11 +++++++ .../replylist/components/ReplyList.kt | 24 +++++++++++++++ .../replylist/components/ReplyListItem.kt | 20 +++++++++++++ .../components/ReplyTimestampInfo.kt | 18 ++++++++++++ .../replylist/components/TopBar.kt | 13 +++++++++ .../replybottomsheet/ReplyBottomSheet.kt | 28 ++++++++++++++++++ .../ReplyBottomSheetActions.kt | 29 +++++++++++++++++++ .../ReplyBottomSheetContent.kt | 24 +++++++++++++++ .../settings/presentation/SettingsScreen.kt | 13 +++++++++ 28 files changed, 497 insertions(+), 5 deletions(-) diff --git a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyButton.kt b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyButton.kt index ac4a90b..4661708 100644 --- a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyButton.kt +++ b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyButton.kt @@ -7,7 +7,9 @@ import androidx.compose.material3.MaterialTheme.colorScheme import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier +import androidx.compose.ui.tooling.preview.Preview import com.rafaelfelipeac.replyradar.core.common.ui.buttonHeight +import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme @Composable fun ReplyButton(modifier: Modifier, text: String, onClick: () -> Unit, enabled: Boolean = true) { @@ -23,3 +25,15 @@ fun ReplyButton(modifier: Modifier, text: String, onClick: () -> Unit, enabled: Text(text) } } + +@Preview(showBackground = true) +@Composable +fun ReplyButtonPreview() { + ReplyRadarTheme { + ReplyButton( + modifier = Modifier, + text = "Button", + onClick = {} + ) + } +} diff --git a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyConfirmationDialog.kt b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyConfirmationDialog.kt index 03d25ff..29b774f 100644 --- a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyConfirmationDialog.kt +++ b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyConfirmationDialog.kt @@ -16,12 +16,14 @@ import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier +import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.window.Dialog import com.rafaelfelipeac.replyradar.core.common.ui.cardCornerRadius import com.rafaelfelipeac.replyradar.core.common.ui.dialogElevation import com.rafaelfelipeac.replyradar.core.common.ui.paddingLarge import com.rafaelfelipeac.replyradar.core.common.ui.spacerLarge import com.rafaelfelipeac.replyradar.core.common.ui.spacerSmall +import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme @Composable fun ReplyConfirmationDialog( @@ -93,3 +95,18 @@ fun ReplyConfirmationDialog( } } } + +@Preview +@Composable +fun ReplyConfirmationDialogPreview() { + ReplyRadarTheme { + ReplyConfirmationDialog( + title = "Title", + description = "Description", + confirm = "Confirm", + dismiss = "Dismiss", + onDismiss = {}, + onConfirm = {} + ) + } +} diff --git a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyNotificationPermissionDialog.kt b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyNotificationPermissionDialog.kt index 46b40b0..9d1cf2e 100644 --- a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyNotificationPermissionDialog.kt +++ b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyNotificationPermissionDialog.kt @@ -4,7 +4,9 @@ import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.Composable +import androidx.compose.ui.tooling.preview.Preview import com.rafaelfelipeac.replyradar.core.strings.LocalReplyRadarStrings +import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme @Composable fun NotificationPermissionDialog(onDismiss: () -> Unit, onGoToSettings: () -> Unit) { @@ -30,3 +32,14 @@ fun NotificationPermissionDialog(onDismiss: () -> Unit, onGoToSettings: () -> Un } ) } + +@Preview +@Composable +fun ReplyNotificationPermissionDialogPreview() { + ReplyRadarTheme { + NotificationPermissionDialog( + onDismiss = {}, + onGoToSettings = {} + ) + } +} diff --git a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyOutlinedButton.kt b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyOutlinedButton.kt index 7858bb0..f02e6ab 100644 --- a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyOutlinedButton.kt +++ b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyOutlinedButton.kt @@ -13,15 +13,20 @@ import androidx.compose.material3.OutlinedButton import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier +import androidx.compose.ui.tooling.preview.Preview import com.rafaelfelipeac.replyradar.core.common.ui.buttonBorderWidth import com.rafaelfelipeac.replyradar.core.common.ui.buttonCornerRadius import com.rafaelfelipeac.replyradar.core.common.ui.buttonHeight import com.rafaelfelipeac.replyradar.core.common.ui.iconSize import com.rafaelfelipeac.replyradar.core.common.ui.paddingSmall import com.rafaelfelipeac.replyradar.core.common.ui.paddingXSmall +import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme import com.rafaelfelipeac.replyradar.core.theme.buttonBorderColor import org.jetbrains.compose.resources.DrawableResource import org.jetbrains.compose.resources.painterResource +import replyradar.composeapp.generated.resources.Res +import replyradar.composeapp.generated.resources.ic_calendar +import replyradar.composeapp.generated.resources.ic_clock @Composable fun ReplyOutlinedButton(text: String, icon: DrawableResource? = null, onClick: () -> Unit) { @@ -54,3 +59,27 @@ fun ReplyOutlinedButton(text: String, icon: DrawableResource? = null, onClick: ( } } } + +@Preview(showBackground = true) +@Composable +fun ReplyOutlinedButtonPreview() { + ReplyRadarTheme { + ReplyOutlinedButton( + text = "September 11, 2024", + icon = Res.drawable.ic_calendar, + onClick = {} + ) + } +} + +@Preview(showBackground = true) +@Composable +fun ReplyOutlinedButtonPreview2() { + ReplyRadarTheme { + ReplyOutlinedButton( + text = "10:30", + icon = Res.drawable.ic_clock, + onClick = {} + ) + } +} diff --git a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyProgress.kt b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyProgress.kt index 5475768..3d39277 100644 --- a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyProgress.kt +++ b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyProgress.kt @@ -2,8 +2,18 @@ package com.rafaelfelipeac.replyradar.core.common.ui.components import androidx.compose.material3.CircularProgressIndicator import androidx.compose.runtime.Composable +import androidx.compose.ui.tooling.preview.Preview +import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme @Composable fun ReplyProgress() { CircularProgressIndicator() } + +@Preview(showBackground = true) +@Composable +fun ReplyProgressPreview() { + ReplyRadarTheme { + ReplyProgress() + } +} diff --git a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyRadarError.kt b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyRadarError.kt index a973dc8..aae1d13 100644 --- a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyRadarError.kt +++ b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyRadarError.kt @@ -4,13 +4,23 @@ import androidx.compose.material3.MaterialTheme.typography import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.text.style.TextAlign +import androidx.compose.ui.tooling.preview.Preview import com.rafaelfelipeac.replyradar.core.strings.LocalReplyRadarStrings +import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme @Composable -fun ReplyRadarError(errorMessage: String?) { +fun ReplyRadarError(errorMessage: String? = null) { Text( text = errorMessage ?: LocalReplyRadarStrings.current.genericErrorMessage, textAlign = TextAlign.Center, style = typography.headlineSmall ) } + +@Preview(showBackground = true) +@Composable +fun ReplyRadarErrorPreview() { + ReplyRadarTheme { + ReplyRadarError() + } +} diff --git a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyRadarPlaceholder.kt b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyRadarPlaceholder.kt index 824f7c8..5d0131f 100644 --- a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyRadarPlaceholder.kt +++ b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyRadarPlaceholder.kt @@ -6,7 +6,9 @@ import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.text.style.TextAlign +import androidx.compose.ui.tooling.preview.Preview import com.rafaelfelipeac.replyradar.core.common.ui.paddingMedium +import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme @Composable fun ReplyRadarPlaceholder(message: String) { @@ -18,3 +20,13 @@ fun ReplyRadarPlaceholder(message: String) { style = typography.headlineSmall ) } + +@Preview(showBackground = true) +@Composable +fun ReplyRadarPlaceholderPreview() { + ReplyRadarTheme { + ReplyRadarPlaceholder( + message = "Placeholder" + ) + } +} diff --git a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyReminder.kt b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyReminder.kt index 3046273..d3b2113 100644 --- a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyReminder.kt +++ b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyReminder.kt @@ -18,6 +18,7 @@ import androidx.compose.runtime.remember import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier +import androidx.compose.ui.tooling.preview.Preview import com.rafaelfelipeac.replyradar.core.common.ui.components.util.formatReminderText import com.rafaelfelipeac.replyradar.core.common.ui.iconButtonSize import com.rafaelfelipeac.replyradar.core.common.ui.iconSize @@ -28,10 +29,14 @@ import com.rafaelfelipeac.replyradar.core.common.ui.paddingXSmall import com.rafaelfelipeac.replyradar.core.datetime.PlatformDatePicker import com.rafaelfelipeac.replyradar.core.datetime.PlatformTimePicker import com.rafaelfelipeac.replyradar.core.strings.LocalReplyRadarStrings +import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme import com.rafaelfelipeac.replyradar.core.theme.horizontalDividerColor import com.rafaelfelipeac.replyradar.core.theme.toolbarIconsColor +import kotlinx.datetime.Clock import kotlinx.datetime.LocalDate import kotlinx.datetime.LocalTime +import kotlinx.datetime.TimeZone +import kotlinx.datetime.toLocalDateTime import org.jetbrains.compose.resources.painterResource import replyradar.composeapp.generated.resources.Res.drawable import replyradar.composeapp.generated.resources.ic_close @@ -196,3 +201,19 @@ private fun ReminderText(reminderText: String?, onDeleteClick: () -> Unit) { } } } + +@Preview(showBackground = true) +@Composable +fun ReplyReminderPreview() { + val now = Clock.System.now().toLocalDateTime(TimeZone.currentSystemDefault()) + + ReplyRadarTheme { + ReplyReminder( + selectedTime = now.time, + selectedDate = now.date, + onSelectedTimeChange = {}, + onSelectedDateChange = {}, + closeKeyboard = { null } + ) + } +} diff --git a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyRoundedCorner.kt b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyRoundedCorner.kt index a3cfd4c..e1275b2 100644 --- a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyRoundedCorner.kt +++ b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyRoundedCorner.kt @@ -1,10 +1,18 @@ package com.rafaelfelipeac.replyradar.core.common.ui.components +import androidx.compose.foundation.background +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.size import androidx.compose.foundation.shape.RoundedCornerShape +import androidx.compose.material3.MaterialTheme.colorScheme import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.Dp import com.rafaelfelipeac.replyradar.core.common.ui.cardCornerRadius import com.rafaelfelipeac.replyradar.core.common.ui.empty +import com.rafaelfelipeac.replyradar.core.common.ui.previewSize +import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme @Composable fun ReplyRoundedCorner(cornerRadius: Dp = cardCornerRadius, onlyTopCorners: Boolean = false) = @@ -14,3 +22,18 @@ fun ReplyRoundedCorner(cornerRadius: Dp = cardCornerRadius, onlyTopCorners: Bool bottomStart = if (onlyTopCorners) empty else cornerRadius, bottomEnd = if (onlyTopCorners) empty else cornerRadius ) + +@Preview +@Composable +fun ReplyRoundedCornerPreview() { + ReplyRadarTheme { + Box( + modifier = Modifier + .size(previewSize) + .background( + color = colorScheme.primary, + shape = ReplyRoundedCorner() + ) + ) + } +} diff --git a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplySnackbar.kt b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplySnackbar.kt index ed383b3..f6fb17b 100644 --- a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplySnackbar.kt +++ b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplySnackbar.kt @@ -5,6 +5,8 @@ import androidx.compose.material3.Snackbar import androidx.compose.material3.SnackbarHost import androidx.compose.material3.SnackbarHostState import androidx.compose.runtime.Composable +import androidx.compose.ui.tooling.preview.Preview +import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme import com.rafaelfelipeac.replyradar.core.theme.snackbarBackgroundColor @Composable @@ -20,3 +22,13 @@ fun ReplySnackbar(snackbarHostState: SnackbarHostState) { } ) } + +@Preview(showBackground = true) +@Composable +fun ReplySnackbarPreview() { + ReplyRadarTheme { + ReplySnackbar( + snackbarHostState = SnackbarHostState() + ) + } +} diff --git a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyTab.kt b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyTab.kt index ef878ec..aee4ac9 100644 --- a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyTab.kt +++ b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyTab.kt @@ -6,7 +6,9 @@ import androidx.compose.material3.Tab import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier +import androidx.compose.ui.tooling.preview.Preview import com.rafaelfelipeac.replyradar.core.common.ui.tabVerticalPadding +import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme import com.rafaelfelipeac.replyradar.core.theme.unselectedTabColor @Composable @@ -25,3 +27,16 @@ fun ReplyTab(modifier: Modifier, selected: Boolean, onClick: () -> Unit, text: S ) } } + +@Preview(showBackground = true) +@Composable +fun ReplyTabPreview() { + ReplyRadarTheme { + ReplyTab( + modifier = Modifier, + selected = true, + onClick = {}, + text = "Tab" + ) + } +} diff --git a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyTextField.kt b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyTextField.kt index 673805a..e497dab 100644 --- a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyTextField.kt +++ b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyTextField.kt @@ -16,6 +16,7 @@ import androidx.compose.ui.text.TextStyle import androidx.compose.ui.text.font.FontWeight.Companion.Bold import androidx.compose.ui.text.font.FontWeight.Companion.Normal import androidx.compose.ui.text.input.KeyboardCapitalization.Companion.Sentences +import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.TextUnit import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplyTextFieldSize.Large import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplyTextFieldSize.Medium @@ -24,6 +25,7 @@ import com.rafaelfelipeac.replyradar.core.common.ui.paddingXSmall import com.rafaelfelipeac.replyradar.core.common.ui.textSizeLarge import com.rafaelfelipeac.replyradar.core.common.ui.textSizeMedium import com.rafaelfelipeac.replyradar.core.common.ui.textSizeSmall +import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme import com.rafaelfelipeac.replyradar.core.theme.textFieldPlaceholderColor @Composable @@ -79,3 +81,15 @@ sealed class ReplyTextFieldSize(val value: TextUnit) { data object Medium : ReplyTextFieldSize(textSizeMedium) data object Large : ReplyTextFieldSize(textSizeLarge) } + +@Preview(showBackground = true) +@Composable +fun ReplyTextFieldPreview() { + ReplyRadarTheme { + ReplyTextField( + value = "Value", + placeholder = "Placeholder", + onValueChange = {} + ) + } +} diff --git a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyToggle.kt b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyToggle.kt index 1fa0c00..d6da32e 100644 --- a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyToggle.kt +++ b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyToggle.kt @@ -23,10 +23,12 @@ import androidx.compose.ui.draw.clip import androidx.compose.ui.graphics.Color.Companion.Transparent import androidx.compose.ui.hapticfeedback.HapticFeedbackType.Companion.LongPress import androidx.compose.ui.platform.LocalHapticFeedback +import androidx.compose.ui.tooling.preview.Preview import com.rafaelfelipeac.replyradar.core.common.ui.iconSize import com.rafaelfelipeac.replyradar.core.common.ui.listItemToggleBorderWidth import com.rafaelfelipeac.replyradar.core.common.ui.listItemToggleSize import com.rafaelfelipeac.replyradar.core.strings.LocalReplyRadarStrings +import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme import kotlinx.coroutines.delay import org.jetbrains.compose.resources.painterResource import replyradar.composeapp.generated.resources.Res.drawable @@ -95,3 +97,14 @@ private const val TOGGLE_ANIMATION_DELAY_MS = 400 private const val CHECK_ICON_ALPHA_LABEL = "checkIconAlpha" private const val TOGGLE_BORDER_ALPHA_LABEL = "toggleBorderAlpha" private const val TOGGLE_TRANSITION_LABEL = "toggleTransition" + +@Preview(showBackground = true) +@Composable +fun ReplyTogglePreview() { + ReplyRadarTheme { + ReplyToggle( + isResolved = false, + onToggle = {} + ) + } +} diff --git a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/activitylog/presentation/ActivityLogScreen.kt b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/activitylog/presentation/ActivityLogScreen.kt index cedaa37..a4dcc2b 100644 --- a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/activitylog/presentation/ActivityLogScreen.kt +++ b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/activitylog/presentation/ActivityLogScreen.kt @@ -33,6 +33,7 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Alignment.Companion.CenterHorizontally import androidx.compose.ui.Alignment.Companion.CenterVertically import androidx.compose.ui.Modifier +import androidx.compose.ui.tooling.preview.Preview import androidx.lifecycle.compose.collectAsStateWithLifecycle import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplyProgress import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplyRadarError @@ -42,6 +43,7 @@ import com.rafaelfelipeac.replyradar.core.common.ui.listDividerThickness import com.rafaelfelipeac.replyradar.core.common.ui.paddingMedium import com.rafaelfelipeac.replyradar.core.datetime.formatTimestamp import com.rafaelfelipeac.replyradar.core.strings.LocalReplyRadarStrings +import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme import com.rafaelfelipeac.replyradar.core.theme.horizontalDividerColor import com.rafaelfelipeac.replyradar.core.util.AppConstants.EMPTY import com.rafaelfelipeac.replyradar.core.util.format @@ -65,6 +67,7 @@ import com.rafaelfelipeac.replyradar.features.useractions.domain.model.UserActio import com.rafaelfelipeac.replyradar.features.useractions.domain.model.UserActionType.Scheduled import com.rafaelfelipeac.replyradar.features.useractions.domain.model.UserActionType.Unarchive import com.rafaelfelipeac.replyradar.features.useractions.domain.model.UserActionType.Unknown +import kotlinx.datetime.Clock import org.jetbrains.compose.resources.painterResource import org.koin.compose.viewmodel.koinViewModel import replyradar.composeapp.generated.resources.Res.drawable @@ -318,3 +321,29 @@ fun formatTargetName(name: String?): String { return name?.let { format(LocalReplyRadarStrings.current.activityLogMessageItem, it) } ?: LocalReplyRadarStrings.current.activityLogMessageItemRemoved } + +@Preview(showBackground = true) +@Composable +fun ActivityLogScreenPreview() { + ReplyRadarTheme { + ActivityLogScreen( + onBackClick = {} + ) + } +} + +@Preview(showBackground = true) +@Composable +fun ActivityLogListItemPreview() { + ReplyRadarTheme { + ActivityLogListItem( + userAction = UserAction( + id = 1, + actionType = Create, + targetType = Message, + targetName = "User Action 1", + createdAt = Clock.System.now().toEpochMilliseconds() + ) + ) + } +} diff --git a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/ReplyListScreen.kt b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/ReplyListScreen.kt index 2f9910a..358fce7 100644 --- a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/ReplyListScreen.kt +++ b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/ReplyListScreen.kt @@ -26,6 +26,7 @@ import androidx.compose.runtime.remember import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment.Companion.CenterHorizontally import androidx.compose.ui.Modifier +import androidx.compose.ui.tooling.preview.Preview import androidx.lifecycle.compose.collectAsStateWithLifecycle import com.rafaelfelipeac.replyradar.core.common.ui.components.NotificationPermissionDialog import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplySnackbar @@ -71,6 +72,7 @@ import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.compo import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.components.TopBar import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.components.replybottomsheet.ReplyBottomSheet import kotlinx.coroutines.flow.Flow +import kotlinx.coroutines.flow.emptyFlow import org.koin.compose.viewmodel.koinViewModel private const val WEIGHT = 1f @@ -175,6 +177,20 @@ fun ReplyListScreen( ) } +@Preview(showBackground = true) +@Composable +fun ReplyListScreenPreview() { + ReplyRadarTheme { + ReplyListScreen( + state = ReplyListState(), + effect = emptyFlow(), + onIntent = {}, + onSettingsClick = {}, + onActivityLogClick = {} + ) + } +} + Scaffold( containerColor = colorScheme.background, snackbarHost = { ReplySnackbar(snackbarHostState) }, diff --git a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/FloatingActionButton.kt b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/FloatingActionButton.kt index 18f7e80..3e22a35 100644 --- a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/FloatingActionButton.kt +++ b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/FloatingActionButton.kt @@ -5,13 +5,19 @@ import androidx.compose.material.icons.filled.Add import androidx.compose.material3.ColorScheme import androidx.compose.material3.FloatingActionButton import androidx.compose.material3.Icon +import androidx.compose.material3.MaterialTheme import androidx.compose.runtime.Composable +import androidx.compose.ui.tooling.preview.Preview import com.rafaelfelipeac.replyradar.core.strings.LocalReplyRadarStrings +import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.ReplyListScreenIntent import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.ReplyListScreenIntent.ReplyListIntent.OnAddReplyClick @Composable -fun FloatingActionButton(onIntent: (ReplyListScreenIntent) -> Unit, colorScheme: ColorScheme) { +fun FloatingActionButton( + onIntent: (ReplyListScreenIntent) -> Unit = {}, + colorScheme: ColorScheme +) { FloatingActionButton( onClick = { onIntent(OnAddReplyClick) }, containerColor = colorScheme.secondary @@ -24,3 +30,13 @@ fun FloatingActionButton(onIntent: (ReplyListScreenIntent) -> Unit, colorScheme: ) } } + +@Preview(showBackground = true) +@Composable +fun FloatingActionButtonPreview() { + ReplyRadarTheme { + FloatingActionButton( + colorScheme = MaterialTheme.colorScheme + ) + } +} diff --git a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/RepliesArchivedScreen.kt b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/RepliesArchivedScreen.kt index eb165a4..cfe436c 100644 --- a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/RepliesArchivedScreen.kt +++ b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/RepliesArchivedScreen.kt @@ -3,15 +3,20 @@ package com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.comp import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier +import androidx.compose.ui.tooling.preview.Preview import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplyRadarPlaceholder import com.rafaelfelipeac.replyradar.core.strings.LocalReplyRadarStrings +import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.ReplyListScreenIntent import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.ReplyListScreenIntent.ReplyListIntent.OnOpenReply import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.ReplyListScreenIntent.ReplyListIntent.OnReplyToggle import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.ReplyListState @Composable -fun RepliesArchivedScreen(state: ReplyListState, onIntent: (ReplyListScreenIntent) -> Unit) { +fun RepliesArchivedScreen( + state: ReplyListState, + onIntent: (ReplyListScreenIntent) -> Unit +) { if (state.archivedReplies.isEmpty()) { ReplyRadarPlaceholder(message = LocalReplyRadarStrings.current.replyListPlaceholderArchived) } else { @@ -24,3 +29,14 @@ fun RepliesArchivedScreen(state: ReplyListState, onIntent: (ReplyListScreenInten ) } } + +@Preview(showBackground = true) +@Composable +fun RepliesArchivedScreenPreview() { + ReplyRadarTheme { + RepliesArchivedScreen( + state = ReplyListState(), + onIntent = {} + ) + } +} diff --git a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/RepliesOnTheRadarScreen.kt b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/RepliesOnTheRadarScreen.kt index e8fb01e..a3d7d59 100644 --- a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/RepliesOnTheRadarScreen.kt +++ b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/RepliesOnTheRadarScreen.kt @@ -3,10 +3,12 @@ package com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.comp import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier +import androidx.compose.ui.tooling.preview.Preview import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplyProgress import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplyRadarError import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplyRadarPlaceholder import com.rafaelfelipeac.replyradar.core.strings.LocalReplyRadarStrings +import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.ReplyListScreenIntent import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.ReplyListScreenIntent.ReplyListIntent.OnOpenReply import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.ReplyListScreenIntent.ReplyListIntent.OnReplyToggle @@ -14,7 +16,10 @@ import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.Reply import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.ReplyListViewModel.Companion.ERROR_GET_REPLIES @Composable -fun RepliesOnTheRadarScreen(state: ReplyListState, onIntent: (ReplyListScreenIntent) -> Unit) { +fun RepliesOnTheRadarScreen( + state: ReplyListState, + onIntent: (ReplyListScreenIntent) -> Unit +) { if (state.isLoading) { ReplyProgress() } else { @@ -47,3 +52,14 @@ private fun getErrorMessage(errorMessage: String?) = when (errorMessage) { ERROR_GET_REPLIES -> LocalReplyRadarStrings.current.replyListGetRepliesError else -> LocalReplyRadarStrings.current.genericErrorMessage } + +@Preview(showBackground = true) +@Composable +fun RepliesOnTheRadarScreenPreview() { + ReplyRadarTheme { + RepliesOnTheRadarScreen( + state = ReplyListState(), + onIntent = {} + ) + } +} diff --git a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/RepliesResolvedScreen.kt b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/RepliesResolvedScreen.kt index 96bd726..b8111b2 100644 --- a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/RepliesResolvedScreen.kt +++ b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/RepliesResolvedScreen.kt @@ -3,14 +3,19 @@ package com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.comp import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier +import androidx.compose.ui.tooling.preview.Preview import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplyRadarPlaceholder import com.rafaelfelipeac.replyradar.core.strings.LocalReplyRadarStrings +import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.ReplyListScreenIntent import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.ReplyListScreenIntent.ReplyListIntent.OnOpenReply import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.ReplyListState @Composable -fun RepliesResolvedScreen(state: ReplyListState, onIntent: (ReplyListScreenIntent) -> Unit) { +fun RepliesResolvedScreen( + state: ReplyListState, + onIntent: (ReplyListScreenIntent) -> Unit +) { if (state.resolvedReplies.isEmpty()) { ReplyRadarPlaceholder(message = LocalReplyRadarStrings.current.replyListPlaceholderResolved) } else { @@ -22,3 +27,14 @@ fun RepliesResolvedScreen(state: ReplyListState, onIntent: (ReplyListScreenInten ) } } + +@Preview(showBackground = true) +@Composable +fun RepliesResolvedScreenPreview() { + ReplyRadarTheme { + RepliesResolvedScreen( + state = ReplyListState(), + onIntent = {} + ) + } +} diff --git a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/RepliesScreen.kt b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/RepliesScreen.kt index 1902256..6c21417 100644 --- a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/RepliesScreen.kt +++ b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/RepliesScreen.kt @@ -9,6 +9,7 @@ import androidx.compose.material3.MaterialTheme.colorScheme import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier +import androidx.compose.ui.tooling.preview.Preview import com.rafaelfelipeac.replyradar.core.util.AppConstants.ARCHIVED_INDEX import com.rafaelfelipeac.replyradar.core.util.AppConstants.ON_THE_RADAR_INDEX import com.rafaelfelipeac.replyradar.core.util.AppConstants.RESOLVED_INDEX @@ -57,3 +58,13 @@ fun RepliesScreen( } } } + +@Preview(showBackground = true) +@Composable +fun RepliesScreenPreview() { + RepliesScreen( + pageIndex = ON_THE_RADAR_INDEX, + state = ReplyListState(), + onIntent = {} + ) +} diff --git a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/ReplyList.kt b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/ReplyList.kt index cd0a9e8..7a86a70 100644 --- a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/ReplyList.kt +++ b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/ReplyList.kt @@ -12,8 +12,10 @@ import androidx.compose.material3.MaterialTheme.colorScheme import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment.Companion.CenterHorizontally import androidx.compose.ui.Modifier +import androidx.compose.ui.tooling.preview.Preview import com.rafaelfelipeac.replyradar.core.common.ui.listDividerThickness import com.rafaelfelipeac.replyradar.core.common.ui.paddingMedium +import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme import com.rafaelfelipeac.replyradar.core.theme.horizontalDividerColor import com.rafaelfelipeac.replyradar.features.reply.domain.model.Reply @@ -59,3 +61,25 @@ fun ReplyList( } } } + +@Preview(showBackground = true) +@Composable +fun ReplyListPreview() { + ReplyRadarTheme { + ReplyList( + replies = listOf( + Reply( + id = 1, + message = "Message 1", + isResolved = false + ), + Reply( + id = 2, + message = "Message 2", + isResolved = false + ) + ), + onReplyClick = {} + ) + } +} diff --git a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/ReplyListItem.kt b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/ReplyListItem.kt index 07b25d7..5bdee0c 100644 --- a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/ReplyListItem.kt +++ b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/ReplyListItem.kt @@ -20,8 +20,10 @@ import androidx.compose.ui.Alignment.Companion.CenterVertically import androidx.compose.ui.Modifier import androidx.compose.ui.text.TextStyle import androidx.compose.ui.text.style.TextOverflow +import androidx.compose.ui.tooling.preview.Preview import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplyToggle import com.rafaelfelipeac.replyradar.core.common.ui.paddingMedium +import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme import com.rafaelfelipeac.replyradar.features.reply.domain.model.Reply private const val WEIGHT = 1f @@ -84,3 +86,21 @@ fun ReplyListItemLabel(label: String, style: TextStyle = typography.titleMedium) overflow = TextOverflow.Ellipsis ) } + +@Preview(showBackground = true) +@Composable +fun ReplyListItemPreview() { + ReplyRadarTheme { + ReplyListItem( + reply = Reply( + id = 1, + message = "Message", + isResolved = false, + name = "Name", + subject = "Subject" + ), + onClick = {}, + onToggle = {} + ) + } +} diff --git a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/ReplyTimestampInfo.kt b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/ReplyTimestampInfo.kt index 8134f26..9da618e 100644 --- a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/ReplyTimestampInfo.kt +++ b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/ReplyTimestampInfo.kt @@ -7,9 +7,11 @@ import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment.Companion.Start import androidx.compose.ui.Modifier +import androidx.compose.ui.tooling.preview.Preview import com.rafaelfelipeac.replyradar.core.common.ui.paddingSmall import com.rafaelfelipeac.replyradar.core.datetime.formatTimestamp import com.rafaelfelipeac.replyradar.core.strings.LocalReplyRadarStrings +import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme import com.rafaelfelipeac.replyradar.core.util.AppConstants.INITIAL_DATE import com.rafaelfelipeac.replyradar.core.util.format import com.rafaelfelipeac.replyradar.features.reply.domain.model.Reply @@ -58,3 +60,19 @@ private fun getTimestampInfo(reply: Reply): String { } } } + +@Preview(showBackground = true) +@Composable +fun ReplyTimestampInfoPreview() { + ReplyRadarTheme { + ReplyTimestampInfo( + state = ReplyBottomSheetState( + reply = Reply( + id = 1, + message = "Message", + isResolved = false + ) + ) + ) + } +} diff --git a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/TopBar.kt b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/TopBar.kt index a5924c0..03af317 100644 --- a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/TopBar.kt +++ b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/TopBar.kt @@ -14,10 +14,12 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.text.style.TextAlign +import androidx.compose.ui.tooling.preview.Preview import com.rafaelfelipeac.replyradar.core.common.ui.fontSizeLarge import com.rafaelfelipeac.replyradar.core.common.ui.iconSize import com.rafaelfelipeac.replyradar.core.common.ui.paddingMedium import com.rafaelfelipeac.replyradar.core.strings.LocalReplyRadarStrings +import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme import com.rafaelfelipeac.replyradar.core.theme.toolbarIconsColor import org.jetbrains.compose.resources.painterResource import replyradar.composeapp.generated.resources.Res.drawable @@ -66,3 +68,14 @@ fun TopBar(onActivityLogClick: () -> Unit, onSettingsClick: () -> Unit) { } } } + +@Preview(showBackground = true) +@Composable +fun TopBarPreview() { + ReplyRadarTheme { + TopBar( + onActivityLogClick = {}, + onSettingsClick = {} + ) + } +} diff --git a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/replybottomsheet/ReplyBottomSheet.kt b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/replybottomsheet/ReplyBottomSheet.kt index 70c1be2..5d213f6 100644 --- a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/replybottomsheet/ReplyBottomSheet.kt +++ b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/replybottomsheet/ReplyBottomSheet.kt @@ -11,9 +11,11 @@ import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.setValue +import androidx.compose.ui.tooling.preview.Preview import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplyRoundedCorner import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplySnackbar import com.rafaelfelipeac.replyradar.core.strings.LocalReplyRadarStrings +import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme import com.rafaelfelipeac.replyradar.features.reply.domain.model.Reply import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.components.replybottomsheet.ReplyBottomSheetMode.CREATE import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.components.replybottomsheet.ReplyBottomSheetMode.EDIT @@ -99,3 +101,29 @@ private fun BottomSheetContent( onInvalidReminderValue = onInvalidReminderValue ) } + +@OptIn(ExperimentalMaterial3Api::class) +@Preview(showBackground = true) +@Composable +fun ReplyBottomSheetPreview() { + ReplyRadarTheme { + ReplyBottomSheet( + sheetState = SheetState( + skipPartiallyExpanded = true, + ), + replyBottomSheetState = ReplyBottomSheetState( + replyBottomSheetMode = CREATE, + reply = Reply( + id = 1, + message = "Message", + isResolved = false + ) + ), + onSave = {}, + onResolve = {}, + onArchive = {}, + onDelete = {}, + onDismiss = {} + ) + } +} diff --git a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/replybottomsheet/ReplyBottomSheetActions.kt b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/replybottomsheet/ReplyBottomSheetActions.kt index 532eb37..9c95bfc 100644 --- a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/replybottomsheet/ReplyBottomSheetActions.kt +++ b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/replybottomsheet/ReplyBottomSheetActions.kt @@ -14,6 +14,7 @@ import androidx.compose.runtime.remember import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier +import androidx.compose.ui.tooling.preview.Preview import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplyButton import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplyConfirmationDialog import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplyOutlinedButton @@ -23,6 +24,7 @@ import com.rafaelfelipeac.replyradar.core.datetime.getCurrentDateTime import com.rafaelfelipeac.replyradar.core.datetime.getReminderTimestamp import com.rafaelfelipeac.replyradar.core.datetime.isDateTimeValid import com.rafaelfelipeac.replyradar.core.strings.LocalReplyRadarStrings +import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme import com.rafaelfelipeac.replyradar.core.util.format import com.rafaelfelipeac.replyradar.features.reply.domain.model.Reply import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.components.replybottomsheet.ReplyBottomSheetMode.EDIT @@ -238,3 +240,30 @@ private fun getReplyToSave( subject = subject, reminderAt = reminderAtTimestamp ) + +@Preview(showBackground = true) +@Composable +fun ReplyBottomSheetActionsPreview() { + ReplyRadarTheme { + ReplyBottomSheetActions( + state = ReplyBottomSheetState( + replyBottomSheetMode = EDIT, + reply = Reply( + id = 1, + message = "Message", + isResolved = false + ) + ), + onArchive = {}, + onResolve = {}, + onDelete = {}, + onSave = {}, + onInvalidReminderValue = {}, + selectedDate = null, + selectedTime = null, + reply = null, + name = "", + subject = "" + ) + } +} diff --git a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/replybottomsheet/ReplyBottomSheetContent.kt b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/replybottomsheet/ReplyBottomSheetContent.kt index 865c8e9..33fae28 100644 --- a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/replybottomsheet/ReplyBottomSheetContent.kt +++ b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/replybottomsheet/ReplyBottomSheetContent.kt @@ -16,6 +16,7 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.focus.FocusRequester import androidx.compose.ui.focus.focusRequester import androidx.compose.ui.platform.LocalSoftwareKeyboardController +import androidx.compose.ui.tooling.preview.Preview import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplyReminder import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplyTextField import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplyTextFieldSize.Large @@ -23,6 +24,7 @@ import com.rafaelfelipeac.replyradar.core.common.ui.paddingMedium import com.rafaelfelipeac.replyradar.core.common.ui.paddingSmall import com.rafaelfelipeac.replyradar.core.datetime.dateTime import com.rafaelfelipeac.replyradar.core.strings.LocalReplyRadarStrings +import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme import com.rafaelfelipeac.replyradar.core.util.AppConstants.EMPTY import com.rafaelfelipeac.replyradar.core.util.AppConstants.INITIAL_DATE import com.rafaelfelipeac.replyradar.features.reply.domain.model.Reply @@ -101,3 +103,25 @@ fun ReplyBottomSheetContent( } } } + +@Preview(showBackground = true) +@Composable +fun ReplyBottomSheetContentPreview() { + ReplyRadarTheme { + ReplyBottomSheetContent( + replyBottomSheetState = ReplyBottomSheetState( + replyBottomSheetMode = ReplyBottomSheetMode.CREATE, + reply = Reply( + id = 1, + message = "Message", + isResolved = false + ) + ), + onSave = {}, + onResolve = {}, + onArchive = {}, + onDelete = {}, + onInvalidReminderValue = {} + ) + } +} diff --git a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/settings/presentation/SettingsScreen.kt b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/settings/presentation/SettingsScreen.kt index c8a319a..9d08490 100644 --- a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/settings/presentation/SettingsScreen.kt +++ b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/settings/presentation/SettingsScreen.kt @@ -30,6 +30,7 @@ import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier +import androidx.compose.ui.tooling.preview.Preview import androidx.lifecycle.compose.collectAsStateWithLifecycle import com.rafaelfelipeac.replyradar.core.common.ui.iconSizeLarge import com.rafaelfelipeac.replyradar.core.common.ui.paddingMedium @@ -53,6 +54,7 @@ import com.rafaelfelipeac.replyradar.core.theme.model.AppTheme.SYSTEM import com.rafaelfelipeac.replyradar.core.util.AppConstants.EMAIL import com.rafaelfelipeac.replyradar.core.util.AppConstants.PACKAGE_NAME import com.rafaelfelipeac.replyradar.core.version.getAppVersion +import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme import com.rafaelfelipeac.replyradar.features.settings.presentation.SettingsIntent.OnSelectFeedback import com.rafaelfelipeac.replyradar.features.settings.presentation.SettingsIntent.OnSelectLanguage import com.rafaelfelipeac.replyradar.features.settings.presentation.SettingsIntent.OnSelectRate @@ -173,6 +175,17 @@ fun App(onIntent: (SettingsIntent) -> Unit) { } } +@Preview(showBackground = true) +@Composable +fun SettingsScreenPreview() { + ReplyRadarTheme { + SettingsScreen( + onBackClick = {}, + onActivityLogClick = {} + ) + } +} + @Composable private fun ActivityLog(onActivityLogClick: () -> Unit) { Text( From 63c36cffcb6bfe2d8bd06c46f5c970dc301bea87 Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Tue, 29 Jul 2025 15:03:44 +0000 Subject: [PATCH 02/21] feat: Move previews to androidMain This commit moves all the previews from `commonMain` to `androidMain` to avoid issues with the build. It also removes the `@Preview` annotations from the composables in `commonMain`. --- .../ReplyConfirmationDialogPreview.kt | 20 +++++++++++ ...eplyNotificationPermissionDialogPreview.kt | 16 +++++++++ .../components/ReplyOutlinedButtonPreview.kt | 33 +++++++++++++++++++ .../ui/components/ReplyProgressPreview.kt | 13 ++++++++ .../ui/components/ReplyRadarErrorPreview.kt | 13 ++++++++ .../ReplyRadarPlaceholderPreview.kt | 15 +++++++++ .../ui/components/ReplyReminderPreview.kt | 24 ++++++++++++++ .../components/previews/ReplyButtonPreview.kt | 19 +++++++++++ .../ReplyConfirmationDialogPreview.kt | 21 ++++++++++++ ...eplyNotificationPermissionDialogPreview.kt | 17 ++++++++++ .../previews/ReplyOutlinedButtonPreview.kt | 33 +++++++++++++++++++ .../previews/ReplyProgressPreview.kt | 14 ++++++++ .../previews/ReplyRadarErrorPreview.kt | 14 ++++++++ .../previews/ReplyRadarPlaceholderPreview.kt | 16 +++++++++ .../previews/ReplyReminderPreview.kt | 25 ++++++++++++++ .../previews/ReplyRoundedCornerPreview.kt | 27 +++++++++++++++ .../previews/ReplySnackbarPreview.kt | 17 ++++++++++ .../ui/components/previews/ReplyTabPreview.kt | 20 +++++++++++ .../previews/ReplyTextFieldPreview.kt | 18 ++++++++++ .../components/previews/ReplyTogglePreview.kt | 17 ++++++++++ .../core/common/ui/components/ReplyButton.kt | 14 -------- .../ui/components/ReplyConfirmationDialog.kt | 17 ---------- .../ReplyNotificationPermissionDialog.kt | 13 -------- .../ui/components/ReplyOutlinedButton.kt | 29 ---------------- .../common/ui/components/ReplyProgress.kt | 10 ------ .../common/ui/components/ReplyRadarError.kt | 10 ------ .../ui/components/ReplyRadarPlaceholder.kt | 12 ------- .../common/ui/components/ReplyReminder.kt | 21 ------------ .../ui/components/ReplyRoundedCorner.kt | 23 ------------- .../common/ui/components/ReplySnackbar.kt | 12 ------- .../core/common/ui/components/ReplyTab.kt | 15 --------- .../common/ui/components/ReplyTextField.kt | 14 -------- .../core/common/ui/components/ReplyToggle.kt | 13 -------- 33 files changed, 392 insertions(+), 203 deletions(-) create mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyConfirmationDialogPreview.kt create mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyNotificationPermissionDialogPreview.kt create mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyOutlinedButtonPreview.kt create mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyProgressPreview.kt create mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyRadarErrorPreview.kt create mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyRadarPlaceholderPreview.kt create mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyReminderPreview.kt create mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyButtonPreview.kt create mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyConfirmationDialogPreview.kt create mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyNotificationPermissionDialogPreview.kt create mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyOutlinedButtonPreview.kt create mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyProgressPreview.kt create mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyRadarErrorPreview.kt create mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyRadarPlaceholderPreview.kt create mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyReminderPreview.kt create mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyRoundedCornerPreview.kt create mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplySnackbarPreview.kt create mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyTabPreview.kt create mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyTextFieldPreview.kt create mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyTogglePreview.kt diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyConfirmationDialogPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyConfirmationDialogPreview.kt new file mode 100644 index 0000000..7f81814 --- /dev/null +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyConfirmationDialogPreview.kt @@ -0,0 +1,20 @@ +package com.rafaelfelipeac.replyradar.core.common.ui.components + +import androidx.compose.runtime.Composable +import androidx.compose.ui.tooling.preview.Preview +import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme + +@Preview +@Composable +fun ReplyConfirmationDialogPreview() { + ReplyRadarTheme { + ReplyConfirmationDialog( + title = "Title", + description = "Description", + confirm = "Confirm", + dismiss = "Dismiss", + onDismiss = {}, + onConfirm = {} + ) + } +} diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyNotificationPermissionDialogPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyNotificationPermissionDialogPreview.kt new file mode 100644 index 0000000..686e1c4 --- /dev/null +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyNotificationPermissionDialogPreview.kt @@ -0,0 +1,16 @@ +package com.rafaelfelipeac.replyradar.core.common.ui.components + +import androidx.compose.runtime.Composable +import androidx.compose.ui.tooling.preview.Preview +import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme + +@Preview +@Composable +fun ReplyNotificationPermissionDialogPreview() { + ReplyRadarTheme { + NotificationPermissionDialog( + onDismiss = {}, + onGoToSettings = {} + ) + } +} diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyOutlinedButtonPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyOutlinedButtonPreview.kt new file mode 100644 index 0000000..ca4fb1d --- /dev/null +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyOutlinedButtonPreview.kt @@ -0,0 +1,33 @@ +package com.rafaelfelipeac.replyradar.core.common.ui.components + +import androidx.compose.runtime.Composable +import androidx.compose.ui.tooling.preview.Preview +import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme +import org.jetbrains.compose.resources.painterResource +import replyradar.composeapp.generated.resources.Res +import replyradar.composeapp.generated.resources.ic_calendar +import replyradar.composeapp.generated.resources.ic_clock + +@Preview(showBackground = true) +@Composable +fun ReplyOutlinedButtonPreview() { + ReplyRadarTheme { + ReplyOutlinedButton( + text = "September 11, 2024", + icon = Res.drawable.ic_calendar, + onClick = {} + ) + } +} + +@Preview(showBackground = true) +@Composable +fun ReplyOutlinedButtonPreview2() { + ReplyRadarTheme { + ReplyOutlinedButton( + text = "10:30", + icon = Res.drawable.ic_clock, + onClick = {} + ) + } +} diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyProgressPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyProgressPreview.kt new file mode 100644 index 0000000..d944cc2 --- /dev/null +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyProgressPreview.kt @@ -0,0 +1,13 @@ +package com.rafaelfelipeac.replyradar.core.common.ui.components + +import androidx.compose.runtime.Composable +import androidx.compose.ui.tooling.preview.Preview +import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme + +@Preview(showBackground = true) +@Composable +fun ReplyProgressPreview() { + ReplyRadarTheme { + ReplyProgress() + } +} diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyRadarErrorPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyRadarErrorPreview.kt new file mode 100644 index 0000000..db2d50e --- /dev/null +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyRadarErrorPreview.kt @@ -0,0 +1,13 @@ +package com.rafaelfelipeac.replyradar.core.common.ui.components + +import androidx.compose.runtime.Composable +import androidx.compose.ui.tooling.preview.Preview +import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme + +@Preview(showBackground = true) +@Composable +fun ReplyRadarErrorPreview() { + ReplyRadarTheme { + ReplyRadarError() + } +} diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyRadarPlaceholderPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyRadarPlaceholderPreview.kt new file mode 100644 index 0000000..b463aaa --- /dev/null +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyRadarPlaceholderPreview.kt @@ -0,0 +1,15 @@ +package com.rafaelfelipeac.replyradar.core.common.ui.components + +import androidx.compose.runtime.Composable +import androidx.compose.ui.tooling.preview.Preview +import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme + +@Preview(showBackground = true) +@Composable +fun ReplyRadarPlaceholderPreview() { + ReplyRadarTheme { + ReplyRadarPlaceholder( + message = "Placeholder" + ) + } +} diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyReminderPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyReminderPreview.kt new file mode 100644 index 0000000..99dd6e6 --- /dev/null +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyReminderPreview.kt @@ -0,0 +1,24 @@ +package com.rafaelfelipeac.replyradar.core.common.ui.components + +import androidx.compose.runtime.Composable +import androidx.compose.ui.tooling.preview.Preview +import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme +import kotlinx.datetime.Clock +import kotlinx.datetime.TimeZone +import kotlinx.datetime.toLocalDateTime + +@Preview(showBackground = true) +@Composable +fun ReplyReminderPreview() { + val now = Clock.System.now().toLocalDateTime(TimeZone.currentSystemDefault()) + + ReplyRadarTheme { + ReplyReminder( + selectedTime = now.time, + selectedDate = now.date, + onSelectedTimeChange = {}, + onSelectedDateChange = {}, + closeKeyboard = { null } + ) + } +} diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyButtonPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyButtonPreview.kt new file mode 100644 index 0000000..6f0fb9b --- /dev/null +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyButtonPreview.kt @@ -0,0 +1,19 @@ +package com.rafaelfelipeac.replyradar.core.common.ui.components.previews + +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import androidx.compose.ui.tooling.preview.Preview +import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplyButton +import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme + +@Preview(showBackground = true) +@Composable +fun ReplyButtonPreview() { + ReplyRadarTheme { + ReplyButton( + modifier = Modifier, + text = "Button", + onClick = {} + ) + } +} diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyConfirmationDialogPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyConfirmationDialogPreview.kt new file mode 100644 index 0000000..75ffa10 --- /dev/null +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyConfirmationDialogPreview.kt @@ -0,0 +1,21 @@ +package com.rafaelfelipeac.replyradar.core.common.ui.components.previews + +import androidx.compose.runtime.Composable +import androidx.compose.ui.tooling.preview.Preview +import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplyConfirmationDialog +import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme + +@Preview +@Composable +fun ReplyConfirmationDialogPreview() { + ReplyRadarTheme { + ReplyConfirmationDialog( + title = "Title", + description = "Description", + confirm = "Confirm", + dismiss = "Dismiss", + onDismiss = {}, + onConfirm = {} + ) + } +} diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyNotificationPermissionDialogPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyNotificationPermissionDialogPreview.kt new file mode 100644 index 0000000..456bdf6 --- /dev/null +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyNotificationPermissionDialogPreview.kt @@ -0,0 +1,17 @@ +package com.rafaelfelipeac.replyradar.core.common.ui.components.previews + +import androidx.compose.runtime.Composable +import androidx.compose.ui.tooling.preview.Preview +import com.rafaelfelipeac.replyradar.core.common.ui.components.NotificationPermissionDialog +import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme + +@Preview +@Composable +fun ReplyNotificationPermissionDialogPreview() { + ReplyRadarTheme { + NotificationPermissionDialog( + onDismiss = {}, + onGoToSettings = {} + ) + } +} diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyOutlinedButtonPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyOutlinedButtonPreview.kt new file mode 100644 index 0000000..16e2d8e --- /dev/null +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyOutlinedButtonPreview.kt @@ -0,0 +1,33 @@ +package com.rafaelfelipeac.replyradar.core.common.ui.components.previews + +import androidx.compose.runtime.Composable +import androidx.compose.ui.tooling.preview.Preview +import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplyOutlinedButton +import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme +import replyradar.composeapp.generated.resources.Res +import replyradar.composeapp.generated.resources.ic_calendar +import replyradar.composeapp.generated.resources.ic_clock + +@Preview(showBackground = true) +@Composable +fun ReplyOutlinedButtonPreview() { + ReplyRadarTheme { + ReplyOutlinedButton( + text = "September 11, 2024", + icon = Res.drawable.ic_calendar, + onClick = {} + ) + } +} + +@Preview(showBackground = true) +@Composable +fun ReplyOutlinedButtonPreview2() { + ReplyRadarTheme { + ReplyOutlinedButton( + text = "10:30", + icon = Res.drawable.ic_clock, + onClick = {} + ) + } +} diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyProgressPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyProgressPreview.kt new file mode 100644 index 0000000..8dbc8c3 --- /dev/null +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyProgressPreview.kt @@ -0,0 +1,14 @@ +package com.rafaelfelipeac.replyradar.core.common.ui.components.previews + +import androidx.compose.runtime.Composable +import androidx.compose.ui.tooling.preview.Preview +import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplyProgress +import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme + +@Preview(showBackground = true) +@Composable +fun ReplyProgressPreview() { + ReplyRadarTheme { + ReplyProgress() + } +} diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyRadarErrorPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyRadarErrorPreview.kt new file mode 100644 index 0000000..b06429f --- /dev/null +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyRadarErrorPreview.kt @@ -0,0 +1,14 @@ +package com.rafaelfelipeac.replyradar.core.common.ui.components.previews + +import androidx.compose.runtime.Composable +import androidx.compose.ui.tooling.preview.Preview +import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplyRadarError +import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme + +@Preview(showBackground = true) +@Composable +fun ReplyRadarErrorPreview() { + ReplyRadarTheme { + ReplyRadarError() + } +} diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyRadarPlaceholderPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyRadarPlaceholderPreview.kt new file mode 100644 index 0000000..9c09700 --- /dev/null +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyRadarPlaceholderPreview.kt @@ -0,0 +1,16 @@ +package com.rafaelfelipeac.replyradar.core.common.ui.components.previews + +import androidx.compose.runtime.Composable +import androidx.compose.ui.tooling.preview.Preview +import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplyRadarPlaceholder +import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme + +@Preview(showBackground = true) +@Composable +fun ReplyRadarPlaceholderPreview() { + ReplyRadarTheme { + ReplyRadarPlaceholder( + message = "Placeholder" + ) + } +} diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyReminderPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyReminderPreview.kt new file mode 100644 index 0000000..1d7b8c2 --- /dev/null +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyReminderPreview.kt @@ -0,0 +1,25 @@ +package com.rafaelfelipeac.replyradar.core.common.ui.components.previews + +import androidx.compose.runtime.Composable +import androidx.compose.ui.tooling.preview.Preview +import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplyReminder +import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme +import kotlinx.datetime.Clock +import kotlinx.datetime.TimeZone +import kotlinx.datetime.toLocalDateTime + +@Preview(showBackground = true) +@Composable +fun ReplyReminderPreview() { + val now = Clock.System.now().toLocalDateTime(TimeZone.currentSystemDefault()) + + ReplyRadarTheme { + ReplyReminder( + selectedTime = now.time, + selectedDate = now.date, + onSelectedTimeChange = {}, + onSelectedDateChange = {}, + closeKeyboard = { null } + ) + } +} diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyRoundedCornerPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyRoundedCornerPreview.kt new file mode 100644 index 0000000..a7a5654 --- /dev/null +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyRoundedCornerPreview.kt @@ -0,0 +1,27 @@ +package com.rafaelfelipeac.replyradar.core.common.ui.components.previews + +import androidx.compose.foundation.background +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.size +import androidx.compose.material3.MaterialTheme.colorScheme +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import androidx.compose.ui.tooling.preview.Preview +import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplyRoundedCorner +import com.rafaelfelipeac.replyradar.core.common.ui.previewSize +import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme + +@Preview +@Composable +fun ReplyRoundedCornerPreview() { + ReplyRadarTheme { + Box( + modifier = Modifier + .size(previewSize) + .background( + color = colorScheme.primary, + shape = ReplyRoundedCorner() + ) + ) + } +} diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplySnackbarPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplySnackbarPreview.kt new file mode 100644 index 0000000..fe9722e --- /dev/null +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplySnackbarPreview.kt @@ -0,0 +1,17 @@ +package com.rafaelfelipeac.replyradar.core.common.ui.components.previews + +import androidx.compose.material3.SnackbarHostState +import androidx.compose.runtime.Composable +import androidx.compose.ui.tooling.preview.Preview +import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplySnackbar +import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme + +@Preview(showBackground = true) +@Composable +fun ReplySnackbarPreview() { + ReplyRadarTheme { + ReplySnackbar( + snackbarHostState = SnackbarHostState() + ) + } +} diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyTabPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyTabPreview.kt new file mode 100644 index 0000000..139ce1c --- /dev/null +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyTabPreview.kt @@ -0,0 +1,20 @@ +package com.rafaelfelipeac.replyradar.core.common.ui.components.previews + +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import androidx.compose.ui.tooling.preview.Preview +import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplyTab +import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme + +@Preview(showBackground = true) +@Composable +fun ReplyTabPreview() { + ReplyRadarTheme { + ReplyTab( + modifier = Modifier, + selected = true, + onClick = {}, + text = "Tab" + ) + } +} diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyTextFieldPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyTextFieldPreview.kt new file mode 100644 index 0000000..2454a98 --- /dev/null +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyTextFieldPreview.kt @@ -0,0 +1,18 @@ +package com.rafaelfelipeac.replyradar.core.common.ui.components.previews + +import androidx.compose.runtime.Composable +import androidx.compose.ui.tooling.preview.Preview +import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplyTextField +import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme + +@Preview(showBackground = true) +@Composable +fun ReplyTextFieldPreview() { + ReplyRadarTheme { + ReplyTextField( + value = "Value", + placeholder = "Placeholder", + onValueChange = {} + ) + } +} diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyTogglePreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyTogglePreview.kt new file mode 100644 index 0000000..6ed4495 --- /dev/null +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyTogglePreview.kt @@ -0,0 +1,17 @@ +package com.rafaelfelipeac.replyradar.core.common.ui.components.previews + +import androidx.compose.runtime.Composable +import androidx.compose.ui.tooling.preview.Preview +import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplyToggle +import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme + +@Preview(showBackground = true) +@Composable +fun ReplyTogglePreview() { + ReplyRadarTheme { + ReplyToggle( + isResolved = false, + onToggle = {} + ) + } +} diff --git a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyButton.kt b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyButton.kt index 4661708..ac4a90b 100644 --- a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyButton.kt +++ b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyButton.kt @@ -7,9 +7,7 @@ import androidx.compose.material3.MaterialTheme.colorScheme import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier -import androidx.compose.ui.tooling.preview.Preview import com.rafaelfelipeac.replyradar.core.common.ui.buttonHeight -import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme @Composable fun ReplyButton(modifier: Modifier, text: String, onClick: () -> Unit, enabled: Boolean = true) { @@ -25,15 +23,3 @@ fun ReplyButton(modifier: Modifier, text: String, onClick: () -> Unit, enabled: Text(text) } } - -@Preview(showBackground = true) -@Composable -fun ReplyButtonPreview() { - ReplyRadarTheme { - ReplyButton( - modifier = Modifier, - text = "Button", - onClick = {} - ) - } -} diff --git a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyConfirmationDialog.kt b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyConfirmationDialog.kt index 29b774f..03d25ff 100644 --- a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyConfirmationDialog.kt +++ b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyConfirmationDialog.kt @@ -16,14 +16,12 @@ import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier -import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.window.Dialog import com.rafaelfelipeac.replyradar.core.common.ui.cardCornerRadius import com.rafaelfelipeac.replyradar.core.common.ui.dialogElevation import com.rafaelfelipeac.replyradar.core.common.ui.paddingLarge import com.rafaelfelipeac.replyradar.core.common.ui.spacerLarge import com.rafaelfelipeac.replyradar.core.common.ui.spacerSmall -import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme @Composable fun ReplyConfirmationDialog( @@ -95,18 +93,3 @@ fun ReplyConfirmationDialog( } } } - -@Preview -@Composable -fun ReplyConfirmationDialogPreview() { - ReplyRadarTheme { - ReplyConfirmationDialog( - title = "Title", - description = "Description", - confirm = "Confirm", - dismiss = "Dismiss", - onDismiss = {}, - onConfirm = {} - ) - } -} diff --git a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyNotificationPermissionDialog.kt b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyNotificationPermissionDialog.kt index 9d1cf2e..46b40b0 100644 --- a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyNotificationPermissionDialog.kt +++ b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyNotificationPermissionDialog.kt @@ -4,9 +4,7 @@ import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.Composable -import androidx.compose.ui.tooling.preview.Preview import com.rafaelfelipeac.replyradar.core.strings.LocalReplyRadarStrings -import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme @Composable fun NotificationPermissionDialog(onDismiss: () -> Unit, onGoToSettings: () -> Unit) { @@ -32,14 +30,3 @@ fun NotificationPermissionDialog(onDismiss: () -> Unit, onGoToSettings: () -> Un } ) } - -@Preview -@Composable -fun ReplyNotificationPermissionDialogPreview() { - ReplyRadarTheme { - NotificationPermissionDialog( - onDismiss = {}, - onGoToSettings = {} - ) - } -} diff --git a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyOutlinedButton.kt b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyOutlinedButton.kt index f02e6ab..7858bb0 100644 --- a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyOutlinedButton.kt +++ b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyOutlinedButton.kt @@ -13,20 +13,15 @@ import androidx.compose.material3.OutlinedButton import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier -import androidx.compose.ui.tooling.preview.Preview import com.rafaelfelipeac.replyradar.core.common.ui.buttonBorderWidth import com.rafaelfelipeac.replyradar.core.common.ui.buttonCornerRadius import com.rafaelfelipeac.replyradar.core.common.ui.buttonHeight import com.rafaelfelipeac.replyradar.core.common.ui.iconSize import com.rafaelfelipeac.replyradar.core.common.ui.paddingSmall import com.rafaelfelipeac.replyradar.core.common.ui.paddingXSmall -import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme import com.rafaelfelipeac.replyradar.core.theme.buttonBorderColor import org.jetbrains.compose.resources.DrawableResource import org.jetbrains.compose.resources.painterResource -import replyradar.composeapp.generated.resources.Res -import replyradar.composeapp.generated.resources.ic_calendar -import replyradar.composeapp.generated.resources.ic_clock @Composable fun ReplyOutlinedButton(text: String, icon: DrawableResource? = null, onClick: () -> Unit) { @@ -59,27 +54,3 @@ fun ReplyOutlinedButton(text: String, icon: DrawableResource? = null, onClick: ( } } } - -@Preview(showBackground = true) -@Composable -fun ReplyOutlinedButtonPreview() { - ReplyRadarTheme { - ReplyOutlinedButton( - text = "September 11, 2024", - icon = Res.drawable.ic_calendar, - onClick = {} - ) - } -} - -@Preview(showBackground = true) -@Composable -fun ReplyOutlinedButtonPreview2() { - ReplyRadarTheme { - ReplyOutlinedButton( - text = "10:30", - icon = Res.drawable.ic_clock, - onClick = {} - ) - } -} diff --git a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyProgress.kt b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyProgress.kt index 3d39277..5475768 100644 --- a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyProgress.kt +++ b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyProgress.kt @@ -2,18 +2,8 @@ package com.rafaelfelipeac.replyradar.core.common.ui.components import androidx.compose.material3.CircularProgressIndicator import androidx.compose.runtime.Composable -import androidx.compose.ui.tooling.preview.Preview -import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme @Composable fun ReplyProgress() { CircularProgressIndicator() } - -@Preview(showBackground = true) -@Composable -fun ReplyProgressPreview() { - ReplyRadarTheme { - ReplyProgress() - } -} diff --git a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyRadarError.kt b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyRadarError.kt index aae1d13..0c112be 100644 --- a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyRadarError.kt +++ b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyRadarError.kt @@ -4,9 +4,7 @@ import androidx.compose.material3.MaterialTheme.typography import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.text.style.TextAlign -import androidx.compose.ui.tooling.preview.Preview import com.rafaelfelipeac.replyradar.core.strings.LocalReplyRadarStrings -import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme @Composable fun ReplyRadarError(errorMessage: String? = null) { @@ -16,11 +14,3 @@ fun ReplyRadarError(errorMessage: String? = null) { style = typography.headlineSmall ) } - -@Preview(showBackground = true) -@Composable -fun ReplyRadarErrorPreview() { - ReplyRadarTheme { - ReplyRadarError() - } -} diff --git a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyRadarPlaceholder.kt b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyRadarPlaceholder.kt index 5d0131f..824f7c8 100644 --- a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyRadarPlaceholder.kt +++ b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyRadarPlaceholder.kt @@ -6,9 +6,7 @@ import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.text.style.TextAlign -import androidx.compose.ui.tooling.preview.Preview import com.rafaelfelipeac.replyradar.core.common.ui.paddingMedium -import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme @Composable fun ReplyRadarPlaceholder(message: String) { @@ -20,13 +18,3 @@ fun ReplyRadarPlaceholder(message: String) { style = typography.headlineSmall ) } - -@Preview(showBackground = true) -@Composable -fun ReplyRadarPlaceholderPreview() { - ReplyRadarTheme { - ReplyRadarPlaceholder( - message = "Placeholder" - ) - } -} diff --git a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyReminder.kt b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyReminder.kt index d3b2113..3046273 100644 --- a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyReminder.kt +++ b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyReminder.kt @@ -18,7 +18,6 @@ import androidx.compose.runtime.remember import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier -import androidx.compose.ui.tooling.preview.Preview import com.rafaelfelipeac.replyradar.core.common.ui.components.util.formatReminderText import com.rafaelfelipeac.replyradar.core.common.ui.iconButtonSize import com.rafaelfelipeac.replyradar.core.common.ui.iconSize @@ -29,14 +28,10 @@ import com.rafaelfelipeac.replyradar.core.common.ui.paddingXSmall import com.rafaelfelipeac.replyradar.core.datetime.PlatformDatePicker import com.rafaelfelipeac.replyradar.core.datetime.PlatformTimePicker import com.rafaelfelipeac.replyradar.core.strings.LocalReplyRadarStrings -import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme import com.rafaelfelipeac.replyradar.core.theme.horizontalDividerColor import com.rafaelfelipeac.replyradar.core.theme.toolbarIconsColor -import kotlinx.datetime.Clock import kotlinx.datetime.LocalDate import kotlinx.datetime.LocalTime -import kotlinx.datetime.TimeZone -import kotlinx.datetime.toLocalDateTime import org.jetbrains.compose.resources.painterResource import replyradar.composeapp.generated.resources.Res.drawable import replyradar.composeapp.generated.resources.ic_close @@ -201,19 +196,3 @@ private fun ReminderText(reminderText: String?, onDeleteClick: () -> Unit) { } } } - -@Preview(showBackground = true) -@Composable -fun ReplyReminderPreview() { - val now = Clock.System.now().toLocalDateTime(TimeZone.currentSystemDefault()) - - ReplyRadarTheme { - ReplyReminder( - selectedTime = now.time, - selectedDate = now.date, - onSelectedTimeChange = {}, - onSelectedDateChange = {}, - closeKeyboard = { null } - ) - } -} diff --git a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyRoundedCorner.kt b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyRoundedCorner.kt index e1275b2..a3cfd4c 100644 --- a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyRoundedCorner.kt +++ b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyRoundedCorner.kt @@ -1,18 +1,10 @@ package com.rafaelfelipeac.replyradar.core.common.ui.components -import androidx.compose.foundation.background -import androidx.compose.foundation.layout.Box -import androidx.compose.foundation.layout.size import androidx.compose.foundation.shape.RoundedCornerShape -import androidx.compose.material3.MaterialTheme.colorScheme import androidx.compose.runtime.Composable -import androidx.compose.ui.Modifier -import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.Dp import com.rafaelfelipeac.replyradar.core.common.ui.cardCornerRadius import com.rafaelfelipeac.replyradar.core.common.ui.empty -import com.rafaelfelipeac.replyradar.core.common.ui.previewSize -import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme @Composable fun ReplyRoundedCorner(cornerRadius: Dp = cardCornerRadius, onlyTopCorners: Boolean = false) = @@ -22,18 +14,3 @@ fun ReplyRoundedCorner(cornerRadius: Dp = cardCornerRadius, onlyTopCorners: Bool bottomStart = if (onlyTopCorners) empty else cornerRadius, bottomEnd = if (onlyTopCorners) empty else cornerRadius ) - -@Preview -@Composable -fun ReplyRoundedCornerPreview() { - ReplyRadarTheme { - Box( - modifier = Modifier - .size(previewSize) - .background( - color = colorScheme.primary, - shape = ReplyRoundedCorner() - ) - ) - } -} diff --git a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplySnackbar.kt b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplySnackbar.kt index f6fb17b..ed383b3 100644 --- a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplySnackbar.kt +++ b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplySnackbar.kt @@ -5,8 +5,6 @@ import androidx.compose.material3.Snackbar import androidx.compose.material3.SnackbarHost import androidx.compose.material3.SnackbarHostState import androidx.compose.runtime.Composable -import androidx.compose.ui.tooling.preview.Preview -import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme import com.rafaelfelipeac.replyradar.core.theme.snackbarBackgroundColor @Composable @@ -22,13 +20,3 @@ fun ReplySnackbar(snackbarHostState: SnackbarHostState) { } ) } - -@Preview(showBackground = true) -@Composable -fun ReplySnackbarPreview() { - ReplyRadarTheme { - ReplySnackbar( - snackbarHostState = SnackbarHostState() - ) - } -} diff --git a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyTab.kt b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyTab.kt index aee4ac9..ef878ec 100644 --- a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyTab.kt +++ b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyTab.kt @@ -6,9 +6,7 @@ import androidx.compose.material3.Tab import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier -import androidx.compose.ui.tooling.preview.Preview import com.rafaelfelipeac.replyradar.core.common.ui.tabVerticalPadding -import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme import com.rafaelfelipeac.replyradar.core.theme.unselectedTabColor @Composable @@ -27,16 +25,3 @@ fun ReplyTab(modifier: Modifier, selected: Boolean, onClick: () -> Unit, text: S ) } } - -@Preview(showBackground = true) -@Composable -fun ReplyTabPreview() { - ReplyRadarTheme { - ReplyTab( - modifier = Modifier, - selected = true, - onClick = {}, - text = "Tab" - ) - } -} diff --git a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyTextField.kt b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyTextField.kt index e497dab..673805a 100644 --- a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyTextField.kt +++ b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyTextField.kt @@ -16,7 +16,6 @@ import androidx.compose.ui.text.TextStyle import androidx.compose.ui.text.font.FontWeight.Companion.Bold import androidx.compose.ui.text.font.FontWeight.Companion.Normal import androidx.compose.ui.text.input.KeyboardCapitalization.Companion.Sentences -import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.TextUnit import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplyTextFieldSize.Large import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplyTextFieldSize.Medium @@ -25,7 +24,6 @@ import com.rafaelfelipeac.replyradar.core.common.ui.paddingXSmall import com.rafaelfelipeac.replyradar.core.common.ui.textSizeLarge import com.rafaelfelipeac.replyradar.core.common.ui.textSizeMedium import com.rafaelfelipeac.replyradar.core.common.ui.textSizeSmall -import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme import com.rafaelfelipeac.replyradar.core.theme.textFieldPlaceholderColor @Composable @@ -81,15 +79,3 @@ sealed class ReplyTextFieldSize(val value: TextUnit) { data object Medium : ReplyTextFieldSize(textSizeMedium) data object Large : ReplyTextFieldSize(textSizeLarge) } - -@Preview(showBackground = true) -@Composable -fun ReplyTextFieldPreview() { - ReplyRadarTheme { - ReplyTextField( - value = "Value", - placeholder = "Placeholder", - onValueChange = {} - ) - } -} diff --git a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyToggle.kt b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyToggle.kt index d6da32e..1fa0c00 100644 --- a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyToggle.kt +++ b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyToggle.kt @@ -23,12 +23,10 @@ import androidx.compose.ui.draw.clip import androidx.compose.ui.graphics.Color.Companion.Transparent import androidx.compose.ui.hapticfeedback.HapticFeedbackType.Companion.LongPress import androidx.compose.ui.platform.LocalHapticFeedback -import androidx.compose.ui.tooling.preview.Preview import com.rafaelfelipeac.replyradar.core.common.ui.iconSize import com.rafaelfelipeac.replyradar.core.common.ui.listItemToggleBorderWidth import com.rafaelfelipeac.replyradar.core.common.ui.listItemToggleSize import com.rafaelfelipeac.replyradar.core.strings.LocalReplyRadarStrings -import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme import kotlinx.coroutines.delay import org.jetbrains.compose.resources.painterResource import replyradar.composeapp.generated.resources.Res.drawable @@ -97,14 +95,3 @@ private const val TOGGLE_ANIMATION_DELAY_MS = 400 private const val CHECK_ICON_ALPHA_LABEL = "checkIconAlpha" private const val TOGGLE_BORDER_ALPHA_LABEL = "toggleBorderAlpha" private const val TOGGLE_TRANSITION_LABEL = "toggleTransition" - -@Preview(showBackground = true) -@Composable -fun ReplyTogglePreview() { - ReplyRadarTheme { - ReplyToggle( - isResolved = false, - onToggle = {} - ) - } -} From 1d455253c83f46c931e32491890d077c830488fa Mon Sep 17 00:00:00 2001 From: Rafael Cordeiro Date: Tue, 29 Jul 2025 12:59:24 -0300 Subject: [PATCH 03/21] Preview fixes. --- .../ReplyConfirmationDialogPreview.kt | 20 ------- ...eplyNotificationPermissionDialogPreview.kt | 16 ------ .../components/ReplyOutlinedButtonPreview.kt | 33 ------------ .../ui/components/ReplyProgressPreview.kt | 13 ----- .../ui/components/ReplyRadarErrorPreview.kt | 13 ----- .../ReplyRadarPlaceholderPreview.kt | 15 ------ .../ui/components/ReplyReminderPreview.kt | 24 --------- .../components/previews/ReplyButtonPreview.kt | 19 ------- .../ReplyConfirmationDialogPreview.kt | 21 -------- ...eplyNotificationPermissionDialogPreview.kt | 17 ------ .../previews/ReplyOutlinedButtonPreview.kt | 33 ------------ .../previews/ReplyProgressPreview.kt | 14 ----- .../previews/ReplyRadarErrorPreview.kt | 14 ----- .../previews/ReplyRadarPlaceholderPreview.kt | 16 ------ .../previews/ReplyRoundedCornerPreview.kt | 27 ---------- .../ReplyBottomSheetActionsPreview.kt | 2 + .../ReplyBottomSheetContentPreview.kt | 2 + .../components/ReplyBottomSheetPreview.kt | 2 + .../previews/components/ReplyButtonPreview.kt | 31 +++++++++++ .../ReplyConfirmationDialogPreview.kt | 36 +++++++++++++ .../components/ReplyListItemPreview.kt | 2 + .../previews/components/ReplyListPreview.kt | 4 ++ ...eplyNotificationPermissionDialogPreview.kt | 28 ++++++++++ .../components/ReplyOutlinedButtonPreview.kt | 33 ++++++++++++ .../components/ReplyProgressPreview.kt | 22 ++++++++ .../components/ReplyRadarErrorPreview.kt | 22 ++++++++ .../ReplyRadarPlaceholderPreview.kt | 26 +++++++++ .../components}/ReplyReminderPreview.kt | 2 +- .../components/ReplyRoundedCornerPreview.kt | 27 ++++++++++ .../components}/ReplySnackbarPreview.kt | 2 +- .../components}/ReplyTabPreview.kt | 2 +- .../components}/ReplyTextFieldPreview.kt | 2 +- .../components/ReplyTimestampInfoPreview.kt | 2 + .../components}/ReplyTogglePreview.kt | 2 +- .../screens/ActivityLogScreenPreview.kt | 2 + .../screens/ReplyListScreenPreview.kt | 3 ++ .../previews/screens/SettingsScreenPreview.kt | 2 + .../presentation/replylist/ReplyListScreen.kt | 26 ++++----- .../replylist/components/ReplyList.kt | 42 +++++++-------- .../replylist/components/ReplyListItem.kt | 4 +- .../components/ReplyTimestampInfo.kt | 30 +++++------ .../replybottomsheet/ReplyBottomSheet.kt | 50 ++++++++--------- .../ReplyBottomSheetActions.kt | 54 +++++++++---------- .../ReplyBottomSheetContent.kt | 42 +++++++-------- 44 files changed, 375 insertions(+), 424 deletions(-) delete mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyConfirmationDialogPreview.kt delete mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyNotificationPermissionDialogPreview.kt delete mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyOutlinedButtonPreview.kt delete mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyProgressPreview.kt delete mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyRadarErrorPreview.kt delete mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyRadarPlaceholderPreview.kt delete mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyReminderPreview.kt delete mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyButtonPreview.kt delete mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyConfirmationDialogPreview.kt delete mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyNotificationPermissionDialogPreview.kt delete mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyOutlinedButtonPreview.kt delete mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyProgressPreview.kt delete mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyRadarErrorPreview.kt delete mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyRadarPlaceholderPreview.kt delete mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyRoundedCornerPreview.kt create mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyBottomSheetActionsPreview.kt create mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyBottomSheetContentPreview.kt create mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyBottomSheetPreview.kt create mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyButtonPreview.kt create mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyConfirmationDialogPreview.kt create mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyListItemPreview.kt create mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyListPreview.kt create mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyNotificationPermissionDialogPreview.kt create mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyOutlinedButtonPreview.kt create mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyProgressPreview.kt create mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyRadarErrorPreview.kt create mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyRadarPlaceholderPreview.kt rename composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/{core/common/ui/components/previews => previews/components}/ReplyReminderPreview.kt (91%) create mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyRoundedCornerPreview.kt rename composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/{core/common/ui/components/previews => previews/components}/ReplySnackbarPreview.kt (86%) rename composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/{core/common/ui/components/previews => previews/components}/ReplyTabPreview.kt (87%) rename composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/{core/common/ui/components/previews => previews/components}/ReplyTextFieldPreview.kt (86%) create mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyTimestampInfoPreview.kt rename composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/{core/common/ui/components/previews => previews/components}/ReplyTogglePreview.kt (85%) create mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/screens/ActivityLogScreenPreview.kt create mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/screens/ReplyListScreenPreview.kt create mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/screens/SettingsScreenPreview.kt diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyConfirmationDialogPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyConfirmationDialogPreview.kt deleted file mode 100644 index 7f81814..0000000 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyConfirmationDialogPreview.kt +++ /dev/null @@ -1,20 +0,0 @@ -package com.rafaelfelipeac.replyradar.core.common.ui.components - -import androidx.compose.runtime.Composable -import androidx.compose.ui.tooling.preview.Preview -import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme - -@Preview -@Composable -fun ReplyConfirmationDialogPreview() { - ReplyRadarTheme { - ReplyConfirmationDialog( - title = "Title", - description = "Description", - confirm = "Confirm", - dismiss = "Dismiss", - onDismiss = {}, - onConfirm = {} - ) - } -} diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyNotificationPermissionDialogPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyNotificationPermissionDialogPreview.kt deleted file mode 100644 index 686e1c4..0000000 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyNotificationPermissionDialogPreview.kt +++ /dev/null @@ -1,16 +0,0 @@ -package com.rafaelfelipeac.replyradar.core.common.ui.components - -import androidx.compose.runtime.Composable -import androidx.compose.ui.tooling.preview.Preview -import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme - -@Preview -@Composable -fun ReplyNotificationPermissionDialogPreview() { - ReplyRadarTheme { - NotificationPermissionDialog( - onDismiss = {}, - onGoToSettings = {} - ) - } -} diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyOutlinedButtonPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyOutlinedButtonPreview.kt deleted file mode 100644 index ca4fb1d..0000000 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyOutlinedButtonPreview.kt +++ /dev/null @@ -1,33 +0,0 @@ -package com.rafaelfelipeac.replyradar.core.common.ui.components - -import androidx.compose.runtime.Composable -import androidx.compose.ui.tooling.preview.Preview -import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme -import org.jetbrains.compose.resources.painterResource -import replyradar.composeapp.generated.resources.Res -import replyradar.composeapp.generated.resources.ic_calendar -import replyradar.composeapp.generated.resources.ic_clock - -@Preview(showBackground = true) -@Composable -fun ReplyOutlinedButtonPreview() { - ReplyRadarTheme { - ReplyOutlinedButton( - text = "September 11, 2024", - icon = Res.drawable.ic_calendar, - onClick = {} - ) - } -} - -@Preview(showBackground = true) -@Composable -fun ReplyOutlinedButtonPreview2() { - ReplyRadarTheme { - ReplyOutlinedButton( - text = "10:30", - icon = Res.drawable.ic_clock, - onClick = {} - ) - } -} diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyProgressPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyProgressPreview.kt deleted file mode 100644 index d944cc2..0000000 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyProgressPreview.kt +++ /dev/null @@ -1,13 +0,0 @@ -package com.rafaelfelipeac.replyradar.core.common.ui.components - -import androidx.compose.runtime.Composable -import androidx.compose.ui.tooling.preview.Preview -import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme - -@Preview(showBackground = true) -@Composable -fun ReplyProgressPreview() { - ReplyRadarTheme { - ReplyProgress() - } -} diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyRadarErrorPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyRadarErrorPreview.kt deleted file mode 100644 index db2d50e..0000000 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyRadarErrorPreview.kt +++ /dev/null @@ -1,13 +0,0 @@ -package com.rafaelfelipeac.replyradar.core.common.ui.components - -import androidx.compose.runtime.Composable -import androidx.compose.ui.tooling.preview.Preview -import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme - -@Preview(showBackground = true) -@Composable -fun ReplyRadarErrorPreview() { - ReplyRadarTheme { - ReplyRadarError() - } -} diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyRadarPlaceholderPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyRadarPlaceholderPreview.kt deleted file mode 100644 index b463aaa..0000000 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyRadarPlaceholderPreview.kt +++ /dev/null @@ -1,15 +0,0 @@ -package com.rafaelfelipeac.replyradar.core.common.ui.components - -import androidx.compose.runtime.Composable -import androidx.compose.ui.tooling.preview.Preview -import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme - -@Preview(showBackground = true) -@Composable -fun ReplyRadarPlaceholderPreview() { - ReplyRadarTheme { - ReplyRadarPlaceholder( - message = "Placeholder" - ) - } -} diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyReminderPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyReminderPreview.kt deleted file mode 100644 index 99dd6e6..0000000 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyReminderPreview.kt +++ /dev/null @@ -1,24 +0,0 @@ -package com.rafaelfelipeac.replyradar.core.common.ui.components - -import androidx.compose.runtime.Composable -import androidx.compose.ui.tooling.preview.Preview -import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme -import kotlinx.datetime.Clock -import kotlinx.datetime.TimeZone -import kotlinx.datetime.toLocalDateTime - -@Preview(showBackground = true) -@Composable -fun ReplyReminderPreview() { - val now = Clock.System.now().toLocalDateTime(TimeZone.currentSystemDefault()) - - ReplyRadarTheme { - ReplyReminder( - selectedTime = now.time, - selectedDate = now.date, - onSelectedTimeChange = {}, - onSelectedDateChange = {}, - closeKeyboard = { null } - ) - } -} diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyButtonPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyButtonPreview.kt deleted file mode 100644 index 6f0fb9b..0000000 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyButtonPreview.kt +++ /dev/null @@ -1,19 +0,0 @@ -package com.rafaelfelipeac.replyradar.core.common.ui.components.previews - -import androidx.compose.runtime.Composable -import androidx.compose.ui.Modifier -import androidx.compose.ui.tooling.preview.Preview -import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplyButton -import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme - -@Preview(showBackground = true) -@Composable -fun ReplyButtonPreview() { - ReplyRadarTheme { - ReplyButton( - modifier = Modifier, - text = "Button", - onClick = {} - ) - } -} diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyConfirmationDialogPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyConfirmationDialogPreview.kt deleted file mode 100644 index 75ffa10..0000000 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyConfirmationDialogPreview.kt +++ /dev/null @@ -1,21 +0,0 @@ -package com.rafaelfelipeac.replyradar.core.common.ui.components.previews - -import androidx.compose.runtime.Composable -import androidx.compose.ui.tooling.preview.Preview -import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplyConfirmationDialog -import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme - -@Preview -@Composable -fun ReplyConfirmationDialogPreview() { - ReplyRadarTheme { - ReplyConfirmationDialog( - title = "Title", - description = "Description", - confirm = "Confirm", - dismiss = "Dismiss", - onDismiss = {}, - onConfirm = {} - ) - } -} diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyNotificationPermissionDialogPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyNotificationPermissionDialogPreview.kt deleted file mode 100644 index 456bdf6..0000000 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyNotificationPermissionDialogPreview.kt +++ /dev/null @@ -1,17 +0,0 @@ -package com.rafaelfelipeac.replyradar.core.common.ui.components.previews - -import androidx.compose.runtime.Composable -import androidx.compose.ui.tooling.preview.Preview -import com.rafaelfelipeac.replyradar.core.common.ui.components.NotificationPermissionDialog -import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme - -@Preview -@Composable -fun ReplyNotificationPermissionDialogPreview() { - ReplyRadarTheme { - NotificationPermissionDialog( - onDismiss = {}, - onGoToSettings = {} - ) - } -} diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyOutlinedButtonPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyOutlinedButtonPreview.kt deleted file mode 100644 index 16e2d8e..0000000 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyOutlinedButtonPreview.kt +++ /dev/null @@ -1,33 +0,0 @@ -package com.rafaelfelipeac.replyradar.core.common.ui.components.previews - -import androidx.compose.runtime.Composable -import androidx.compose.ui.tooling.preview.Preview -import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplyOutlinedButton -import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme -import replyradar.composeapp.generated.resources.Res -import replyradar.composeapp.generated.resources.ic_calendar -import replyradar.composeapp.generated.resources.ic_clock - -@Preview(showBackground = true) -@Composable -fun ReplyOutlinedButtonPreview() { - ReplyRadarTheme { - ReplyOutlinedButton( - text = "September 11, 2024", - icon = Res.drawable.ic_calendar, - onClick = {} - ) - } -} - -@Preview(showBackground = true) -@Composable -fun ReplyOutlinedButtonPreview2() { - ReplyRadarTheme { - ReplyOutlinedButton( - text = "10:30", - icon = Res.drawable.ic_clock, - onClick = {} - ) - } -} diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyProgressPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyProgressPreview.kt deleted file mode 100644 index 8dbc8c3..0000000 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyProgressPreview.kt +++ /dev/null @@ -1,14 +0,0 @@ -package com.rafaelfelipeac.replyradar.core.common.ui.components.previews - -import androidx.compose.runtime.Composable -import androidx.compose.ui.tooling.preview.Preview -import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplyProgress -import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme - -@Preview(showBackground = true) -@Composable -fun ReplyProgressPreview() { - ReplyRadarTheme { - ReplyProgress() - } -} diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyRadarErrorPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyRadarErrorPreview.kt deleted file mode 100644 index b06429f..0000000 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyRadarErrorPreview.kt +++ /dev/null @@ -1,14 +0,0 @@ -package com.rafaelfelipeac.replyradar.core.common.ui.components.previews - -import androidx.compose.runtime.Composable -import androidx.compose.ui.tooling.preview.Preview -import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplyRadarError -import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme - -@Preview(showBackground = true) -@Composable -fun ReplyRadarErrorPreview() { - ReplyRadarTheme { - ReplyRadarError() - } -} diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyRadarPlaceholderPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyRadarPlaceholderPreview.kt deleted file mode 100644 index 9c09700..0000000 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyRadarPlaceholderPreview.kt +++ /dev/null @@ -1,16 +0,0 @@ -package com.rafaelfelipeac.replyradar.core.common.ui.components.previews - -import androidx.compose.runtime.Composable -import androidx.compose.ui.tooling.preview.Preview -import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplyRadarPlaceholder -import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme - -@Preview(showBackground = true) -@Composable -fun ReplyRadarPlaceholderPreview() { - ReplyRadarTheme { - ReplyRadarPlaceholder( - message = "Placeholder" - ) - } -} diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyRoundedCornerPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyRoundedCornerPreview.kt deleted file mode 100644 index a7a5654..0000000 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyRoundedCornerPreview.kt +++ /dev/null @@ -1,27 +0,0 @@ -package com.rafaelfelipeac.replyradar.core.common.ui.components.previews - -import androidx.compose.foundation.background -import androidx.compose.foundation.layout.Box -import androidx.compose.foundation.layout.size -import androidx.compose.material3.MaterialTheme.colorScheme -import androidx.compose.runtime.Composable -import androidx.compose.ui.Modifier -import androidx.compose.ui.tooling.preview.Preview -import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplyRoundedCorner -import com.rafaelfelipeac.replyradar.core.common.ui.previewSize -import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme - -@Preview -@Composable -fun ReplyRoundedCornerPreview() { - ReplyRadarTheme { - Box( - modifier = Modifier - .size(previewSize) - .background( - color = colorScheme.primary, - shape = ReplyRoundedCorner() - ) - ) - } -} diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyBottomSheetActionsPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyBottomSheetActionsPreview.kt new file mode 100644 index 0000000..c556855 --- /dev/null +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyBottomSheetActionsPreview.kt @@ -0,0 +1,2 @@ +package com.rafaelfelipeac.replyradar.previews.components + diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyBottomSheetContentPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyBottomSheetContentPreview.kt new file mode 100644 index 0000000..c556855 --- /dev/null +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyBottomSheetContentPreview.kt @@ -0,0 +1,2 @@ +package com.rafaelfelipeac.replyradar.previews.components + diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyBottomSheetPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyBottomSheetPreview.kt new file mode 100644 index 0000000..c556855 --- /dev/null +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyBottomSheetPreview.kt @@ -0,0 +1,2 @@ +package com.rafaelfelipeac.replyradar.previews.components + diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyButtonPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyButtonPreview.kt new file mode 100644 index 0000000..e820690 --- /dev/null +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyButtonPreview.kt @@ -0,0 +1,31 @@ +package com.rafaelfelipeac.replyradar.previews.components + +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import androidx.compose.ui.tooling.preview.Preview +import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplyButton +import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme + +@Preview(name = "Button - Dark", showBackground = true) +@Composable +fun ReplyButtonPreviewDark() { + ReplyRadarTheme(darkTheme = true) { + ReplyButton( + modifier = Modifier, + text = "Button", + onClick = {} + ) + } +} + +@Preview(name = "Button - Light", showBackground = true) +@Composable +fun ReplyButtonPreviewLight() { + ReplyRadarTheme(darkTheme = false) { + ReplyButton( + modifier = Modifier, + text = "Button", + onClick = {} + ) + } +} diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyConfirmationDialogPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyConfirmationDialogPreview.kt new file mode 100644 index 0000000..a303add --- /dev/null +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyConfirmationDialogPreview.kt @@ -0,0 +1,36 @@ +package com.rafaelfelipeac.replyradar.previews.components + +import androidx.compose.runtime.Composable +import androidx.compose.ui.tooling.preview.Preview +import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplyConfirmationDialog +import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme + +@Preview(name = "Confirmation Dialog - Dark", showBackground = true) +@Composable +fun ReplyConfirmationDialogPreviewDark() { + ReplyRadarTheme(darkTheme = true) { + ReplyConfirmationDialog( + title = "Title", + description = "Description", + confirm = "Confirm", + dismiss = "Dismiss", + onDismiss = {}, + onConfirm = {} + ) + } +} + +@Preview(name = "Confirmation Dialog - Light", showBackground = true) +@Composable +fun ReplyConfirmationDialogPreviewLight() { + ReplyRadarTheme(darkTheme = false) { + ReplyConfirmationDialog( + title = "Title", + description = "Description", + confirm = "Confirm", + dismiss = "Dismiss", + onDismiss = {}, + onConfirm = {} + ) + } +} diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyListItemPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyListItemPreview.kt new file mode 100644 index 0000000..c556855 --- /dev/null +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyListItemPreview.kt @@ -0,0 +1,2 @@ +package com.rafaelfelipeac.replyradar.previews.components + diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyListPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyListPreview.kt new file mode 100644 index 0000000..223145b --- /dev/null +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyListPreview.kt @@ -0,0 +1,4 @@ +package com.rafaelfelipeac.replyradar.previews.components + +class ReplyListPreview { +} diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyNotificationPermissionDialogPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyNotificationPermissionDialogPreview.kt new file mode 100644 index 0000000..c2de131 --- /dev/null +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyNotificationPermissionDialogPreview.kt @@ -0,0 +1,28 @@ +package com.rafaelfelipeac.replyradar.previews.components + +import androidx.compose.runtime.Composable +import androidx.compose.ui.tooling.preview.Preview +import com.rafaelfelipeac.replyradar.core.common.ui.components.NotificationPermissionDialog +import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme + +@Preview(name = "Notification Dialog - Dark", showBackground = true) +@Composable +fun ReplyNotificationPermissionDialogPreviewDark() { + ReplyRadarTheme(darkTheme = true) { + NotificationPermissionDialog( + onDismiss = {}, + onGoToSettings = {} + ) + } +} + +@Preview(name = "Notification Dialog - Light", showBackground = true) +@Composable +fun ReplyNotificationPermissionDialogPreviewLight() { + ReplyRadarTheme(darkTheme = false) { + NotificationPermissionDialog( + onDismiss = {}, + onGoToSettings = {} + ) + } +} diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyOutlinedButtonPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyOutlinedButtonPreview.kt new file mode 100644 index 0000000..11d9e26 --- /dev/null +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyOutlinedButtonPreview.kt @@ -0,0 +1,33 @@ +//package com.rafaelfelipeac.replyradar.previews.components//package com.rafaelfelipeac.replyradar.core.common.ui.components.previews +//// +////import androidx.compose.runtime.Composable +////import androidx.compose.ui.tooling.preview.Preview +////import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplyOutlinedButton +////import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme +////import replyradar.composeapp.generated.resources.Res +////import replyradar.composeapp.generated.resources.ic_calendar +////import replyradar.composeapp.generated.resources.ic_clock +//// +//////@Preview(showBackground = true) +//////@Composable +//////fun ReplyOutlinedButtonPreview() { +////// ReplyRadarTheme { +////// ReplyOutlinedButton( +////// text = "September 11, 2024", +////// icon = Res.drawable.ic_calendar, +////// onClick = {} +////// ) +////// } +//////} +////// +//////@Preview(showBackground = true) +//////@Composable +//////fun ReplyOutlinedButtonPreview2() { +////// ReplyRadarTheme { +////// ReplyOutlinedButton( +////// text = "10:30", +////// icon = Res.drawable.ic_clock, +////// onClick = {} +////// ) +////// } +//////} diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyProgressPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyProgressPreview.kt new file mode 100644 index 0000000..e3cd84d --- /dev/null +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyProgressPreview.kt @@ -0,0 +1,22 @@ +package com.rafaelfelipeac.replyradar.previews.components + +import androidx.compose.runtime.Composable +import androidx.compose.ui.tooling.preview.Preview +import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplyProgress +import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme + +@Preview(name = "Progress - Dark", showBackground = true) +@Composable +fun ReplyProgressPreviewDark() { + ReplyRadarTheme(darkTheme = true) { + ReplyProgress() + } +} + +@Preview(name = "Progress - Light", showBackground = true) +@Composable +fun ReplyProgressPreviewLight() { + ReplyRadarTheme(darkTheme = false) { + ReplyProgress() + } +} diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyRadarErrorPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyRadarErrorPreview.kt new file mode 100644 index 0000000..f1280ae --- /dev/null +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyRadarErrorPreview.kt @@ -0,0 +1,22 @@ +package com.rafaelfelipeac.replyradar.previews.components + +import androidx.compose.runtime.Composable +import androidx.compose.ui.tooling.preview.Preview +import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplyRadarError +import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme + +@Preview(name = "Error - Dark", showBackground = true) +@Composable +fun ReplyRadarErrorPreviewDark() { + ReplyRadarTheme(darkTheme = true) { + ReplyRadarError() + } +} + +@Preview(name = "Error - Light", showBackground = true) +@Composable +fun ReplyRadarErrorPreviewLight() { + ReplyRadarTheme(darkTheme = false) { + ReplyRadarError() + } +} diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyRadarPlaceholderPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyRadarPlaceholderPreview.kt new file mode 100644 index 0000000..10b85ea --- /dev/null +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyRadarPlaceholderPreview.kt @@ -0,0 +1,26 @@ +package com.rafaelfelipeac.replyradar.previews.components + +import androidx.compose.runtime.Composable +import androidx.compose.ui.tooling.preview.Preview +import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplyRadarPlaceholder +import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme + +@Preview(name = "Placeholder - Dark", showBackground = true) +@Composable +fun ReplyRadarPlaceholderPreviewDark() { + ReplyRadarTheme(darkTheme = true) { + ReplyRadarPlaceholder( + message = "Placeholder" + ) + } +} + +@Preview(name = "Placeholder - Light", showBackground = true) +@Composable +fun ReplyRadarPlaceholderPreviewLight() { + ReplyRadarTheme(darkTheme = false) { + ReplyRadarPlaceholder( + message = "Placeholder" + ) + } +} diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyReminderPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyReminderPreview.kt similarity index 91% rename from composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyReminderPreview.kt rename to composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyReminderPreview.kt index 1d7b8c2..f48ad4c 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyReminderPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyReminderPreview.kt @@ -1,4 +1,4 @@ -package com.rafaelfelipeac.replyradar.core.common.ui.components.previews +package com.rafaelfelipeac.replyradar.previews.components import androidx.compose.runtime.Composable import androidx.compose.ui.tooling.preview.Preview diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyRoundedCornerPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyRoundedCornerPreview.kt new file mode 100644 index 0000000..27a4a27 --- /dev/null +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyRoundedCornerPreview.kt @@ -0,0 +1,27 @@ +package com.rafaelfelipeac.replyradar.previews.components//package com.rafaelfelipeac.replyradar.core.common.ui.components.previews +// +//import androidx.compose.foundation.background +//import androidx.compose.foundation.layout.Box +//import androidx.compose.foundation.layout.size +//import androidx.compose.material3.MaterialTheme.colorScheme +//import androidx.compose.runtime.Composable +//import androidx.compose.ui.Modifier +//import androidx.compose.ui.tooling.preview.Preview +//import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplyRoundedCorner +//import com.rafaelfelipeac.replyradar.core.common.ui.previewSize +//import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme +// +//@Preview +//@Composable +//fun ReplyRoundedCornerPreview() { +// ReplyRadarTheme { +// Box( +// modifier = Modifier +// .size(previewSize) +// .background( +// color = colorScheme.primary, +// shape = ReplyRoundedCorner() +// ) +// ) +// } +//} diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplySnackbarPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplySnackbarPreview.kt similarity index 86% rename from composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplySnackbarPreview.kt rename to composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplySnackbarPreview.kt index fe9722e..5197ccf 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplySnackbarPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplySnackbarPreview.kt @@ -1,4 +1,4 @@ -package com.rafaelfelipeac.replyradar.core.common.ui.components.previews +package com.rafaelfelipeac.replyradar.previews.components import androidx.compose.material3.SnackbarHostState import androidx.compose.runtime.Composable diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyTabPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyTabPreview.kt similarity index 87% rename from composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyTabPreview.kt rename to composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyTabPreview.kt index 139ce1c..d38ffd6 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyTabPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyTabPreview.kt @@ -1,4 +1,4 @@ -package com.rafaelfelipeac.replyradar.core.common.ui.components.previews +package com.rafaelfelipeac.replyradar.previews.components import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyTextFieldPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyTextFieldPreview.kt similarity index 86% rename from composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyTextFieldPreview.kt rename to composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyTextFieldPreview.kt index 2454a98..51b7cb6 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyTextFieldPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyTextFieldPreview.kt @@ -1,4 +1,4 @@ -package com.rafaelfelipeac.replyradar.core.common.ui.components.previews +package com.rafaelfelipeac.replyradar.previews.components import androidx.compose.runtime.Composable import androidx.compose.ui.tooling.preview.Preview diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyTimestampInfoPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyTimestampInfoPreview.kt new file mode 100644 index 0000000..c556855 --- /dev/null +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyTimestampInfoPreview.kt @@ -0,0 +1,2 @@ +package com.rafaelfelipeac.replyradar.previews.components + diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyTogglePreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyTogglePreview.kt similarity index 85% rename from composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyTogglePreview.kt rename to composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyTogglePreview.kt index 6ed4495..1dcb9cb 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyTogglePreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyTogglePreview.kt @@ -1,4 +1,4 @@ -package com.rafaelfelipeac.replyradar.core.common.ui.components.previews +package com.rafaelfelipeac.replyradar.previews.components import androidx.compose.runtime.Composable import androidx.compose.ui.tooling.preview.Preview diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/screens/ActivityLogScreenPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/screens/ActivityLogScreenPreview.kt new file mode 100644 index 0000000..fddcd3a --- /dev/null +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/screens/ActivityLogScreenPreview.kt @@ -0,0 +1,2 @@ +package com.rafaelfelipeac.replyradar.previews.screens + diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/screens/ReplyListScreenPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/screens/ReplyListScreenPreview.kt new file mode 100644 index 0000000..a643c44 --- /dev/null +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/screens/ReplyListScreenPreview.kt @@ -0,0 +1,3 @@ +package com.rafaelfelipeac.replyradar.previews.screens + + diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/screens/SettingsScreenPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/screens/SettingsScreenPreview.kt new file mode 100644 index 0000000..fddcd3a --- /dev/null +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/screens/SettingsScreenPreview.kt @@ -0,0 +1,2 @@ +package com.rafaelfelipeac.replyradar.previews.screens + diff --git a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/ReplyListScreen.kt b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/ReplyListScreen.kt index 358fce7..1a7e836 100644 --- a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/ReplyListScreen.kt +++ b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/ReplyListScreen.kt @@ -177,19 +177,19 @@ fun ReplyListScreen( ) } -@Preview(showBackground = true) -@Composable -fun ReplyListScreenPreview() { - ReplyRadarTheme { - ReplyListScreen( - state = ReplyListState(), - effect = emptyFlow(), - onIntent = {}, - onSettingsClick = {}, - onActivityLogClick = {} - ) - } -} +//@Preview(showBackground = true) +//@Composable +//fun ReplyListScreenPreview() { +// ReplyRadarTheme { +// ReplyListScreen( +// state = ReplyListState(), +// effect = emptyFlow(), +// onIntent = {}, +// onSettingsClick = {}, +// onActivityLogClick = {} +// ) +// } +//} Scaffold( containerColor = colorScheme.background, diff --git a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/ReplyList.kt b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/ReplyList.kt index 7a86a70..8becc35 100644 --- a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/ReplyList.kt +++ b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/ReplyList.kt @@ -62,24 +62,24 @@ fun ReplyList( } } -@Preview(showBackground = true) -@Composable -fun ReplyListPreview() { - ReplyRadarTheme { - ReplyList( - replies = listOf( - Reply( - id = 1, - message = "Message 1", - isResolved = false - ), - Reply( - id = 2, - message = "Message 2", - isResolved = false - ) - ), - onReplyClick = {} - ) - } -} +//@Preview(showBackground = true) +//@Composable +//fun ReplyListPreview() { +// ReplyRadarTheme { +// ReplyList( +// replies = listOf( +// Reply( +// id = 1, +// message = "Message 1", +// isResolved = false +// ), +// Reply( +// id = 2, +// message = "Message 2", +// isResolved = false +// ) +// ), +// onReplyClick = {} +// ) +// } +//} diff --git a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/ReplyListItem.kt b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/ReplyListItem.kt index 5bdee0c..3d1cf48 100644 --- a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/ReplyListItem.kt +++ b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/ReplyListItem.kt @@ -87,7 +87,7 @@ fun ReplyListItemLabel(label: String, style: TextStyle = typography.titleMedium) ) } -@Preview(showBackground = true) +/*@Preview(showBackground = true) @Composable fun ReplyListItemPreview() { ReplyRadarTheme { @@ -103,4 +103,4 @@ fun ReplyListItemPreview() { onToggle = {} ) } -} +}*/ diff --git a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/ReplyTimestampInfo.kt b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/ReplyTimestampInfo.kt index 9da618e..6342b1d 100644 --- a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/ReplyTimestampInfo.kt +++ b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/ReplyTimestampInfo.kt @@ -61,18 +61,18 @@ private fun getTimestampInfo(reply: Reply): String { } } -@Preview(showBackground = true) -@Composable -fun ReplyTimestampInfoPreview() { - ReplyRadarTheme { - ReplyTimestampInfo( - state = ReplyBottomSheetState( - reply = Reply( - id = 1, - message = "Message", - isResolved = false - ) - ) - ) - } -} +//@Preview(showBackground = true) +//@Composable +//fun ReplyTimestampInfoPreview() { +// ReplyRadarTheme { +// ReplyTimestampInfo( +// state = ReplyBottomSheetState( +// reply = Reply( +// id = 1, +// message = "Message", +// isResolved = false +// ) +// ) +// ) +// } +//} diff --git a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/replybottomsheet/ReplyBottomSheet.kt b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/replybottomsheet/ReplyBottomSheet.kt index 5d213f6..d5fd760 100644 --- a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/replybottomsheet/ReplyBottomSheet.kt +++ b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/replybottomsheet/ReplyBottomSheet.kt @@ -102,28 +102,28 @@ private fun BottomSheetContent( ) } -@OptIn(ExperimentalMaterial3Api::class) -@Preview(showBackground = true) -@Composable -fun ReplyBottomSheetPreview() { - ReplyRadarTheme { - ReplyBottomSheet( - sheetState = SheetState( - skipPartiallyExpanded = true, - ), - replyBottomSheetState = ReplyBottomSheetState( - replyBottomSheetMode = CREATE, - reply = Reply( - id = 1, - message = "Message", - isResolved = false - ) - ), - onSave = {}, - onResolve = {}, - onArchive = {}, - onDelete = {}, - onDismiss = {} - ) - } -} +//@OptIn(ExperimentalMaterial3Api::class) +//@Preview(showBackground = true) +//@Composable +//fun ReplyBottomSheetPreview() { +// ReplyRadarTheme { +// ReplyBottomSheet( +// sheetState = SheetState( +// skipPartiallyExpanded = true, +// ), +// replyBottomSheetState = ReplyBottomSheetState( +// replyBottomSheetMode = CREATE, +// reply = Reply( +// id = 1, +// message = "Message", +// isResolved = false +// ) +// ), +// onSave = {}, +// onResolve = {}, +// onArchive = {}, +// onDelete = {}, +// onDismiss = {} +// ) +// } +//} diff --git a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/replybottomsheet/ReplyBottomSheetActions.kt b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/replybottomsheet/ReplyBottomSheetActions.kt index 9c95bfc..ab19cc9 100644 --- a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/replybottomsheet/ReplyBottomSheetActions.kt +++ b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/replybottomsheet/ReplyBottomSheetActions.kt @@ -240,30 +240,30 @@ private fun getReplyToSave( subject = subject, reminderAt = reminderAtTimestamp ) - -@Preview(showBackground = true) -@Composable -fun ReplyBottomSheetActionsPreview() { - ReplyRadarTheme { - ReplyBottomSheetActions( - state = ReplyBottomSheetState( - replyBottomSheetMode = EDIT, - reply = Reply( - id = 1, - message = "Message", - isResolved = false - ) - ), - onArchive = {}, - onResolve = {}, - onDelete = {}, - onSave = {}, - onInvalidReminderValue = {}, - selectedDate = null, - selectedTime = null, - reply = null, - name = "", - subject = "" - ) - } -} +// +//@Preview(showBackground = true) +//@Composable +//fun ReplyBottomSheetActionsPreview() { +// ReplyRadarTheme { +// ReplyBottomSheetActions( +// state = ReplyBottomSheetState( +// replyBottomSheetMode = EDIT, +// reply = Reply( +// id = 1, +// message = "Message", +// isResolved = false +// ) +// ), +// onArchive = {}, +// onResolve = {}, +// onDelete = {}, +// onSave = {}, +// onInvalidReminderValue = {}, +// selectedDate = null, +// selectedTime = null, +// reply = null, +// name = "", +// subject = "" +// ) +// } +//} diff --git a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/replybottomsheet/ReplyBottomSheetContent.kt b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/replybottomsheet/ReplyBottomSheetContent.kt index 33fae28..96d2d0f 100644 --- a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/replybottomsheet/ReplyBottomSheetContent.kt +++ b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/replybottomsheet/ReplyBottomSheetContent.kt @@ -104,24 +104,24 @@ fun ReplyBottomSheetContent( } } -@Preview(showBackground = true) -@Composable -fun ReplyBottomSheetContentPreview() { - ReplyRadarTheme { - ReplyBottomSheetContent( - replyBottomSheetState = ReplyBottomSheetState( - replyBottomSheetMode = ReplyBottomSheetMode.CREATE, - reply = Reply( - id = 1, - message = "Message", - isResolved = false - ) - ), - onSave = {}, - onResolve = {}, - onArchive = {}, - onDelete = {}, - onInvalidReminderValue = {} - ) - } -} +//@Preview(showBackground = true) +//@Composable +//fun ReplyBottomSheetContentPreview() { +// ReplyRadarTheme { +// ReplyBottomSheetContent( +// replyBottomSheetState = ReplyBottomSheetState( +// replyBottomSheetMode = ReplyBottomSheetMode.CREATE, +// reply = Reply( +// id = 1, +// message = "Message", +// isResolved = false +// ) +// ), +// onSave = {}, +// onResolve = {}, +// onArchive = {}, +// onDelete = {}, +// onInvalidReminderValue = {} +// ) +// } +//} From 6f6b3da831584ec961da75ca6430dd2cac445a00 Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Tue, 29 Jul 2025 17:13:21 +0000 Subject: [PATCH 04/21] feat: Move all previews to androidMain and add dark/light themes This commit moves all the previews from `commonMain` to `androidMain` to avoid issues with the build. It also removes the `@Preview` annotations from the composables in `commonMain`. This also adds dark and light theme previews to all components and screens. --- .../ReplyConfirmationDialogPreview.kt | 20 ++++++ ...eplyNotificationPermissionDialogPreview.kt | 16 +++++ .../components/ReplyOutlinedButtonPreview.kt | 33 +++++++++ .../ui/components/ReplyProgressPreview.kt | 13 ++++ .../ui/components/ReplyRadarErrorPreview.kt | 13 ++++ .../ReplyRadarPlaceholderPreview.kt | 15 ++++ .../ui}/components/ReplyReminderPreview.kt | 3 +- .../previews}/ReplyButtonPreview.kt | 19 +++-- .../ReplyConfirmationDialogPreview.kt | 18 +++-- ...eplyNotificationPermissionDialogPreview.kt | 18 +++-- .../previews/ReplyOutlinedButtonPreview.kt | 37 ++++++++++ .../previews}/ReplyProgressPreview.kt | 18 +++-- .../previews}/ReplyRadarErrorPreview.kt | 18 +++-- .../previews}/ReplyRadarPlaceholderPreview.kt | 18 +++-- .../previews/ReplyReminderPreview.kt | 45 ++++++++++++ .../previews/ReplyRoundedCornerPreview.kt | 46 ++++++++++++ .../previews}/ReplySnackbarPreview.kt | 18 ++++- .../components/previews}/ReplyTabPreview.kt | 21 +++++- .../previews}/ReplyTextFieldPreview.kt | 20 +++++- .../previews}/ReplyTogglePreview.kt | 19 ++++- .../previews/ActivityLogScreenPreview.kt | 71 +++++++++++++++++++ .../previews/RepliesArchivedScreenPreview.kt | 33 +++++++++ .../RepliesOnTheRadarScreenPreview.kt | 33 +++++++++ .../previews/RepliesResolvedScreenPreview.kt | 33 +++++++++ .../previews/RepliesScreenPreview.kt | 36 ++++++++++ .../ReplyBottomSheetActionsPreview.kt | 65 +++++++++++++++++ .../ReplyBottomSheetContentPreview.kt | 55 ++++++++++++++ .../previews/ReplyBottomSheetPreview.kt | 67 +++++++++++++++++ .../previews/ReplyListItemPreview.kt | 47 ++++++++++++ .../components/previews/ReplyListPreview.kt | 55 ++++++++++++++ .../previews/ReplyTimestampInfoPreview.kt | 49 +++++++++++++ .../components/previews/TopBarPreview.kt | 32 +++++++++ .../previews/ReplyListScreenPreview.kt | 40 +++++++++++ .../previews/SettingsScreenPreview.kt | 32 +++++++++ .../ReplyBottomSheetActionsPreview.kt | 2 - .../ReplyBottomSheetContentPreview.kt | 2 - .../components/ReplyBottomSheetPreview.kt | 2 - .../components/ReplyListItemPreview.kt | 2 - .../previews/components/ReplyListPreview.kt | 4 -- .../components/ReplyOutlinedButtonPreview.kt | 33 --------- .../components/ReplyRoundedCornerPreview.kt | 27 ------- .../components/ReplyTimestampInfoPreview.kt | 2 - .../screens/ActivityLogScreenPreview.kt | 2 - .../screens/ReplyListScreenPreview.kt | 3 - .../previews/screens/SettingsScreenPreview.kt | 2 - .../presentation/ActivityLogScreen.kt | 29 -------- .../presentation/replylist/ReplyListScreen.kt | 16 ----- .../components/RepliesArchivedScreen.kt | 13 ---- .../components/RepliesOnTheRadarScreen.kt | 13 ---- .../components/RepliesResolvedScreen.kt | 13 ---- .../replylist/components/RepliesScreen.kt | 11 --- .../replylist/components/ReplyList.kt | 24 ------- .../replylist/components/ReplyListItem.kt | 20 ------ .../components/ReplyTimestampInfo.kt | 18 ----- .../replylist/components/TopBar.kt | 13 ---- .../replybottomsheet/ReplyBottomSheet.kt | 28 -------- .../ReplyBottomSheetActions.kt | 29 -------- .../ReplyBottomSheetContent.kt | 24 ------- .../settings/presentation/SettingsScreen.kt | 13 ---- 59 files changed, 1024 insertions(+), 397 deletions(-) create mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyConfirmationDialogPreview.kt create mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyNotificationPermissionDialogPreview.kt create mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyOutlinedButtonPreview.kt create mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyProgressPreview.kt create mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyRadarErrorPreview.kt create mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyRadarPlaceholderPreview.kt rename composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/{previews => core/common/ui}/components/ReplyReminderPreview.kt (83%) rename composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/{previews/components => core/common/ui/components/previews}/ReplyButtonPreview.kt (59%) rename composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/{previews/components => core/common/ui/components/previews}/ReplyConfirmationDialogPreview.kt (67%) rename composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/{previews/components => core/common/ui/components/previews}/ReplyNotificationPermissionDialogPreview.kt (56%) create mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyOutlinedButtonPreview.kt rename composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/{previews/components => core/common/ui/components/previews}/ReplyProgressPreview.kt (50%) rename composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/{previews/components => core/common/ui/components/previews}/ReplyRadarErrorPreview.kt (50%) rename composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/{previews/components => core/common/ui/components/previews}/ReplyRadarPlaceholderPreview.kt (56%) create mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyReminderPreview.kt create mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyRoundedCornerPreview.kt rename composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/{previews/components => core/common/ui/components/previews}/ReplySnackbarPreview.kt (56%) rename composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/{previews/components => core/common/ui/components/previews}/ReplyTabPreview.kt (54%) rename composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/{previews/components => core/common/ui/components/previews}/ReplyTextFieldPreview.kt (52%) rename composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/{previews/components => core/common/ui/components/previews}/ReplyTogglePreview.kt (53%) create mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/features/activitylog/presentation/previews/ActivityLogScreenPreview.kt create mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/previews/RepliesArchivedScreenPreview.kt create mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/previews/RepliesOnTheRadarScreenPreview.kt create mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/previews/RepliesResolvedScreenPreview.kt create mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/previews/RepliesScreenPreview.kt create mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/previews/ReplyBottomSheetActionsPreview.kt create mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/previews/ReplyBottomSheetContentPreview.kt create mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/previews/ReplyBottomSheetPreview.kt create mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/previews/ReplyListItemPreview.kt create mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/previews/ReplyListPreview.kt create mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/previews/ReplyTimestampInfoPreview.kt create mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/previews/TopBarPreview.kt create mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/previews/ReplyListScreenPreview.kt create mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/features/settings/presentation/previews/SettingsScreenPreview.kt delete mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyBottomSheetActionsPreview.kt delete mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyBottomSheetContentPreview.kt delete mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyBottomSheetPreview.kt delete mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyListItemPreview.kt delete mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyListPreview.kt delete mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyOutlinedButtonPreview.kt delete mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyRoundedCornerPreview.kt delete mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyTimestampInfoPreview.kt delete mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/screens/ActivityLogScreenPreview.kt delete mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/screens/ReplyListScreenPreview.kt delete mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/screens/SettingsScreenPreview.kt diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyConfirmationDialogPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyConfirmationDialogPreview.kt new file mode 100644 index 0000000..7f81814 --- /dev/null +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyConfirmationDialogPreview.kt @@ -0,0 +1,20 @@ +package com.rafaelfelipeac.replyradar.core.common.ui.components + +import androidx.compose.runtime.Composable +import androidx.compose.ui.tooling.preview.Preview +import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme + +@Preview +@Composable +fun ReplyConfirmationDialogPreview() { + ReplyRadarTheme { + ReplyConfirmationDialog( + title = "Title", + description = "Description", + confirm = "Confirm", + dismiss = "Dismiss", + onDismiss = {}, + onConfirm = {} + ) + } +} diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyNotificationPermissionDialogPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyNotificationPermissionDialogPreview.kt new file mode 100644 index 0000000..686e1c4 --- /dev/null +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyNotificationPermissionDialogPreview.kt @@ -0,0 +1,16 @@ +package com.rafaelfelipeac.replyradar.core.common.ui.components + +import androidx.compose.runtime.Composable +import androidx.compose.ui.tooling.preview.Preview +import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme + +@Preview +@Composable +fun ReplyNotificationPermissionDialogPreview() { + ReplyRadarTheme { + NotificationPermissionDialog( + onDismiss = {}, + onGoToSettings = {} + ) + } +} diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyOutlinedButtonPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyOutlinedButtonPreview.kt new file mode 100644 index 0000000..ca4fb1d --- /dev/null +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyOutlinedButtonPreview.kt @@ -0,0 +1,33 @@ +package com.rafaelfelipeac.replyradar.core.common.ui.components + +import androidx.compose.runtime.Composable +import androidx.compose.ui.tooling.preview.Preview +import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme +import org.jetbrains.compose.resources.painterResource +import replyradar.composeapp.generated.resources.Res +import replyradar.composeapp.generated.resources.ic_calendar +import replyradar.composeapp.generated.resources.ic_clock + +@Preview(showBackground = true) +@Composable +fun ReplyOutlinedButtonPreview() { + ReplyRadarTheme { + ReplyOutlinedButton( + text = "September 11, 2024", + icon = Res.drawable.ic_calendar, + onClick = {} + ) + } +} + +@Preview(showBackground = true) +@Composable +fun ReplyOutlinedButtonPreview2() { + ReplyRadarTheme { + ReplyOutlinedButton( + text = "10:30", + icon = Res.drawable.ic_clock, + onClick = {} + ) + } +} diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyProgressPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyProgressPreview.kt new file mode 100644 index 0000000..d944cc2 --- /dev/null +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyProgressPreview.kt @@ -0,0 +1,13 @@ +package com.rafaelfelipeac.replyradar.core.common.ui.components + +import androidx.compose.runtime.Composable +import androidx.compose.ui.tooling.preview.Preview +import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme + +@Preview(showBackground = true) +@Composable +fun ReplyProgressPreview() { + ReplyRadarTheme { + ReplyProgress() + } +} diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyRadarErrorPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyRadarErrorPreview.kt new file mode 100644 index 0000000..db2d50e --- /dev/null +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyRadarErrorPreview.kt @@ -0,0 +1,13 @@ +package com.rafaelfelipeac.replyradar.core.common.ui.components + +import androidx.compose.runtime.Composable +import androidx.compose.ui.tooling.preview.Preview +import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme + +@Preview(showBackground = true) +@Composable +fun ReplyRadarErrorPreview() { + ReplyRadarTheme { + ReplyRadarError() + } +} diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyRadarPlaceholderPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyRadarPlaceholderPreview.kt new file mode 100644 index 0000000..b463aaa --- /dev/null +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyRadarPlaceholderPreview.kt @@ -0,0 +1,15 @@ +package com.rafaelfelipeac.replyradar.core.common.ui.components + +import androidx.compose.runtime.Composable +import androidx.compose.ui.tooling.preview.Preview +import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme + +@Preview(showBackground = true) +@Composable +fun ReplyRadarPlaceholderPreview() { + ReplyRadarTheme { + ReplyRadarPlaceholder( + message = "Placeholder" + ) + } +} diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyReminderPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyReminderPreview.kt similarity index 83% rename from composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyReminderPreview.kt rename to composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyReminderPreview.kt index f48ad4c..99dd6e6 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyReminderPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyReminderPreview.kt @@ -1,8 +1,7 @@ -package com.rafaelfelipeac.replyradar.previews.components +package com.rafaelfelipeac.replyradar.core.common.ui.components import androidx.compose.runtime.Composable import androidx.compose.ui.tooling.preview.Preview -import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplyReminder import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme import kotlinx.datetime.Clock import kotlinx.datetime.TimeZone diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyButtonPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyButtonPreview.kt similarity index 59% rename from composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyButtonPreview.kt rename to composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyButtonPreview.kt index e820690..c12f321 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyButtonPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyButtonPreview.kt @@ -1,15 +1,18 @@ -package com.rafaelfelipeac.replyradar.previews.components +package com.rafaelfelipeac.replyradar.core.common.ui.components.previews import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.tooling.preview.Preview import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplyButton import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme +import com.rafaelfelipeac.replyradar.core.theme.model.AppTheme -@Preview(name = "Button - Dark", showBackground = true) +@Preview(showBackground = true) @Composable -fun ReplyButtonPreviewDark() { - ReplyRadarTheme(darkTheme = true) { +fun ReplyButtonPreview() { + ReplyRadarTheme( + darkTheme = false + ) { ReplyButton( modifier = Modifier, text = "Button", @@ -18,10 +21,12 @@ fun ReplyButtonPreviewDark() { } } -@Preview(name = "Button - Light", showBackground = true) +@Preview(showBackground = true) @Composable -fun ReplyButtonPreviewLight() { - ReplyRadarTheme(darkTheme = false) { +fun ReplyButtonDarkPreview() { + ReplyRadarTheme( + darkTheme = true + ) { ReplyButton( modifier = Modifier, text = "Button", diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyConfirmationDialogPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyConfirmationDialogPreview.kt similarity index 67% rename from composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyConfirmationDialogPreview.kt rename to composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyConfirmationDialogPreview.kt index a303add..ad543e7 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyConfirmationDialogPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyConfirmationDialogPreview.kt @@ -1,14 +1,16 @@ -package com.rafaelfelipeac.replyradar.previews.components +package com.rafaelfelipeac.replyradar.core.common.ui.components.previews import androidx.compose.runtime.Composable import androidx.compose.ui.tooling.preview.Preview import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplyConfirmationDialog import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme -@Preview(name = "Confirmation Dialog - Dark", showBackground = true) +@Preview @Composable -fun ReplyConfirmationDialogPreviewDark() { - ReplyRadarTheme(darkTheme = true) { +fun ReplyConfirmationDialogPreview() { + ReplyRadarTheme( + darkTheme = false + ) { ReplyConfirmationDialog( title = "Title", description = "Description", @@ -20,10 +22,12 @@ fun ReplyConfirmationDialogPreviewDark() { } } -@Preview(name = "Confirmation Dialog - Light", showBackground = true) +@Preview @Composable -fun ReplyConfirmationDialogPreviewLight() { - ReplyRadarTheme(darkTheme = false) { +fun ReplyConfirmationDialogDarkPreview() { + ReplyRadarTheme( + darkTheme = true + ) { ReplyConfirmationDialog( title = "Title", description = "Description", diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyNotificationPermissionDialogPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyNotificationPermissionDialogPreview.kt similarity index 56% rename from composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyNotificationPermissionDialogPreview.kt rename to composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyNotificationPermissionDialogPreview.kt index c2de131..f8d2ba3 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyNotificationPermissionDialogPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyNotificationPermissionDialogPreview.kt @@ -1,14 +1,16 @@ -package com.rafaelfelipeac.replyradar.previews.components +package com.rafaelfelipeac.replyradar.core.common.ui.components.previews import androidx.compose.runtime.Composable import androidx.compose.ui.tooling.preview.Preview import com.rafaelfelipeac.replyradar.core.common.ui.components.NotificationPermissionDialog import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme -@Preview(name = "Notification Dialog - Dark", showBackground = true) +@Preview @Composable -fun ReplyNotificationPermissionDialogPreviewDark() { - ReplyRadarTheme(darkTheme = true) { +fun ReplyNotificationPermissionDialogPreview() { + ReplyRadarTheme( + darkTheme = false + ) { NotificationPermissionDialog( onDismiss = {}, onGoToSettings = {} @@ -16,10 +18,12 @@ fun ReplyNotificationPermissionDialogPreviewDark() { } } -@Preview(name = "Notification Dialog - Light", showBackground = true) +@Preview @Composable -fun ReplyNotificationPermissionDialogPreviewLight() { - ReplyRadarTheme(darkTheme = false) { +fun ReplyNotificationPermissionDialogDarkPreview() { + ReplyRadarTheme( + darkTheme = true + ) { NotificationPermissionDialog( onDismiss = {}, onGoToSettings = {} diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyOutlinedButtonPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyOutlinedButtonPreview.kt new file mode 100644 index 0000000..49a05c4 --- /dev/null +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyOutlinedButtonPreview.kt @@ -0,0 +1,37 @@ +package com.rafaelfelipeac.replyradar.core.common.ui.components.previews + +import androidx.compose.runtime.Composable +import androidx.compose.ui.tooling.preview.Preview +import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplyOutlinedButton +import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme +import replyradar.composeapp.generated.resources.Res +import replyradar.composeapp.generated.resources.ic_calendar +import replyradar.composeapp.generated.resources.ic_clock + +@Preview(showBackground = true) +@Composable +fun ReplyOutlinedButtonPreview() { + ReplyRadarTheme( + darkTheme = false + ) { + ReplyOutlinedButton( + text = "September 11, 2024", + icon = Res.drawable.ic_calendar, + onClick = {} + ) + } +} + +@Preview(showBackground = true) +@Composable +fun ReplyOutlinedButtonDarkPreview() { + ReplyRadarTheme( + darkTheme = true + ) { + ReplyOutlinedButton( + text = "10:30", + icon = Res.drawable.ic_clock, + onClick = {} + ) + } +} diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyProgressPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyProgressPreview.kt similarity index 50% rename from composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyProgressPreview.kt rename to composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyProgressPreview.kt index e3cd84d..d815d8d 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyProgressPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyProgressPreview.kt @@ -1,22 +1,26 @@ -package com.rafaelfelipeac.replyradar.previews.components +package com.rafaelfelipeac.replyradar.core.common.ui.components.previews import androidx.compose.runtime.Composable import androidx.compose.ui.tooling.preview.Preview import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplyProgress import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme -@Preview(name = "Progress - Dark", showBackground = true) +@Preview(showBackground = true) @Composable -fun ReplyProgressPreviewDark() { - ReplyRadarTheme(darkTheme = true) { +fun ReplyProgressPreview() { + ReplyRadarTheme( + darkTheme = false + ) { ReplyProgress() } } -@Preview(name = "Progress - Light", showBackground = true) +@Preview(showBackground = true) @Composable -fun ReplyProgressPreviewLight() { - ReplyRadarTheme(darkTheme = false) { +fun ReplyProgressDarkPreview() { + ReplyRadarTheme( + darkTheme = true + ) { ReplyProgress() } } diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyRadarErrorPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyRadarErrorPreview.kt similarity index 50% rename from composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyRadarErrorPreview.kt rename to composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyRadarErrorPreview.kt index f1280ae..70985c9 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyRadarErrorPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyRadarErrorPreview.kt @@ -1,22 +1,26 @@ -package com.rafaelfelipeac.replyradar.previews.components +package com.rafaelfelipeac.replyradar.core.common.ui.components.previews import androidx.compose.runtime.Composable import androidx.compose.ui.tooling.preview.Preview import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplyRadarError import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme -@Preview(name = "Error - Dark", showBackground = true) +@Preview(showBackground = true) @Composable -fun ReplyRadarErrorPreviewDark() { - ReplyRadarTheme(darkTheme = true) { +fun ReplyRadarErrorPreview() { + ReplyRadarTheme( + darkTheme = false + ) { ReplyRadarError() } } -@Preview(name = "Error - Light", showBackground = true) +@Preview(showBackground = true) @Composable -fun ReplyRadarErrorPreviewLight() { - ReplyRadarTheme(darkTheme = false) { +fun ReplyRadarErrorDarkPreview() { + ReplyRadarTheme( + darkTheme = true + ) { ReplyRadarError() } } diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyRadarPlaceholderPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyRadarPlaceholderPreview.kt similarity index 56% rename from composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyRadarPlaceholderPreview.kt rename to composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyRadarPlaceholderPreview.kt index 10b85ea..12e743b 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyRadarPlaceholderPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyRadarPlaceholderPreview.kt @@ -1,24 +1,28 @@ -package com.rafaelfelipeac.replyradar.previews.components +package com.rafaelfelipeac.replyradar.core.common.ui.components.previews import androidx.compose.runtime.Composable import androidx.compose.ui.tooling.preview.Preview import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplyRadarPlaceholder import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme -@Preview(name = "Placeholder - Dark", showBackground = true) +@Preview(showBackground = true) @Composable -fun ReplyRadarPlaceholderPreviewDark() { - ReplyRadarTheme(darkTheme = true) { +fun ReplyRadarPlaceholderPreview() { + ReplyRadarTheme( + darkTheme = false + ) { ReplyRadarPlaceholder( message = "Placeholder" ) } } -@Preview(name = "Placeholder - Light", showBackground = true) +@Preview(showBackground = true) @Composable -fun ReplyRadarPlaceholderPreviewLight() { - ReplyRadarTheme(darkTheme = false) { +fun ReplyRadarPlaceholderDarkPreview() { + ReplyRadarTheme( + darkTheme = true + ) { ReplyRadarPlaceholder( message = "Placeholder" ) diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyReminderPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyReminderPreview.kt new file mode 100644 index 0000000..5f4ffdc --- /dev/null +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyReminderPreview.kt @@ -0,0 +1,45 @@ +package com.rafaelfelipeac.replyradar.core.common.ui.components.previews + +import androidx.compose.runtime.Composable +import androidx.compose.ui.tooling.preview.Preview +import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplyReminder +import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme +import kotlinx.datetime.Clock +import kotlinx.datetime.TimeZone +import kotlinx.datetime.toLocalDateTime + +@Preview(showBackground = true) +@Composable +fun ReplyReminderPreview() { + val now = Clock.System.now().toLocalDateTime(TimeZone.currentSystemDefault()) + + ReplyRadarTheme( + darkTheme = false + ) { + ReplyReminder( + selectedTime = now.time, + selectedDate = now.date, + onSelectedTimeChange = {}, + onSelectedDateChange = {}, + closeKeyboard = { null } + ) + } +} + +@Preview(showBackground = true) +@Composable +fun ReplyReminderDarkPreview() { + val now = Clock.System.now().toLocalDateTime(TimeZone.currentSystemDefault()) + + ReplyRadarTheme( + darkTheme = true + ) { + ReplyReminder( + selectedTime = now.time, + selectedDate = now.date, + onSelectedTimeChange = {}, + onSelectedDateChange = {}, + closeKeyboard = { null } + ) + } +} diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyRoundedCornerPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyRoundedCornerPreview.kt new file mode 100644 index 0000000..51b7b1a --- /dev/null +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyRoundedCornerPreview.kt @@ -0,0 +1,46 @@ +package com.rafaelfelipeac.replyradar.core.common.ui.components.previews + +import androidx.compose.foundation.background +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.size +import androidx.compose.material3.MaterialTheme.colorScheme +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import androidx.compose.ui.tooling.preview.Preview +import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplyRoundedCorner +import com.rafaelfelipeac.replyradar.core.common.ui.previewSize +import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme + +@Preview +@Composable +fun ReplyRoundedCornerPreview() { + ReplyRadarTheme( + darkTheme = false + ) { + Box( + modifier = Modifier + .size(previewSize) + .background( + color = colorScheme.primary, + shape = ReplyRoundedCorner() + ) + ) + } +} + +@Preview +@Composable +fun ReplyRoundedCornerDarkPreview() { + ReplyRadarTheme( + darkTheme = true + ) { + Box( + modifier = Modifier + .size(previewSize) + .background( + color = colorScheme.primary, + shape = ReplyRoundedCorner() + ) + ) + } +} diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplySnackbarPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplySnackbarPreview.kt similarity index 56% rename from composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplySnackbarPreview.kt rename to composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplySnackbarPreview.kt index 5197ccf..f8e4c2c 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplySnackbarPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplySnackbarPreview.kt @@ -1,4 +1,4 @@ -package com.rafaelfelipeac.replyradar.previews.components +package com.rafaelfelipeac.replyradar.core.common.ui.components.previews import androidx.compose.material3.SnackbarHostState import androidx.compose.runtime.Composable @@ -9,7 +9,21 @@ import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme @Preview(showBackground = true) @Composable fun ReplySnackbarPreview() { - ReplyRadarTheme { + ReplyRadarTheme( + darkTheme = false + ) { + ReplySnackbar( + snackbarHostState = SnackbarHostState() + ) + } +} + +@Preview(showBackground = true) +@Composable +fun ReplySnackbarDarkPreview() { + ReplyRadarTheme( + darkTheme = true + ) { ReplySnackbar( snackbarHostState = SnackbarHostState() ) diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyTabPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyTabPreview.kt similarity index 54% rename from composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyTabPreview.kt rename to composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyTabPreview.kt index d38ffd6..9ef5896 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyTabPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyTabPreview.kt @@ -1,4 +1,4 @@ -package com.rafaelfelipeac.replyradar.previews.components +package com.rafaelfelipeac.replyradar.core.common.ui.components.previews import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier @@ -9,7 +9,24 @@ import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme @Preview(showBackground = true) @Composable fun ReplyTabPreview() { - ReplyRadarTheme { + ReplyRadarTheme( + darkTheme = false + ) { + ReplyTab( + modifier = Modifier, + selected = true, + onClick = {}, + text = "Tab" + ) + } +} + +@Preview(showBackground = true) +@Composable +fun ReplyTabDarkPreview() { + ReplyRadarTheme( + darkTheme = true + ) { ReplyTab( modifier = Modifier, selected = true, diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyTextFieldPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyTextFieldPreview.kt similarity index 52% rename from composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyTextFieldPreview.kt rename to composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyTextFieldPreview.kt index 51b7cb6..d1f487e 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyTextFieldPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyTextFieldPreview.kt @@ -1,4 +1,4 @@ -package com.rafaelfelipeac.replyradar.previews.components +package com.rafaelfelipeac.replyradar.core.common.ui.components.previews import androidx.compose.runtime.Composable import androidx.compose.ui.tooling.preview.Preview @@ -8,7 +8,23 @@ import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme @Preview(showBackground = true) @Composable fun ReplyTextFieldPreview() { - ReplyRadarTheme { + ReplyRadarTheme( + darkTheme = false + ) { + ReplyTextField( + value = "Value", + placeholder = "Placeholder", + onValueChange = {} + ) + } +} + +@Preview(showBackground = true) +@Composable +fun ReplyTextFieldDarkPreview() { + ReplyRadarTheme( + darkTheme = true + ) { ReplyTextField( value = "Value", placeholder = "Placeholder", diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyTogglePreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyTogglePreview.kt similarity index 53% rename from composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyTogglePreview.kt rename to composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyTogglePreview.kt index 1dcb9cb..0c94031 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyTogglePreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyTogglePreview.kt @@ -1,4 +1,4 @@ -package com.rafaelfelipeac.replyradar.previews.components +package com.rafaelfelipeac.replyradar.core.common.ui.components.previews import androidx.compose.runtime.Composable import androidx.compose.ui.tooling.preview.Preview @@ -8,7 +8,22 @@ import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme @Preview(showBackground = true) @Composable fun ReplyTogglePreview() { - ReplyRadarTheme { + ReplyRadarTheme( + darkTheme = false + ) { + ReplyToggle( + isResolved = false, + onToggle = {} + ) + } +} + +@Preview(showBackground = true) +@Composable +fun ReplyToggleDarkPreview() { + ReplyRadarTheme( + darkTheme = true + ) { ReplyToggle( isResolved = false, onToggle = {} diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/features/activitylog/presentation/previews/ActivityLogScreenPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/features/activitylog/presentation/previews/ActivityLogScreenPreview.kt new file mode 100644 index 0000000..ea7e851 --- /dev/null +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/features/activitylog/presentation/previews/ActivityLogScreenPreview.kt @@ -0,0 +1,71 @@ +package com.rafaelfelipeac.replyradar.features.activitylog.presentation.previews + +import androidx.compose.runtime.Composable +import androidx.compose.ui.tooling.preview.Preview +import com.rafaelfelipeac.replyradar.features.activitylog.presentation.ActivityLogScreen +import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme +import com.rafaelfelipeac.replyradar.features.useractions.domain.model.UserAction +import com.rafaelfelipeac.replyradar.features.useractions.domain.model.UserActionTargetType +import com.rafaelfelipeac.replyradar.features.useractions.domain.model.UserActionType +import kotlinx.datetime.Clock +import com.rafaelfelipeac.replyradar.features.activitylog.presentation.ActivityLogListItem + +@Preview(showBackground = true) +@Composable +fun ActivityLogScreenPreview() { + ReplyRadarTheme( + darkTheme = false + ) { + ActivityLogScreen( + onBackClick = {} + ) + } +} + +@Preview(showBackground = true) +@Composable +fun ActivityLogScreenDarkPreview() { + ReplyRadarTheme( + darkTheme = true + ) { + ActivityLogScreen( + onBackClick = {} + ) + } +} + +@Preview(showBackground = true) +@Composable +fun ActivityLogListItemPreview() { + ReplyRadarTheme( + darkTheme = false + ) { + ActivityLogListItem( + userAction = UserAction( + id = 1, + actionType = UserActionType.Create, + targetType = UserActionTargetType.Message, + targetName = "User Action 1", + createdAt = Clock.System.now().toEpochMilliseconds() + ) + ) + } +} + +@Preview(showBackground = true) +@Composable +fun ActivityLogListItemDarkPreview() { + ReplyRadarTheme( + darkTheme = true + ) { + ActivityLogListItem( + userAction = UserAction( + id = 1, + actionType = UserActionType.Create, + targetType = UserActionTargetType.Message, + targetName = "User Action 1", + createdAt = Clock.System.now().toEpochMilliseconds() + ) + ) + } +} diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/previews/RepliesArchivedScreenPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/previews/RepliesArchivedScreenPreview.kt new file mode 100644 index 0000000..9d8eae8 --- /dev/null +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/previews/RepliesArchivedScreenPreview.kt @@ -0,0 +1,33 @@ +package com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.components.previews + +import androidx.compose.runtime.Composable +import androidx.compose.ui.tooling.preview.Preview +import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme +import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.ReplyListState +import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.components.RepliesArchivedScreen + +@Preview(showBackground = true) +@Composable +fun RepliesArchivedScreenPreview() { + ReplyRadarTheme( + darkTheme = false + ) { + RepliesArchivedScreen( + state = ReplyListState(), + onIntent = {} + ) + } +} + +@Preview(showBackground = true) +@Composable +fun RepliesArchivedScreenDarkPreview() { + ReplyRadarTheme( + darkTheme = true + ) { + RepliesArchivedScreen( + state = ReplyListState(), + onIntent = {} + ) + } +} diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/previews/RepliesOnTheRadarScreenPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/previews/RepliesOnTheRadarScreenPreview.kt new file mode 100644 index 0000000..8bfa55a --- /dev/null +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/previews/RepliesOnTheRadarScreenPreview.kt @@ -0,0 +1,33 @@ +package com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.components.previews + +import androidx.compose.runtime.Composable +import androidx.compose.ui.tooling.preview.Preview +import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme +import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.ReplyListState +import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.components.RepliesOnTheRadarScreen + +@Preview(showBackground = true) +@Composable +fun RepliesOnTheRadarScreenPreview() { + ReplyRadarTheme( + darkTheme = false + ) { + RepliesOnTheRadarScreen( + state = ReplyListState(), + onIntent = {} + ) + } +} + +@Preview(showBackground = true) +@Composable +fun RepliesOnTheRadarScreenDarkPreview() { + ReplyRadarTheme( + darkTheme = true + ) { + RepliesOnTheRadarScreen( + state = ReplyListState(), + onIntent = {} + ) + } +} diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/previews/RepliesResolvedScreenPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/previews/RepliesResolvedScreenPreview.kt new file mode 100644 index 0000000..6d89c33 --- /dev/null +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/previews/RepliesResolvedScreenPreview.kt @@ -0,0 +1,33 @@ +package com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.components.previews + +import androidx.compose.runtime.Composable +import androidx.compose.ui.tooling.preview.Preview +import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme +import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.ReplyListState +import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.components.RepliesResolvedScreen + +@Preview(showBackground = true) +@Composable +fun RepliesResolvedScreenPreview() { + ReplyRadarTheme( + darkTheme = false + ) { + RepliesResolvedScreen( + state = ReplyListState(), + onIntent = {} + ) + } +} + +@Preview(showBackground = true) +@Composable +fun RepliesResolvedScreenDarkPreview() { + ReplyRadarTheme( + darkTheme = true + ) { + RepliesResolvedScreen( + state = ReplyListState(), + onIntent = {} + ) + } +} diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/previews/RepliesScreenPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/previews/RepliesScreenPreview.kt new file mode 100644 index 0000000..2d67fc3 --- /dev/null +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/previews/RepliesScreenPreview.kt @@ -0,0 +1,36 @@ +package com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.components.previews + +import androidx.compose.runtime.Composable +import androidx.compose.ui.tooling.preview.Preview +import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme +import com.rafaelfelipeac.replyradar.core.util.AppConstants +import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.ReplyListState +import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.components.RepliesScreen + +@Preview(showBackground = true) +@Composable +fun RepliesScreenPreview() { + ReplyRadarTheme( + darkTheme = false + ) { + RepliesScreen( + pageIndex = AppConstants.ON_THE_RADAR_INDEX, + state = ReplyListState(), + onIntent = {} + ) + } +} + +@Preview(showBackground = true) +@Composable +fun RepliesScreenDarkPreview() { + ReplyRadarTheme( + darkTheme = true + ) { + RepliesScreen( + pageIndex = AppConstants.ON_THE_RADAR_INDEX, + state = ReplyListState(), + onIntent = {} + ) + } +} diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/previews/ReplyBottomSheetActionsPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/previews/ReplyBottomSheetActionsPreview.kt new file mode 100644 index 0000000..1de5b9e --- /dev/null +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/previews/ReplyBottomSheetActionsPreview.kt @@ -0,0 +1,65 @@ +package com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.components.previews + +import androidx.compose.runtime.Composable +import androidx.compose.ui.tooling.preview.Preview +import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme +import com.rafaelfelipeac.replyradar.features.reply.domain.model.Reply +import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.components.replybottomsheet.ReplyBottomSheetActions +import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.components.replybottomsheet.ReplyBottomSheetMode +import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.components.replybottomsheet.ReplyBottomSheetState + +@Preview(showBackground = true) +@Composable +fun ReplyBottomSheetActionsPreview() { + ReplyRadarTheme { + ReplyBottomSheetActions( + state = ReplyBottomSheetState( + replyBottomSheetMode = ReplyBottomSheetMode.EDIT, + reply = Reply( + id = 1, + message = "Message", + isResolved = false + ) + ), + onArchive = {}, + onResolve = {}, + onDelete = {}, + onSave = {}, + onInvalidReminderValue = {}, + selectedDate = null, + selectedTime = null, + reply = null, + name = "", + subject = "" + ) + } +} + +@Preview(showBackground = true) +@Composable +fun ReplyBottomSheetActionsDarkPreview() { + ReplyRadarTheme( + darkTheme = true + ) { + ReplyBottomSheetActions( + state = ReplyBottomSheetState( + replyBottomSheetMode = ReplyBottomSheetMode.EDIT, + reply = Reply( + id = 1, + message = "Message", + isResolved = false + ) + ), + onArchive = {}, + onResolve = {}, + onDelete = {}, + onSave = {}, + onInvalidReminderValue = {}, + selectedDate = null, + selectedTime = null, + reply = null, + name = "", + subject = "" + ) + } +} diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/previews/ReplyBottomSheetContentPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/previews/ReplyBottomSheetContentPreview.kt new file mode 100644 index 0000000..276c9bc --- /dev/null +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/previews/ReplyBottomSheetContentPreview.kt @@ -0,0 +1,55 @@ +package com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.components.previews + +import androidx.compose.runtime.Composable +import androidx.compose.ui.tooling.preview.Preview +import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme +import com.rafaelfelipeac.replyradar.features.reply.domain.model.Reply +import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.components.replybottomsheet.ReplyBottomSheetContent +import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.components.replybottomsheet.ReplyBottomSheetMode +import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.components.replybottomsheet.ReplyBottomSheetState + +@Preview(showBackground = true) +@Composable +fun ReplyBottomSheetContentPreview() { + ReplyRadarTheme { + ReplyBottomSheetContent( + replyBottomSheetState = ReplyBottomSheetState( + replyBottomSheetMode = ReplyBottomSheetMode.CREATE, + reply = Reply( + id = 1, + message = "Message", + isResolved = false + ) + ), + onSave = {}, + onResolve = {}, + onArchive = {}, + onDelete = {}, + onInvalidReminderValue = {} + ) + } +} + +@Preview(showBackground = true) +@Composable +fun ReplyBottomSheetContentDarkPreview() { + ReplyRadarTheme( + darkTheme = true + ) { + ReplyBottomSheetContent( + replyBottomSheetState = ReplyBottomSheetState( + replyBottomSheetMode = ReplyBottomSheetMode.CREATE, + reply = Reply( + id = 1, + message = "Message", + isResolved = false + ) + ), + onSave = {}, + onResolve = {}, + onArchive = {}, + onDelete = {}, + onInvalidReminderValue = {} + ) + } +} diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/previews/ReplyBottomSheetPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/previews/ReplyBottomSheetPreview.kt new file mode 100644 index 0000000..bfd0772 --- /dev/null +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/previews/ReplyBottomSheetPreview.kt @@ -0,0 +1,67 @@ +package com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.components.previews + +import androidx.compose.material3.ExperimentalMaterial3Api +import androidx.compose.material3.SheetState +import androidx.compose.runtime.Composable +import androidx.compose.ui.tooling.preview.Preview +import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme +import com.rafaelfelipeac.replyradar.features.reply.domain.model.Reply +import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.components.replybottomsheet.ReplyBottomSheet +import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.components.replybottomsheet.ReplyBottomSheetMode +import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.components.replybottomsheet.ReplyBottomSheetState + +@OptIn(ExperimentalMaterial3Api::class) +@Preview(showBackground = true) +@Composable +fun ReplyBottomSheetPreview() { + ReplyRadarTheme( + darkTheme = false + ) { + ReplyBottomSheet( + sheetState = SheetState( + skipPartiallyExpanded = true, + ), + replyBottomSheetState = ReplyBottomSheetState( + replyBottomSheetMode = ReplyBottomSheetMode.CREATE, + reply = Reply( + id = 1, + message = "Message", + isResolved = false + ) + ), + onSave = {}, + onResolve = {}, + onArchive = {}, + onDelete = {}, + onDismiss = {} + ) + } +} + +@OptIn(ExperimentalMaterial3Api::class) +@Preview(showBackground = true) +@Composable +fun ReplyBottomSheetDarkPreview() { + ReplyRadarTheme( + darkTheme = true + ) { + ReplyBottomSheet( + sheetState = SheetState( + skipPartiallyExpanded = true, + ), + replyBottomSheetState = ReplyBottomSheetState( + replyBottomSheetMode = ReplyBottomSheetMode.CREATE, + reply = Reply( + id = 1, + message = "Message", + isResolved = false + ) + ), + onSave = {}, + onResolve = {}, + onArchive = {}, + onDelete = {}, + onDismiss = {} + ) + } +} diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/previews/ReplyListItemPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/previews/ReplyListItemPreview.kt new file mode 100644 index 0000000..e08e432 --- /dev/null +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/previews/ReplyListItemPreview.kt @@ -0,0 +1,47 @@ +package com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.components.previews + +import androidx.compose.runtime.Composable +import androidx.compose.ui.tooling.preview.Preview +import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme +import com.rafaelfelipeac.replyradar.features.reply.domain.model.Reply +import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.components.ReplyListItem + +@Preview(showBackground = true) +@Composable +fun ReplyListItemPreview() { + ReplyRadarTheme( + darkTheme = false + ) { + ReplyListItem( + reply = Reply( + id = 1, + message = "Message", + isResolved = false, + name = "Name", + subject = "Subject" + ), + onClick = {}, + onToggle = {} + ) + } +} + +@Preview(showBackground = true) +@Composable +fun ReplyListItemDarkPreview() { + ReplyRadarTheme( + darkTheme = true + ) { + ReplyListItem( + reply = Reply( + id = 1, + message = "Message", + isResolved = false, + name = "Name", + subject = "Subject" + ), + onClick = {}, + onToggle = {} + ) + } +} diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/previews/ReplyListPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/previews/ReplyListPreview.kt new file mode 100644 index 0000000..81387c2 --- /dev/null +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/previews/ReplyListPreview.kt @@ -0,0 +1,55 @@ +package com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.components.previews + +import androidx.compose.runtime.Composable +import androidx.compose.ui.tooling.preview.Preview +import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme +import com.rafaelfelipeac.replyradar.features.reply.domain.model.Reply +import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.components.ReplyList + +@Preview(showBackground = true) +@Composable +fun ReplyListPreview() { + ReplyRadarTheme( + darkTheme = false + ) { + ReplyList( + replies = listOf( + Reply( + id = 1, + message = "Message 1", + isResolved = false + ), + Reply( + id = 2, + message = "Message 2", + isResolved = false + ) + ), + onReplyClick = {} + ) + } +} + +@Preview(showBackground = true) +@Composable +fun ReplyListDarkPreview() { + ReplyRadarTheme( + darkTheme = true + ) { + ReplyList( + replies = listOf( + Reply( + id = 1, + message = "Message 1", + isResolved = false + ), + Reply( + id = 2, + message = "Message 2", + isResolved = false + ) + ), + onReplyClick = {} + ) + } +} diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/previews/ReplyTimestampInfoPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/previews/ReplyTimestampInfoPreview.kt new file mode 100644 index 0000000..137ca33 --- /dev/null +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/previews/ReplyTimestampInfoPreview.kt @@ -0,0 +1,49 @@ +package com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.components.previews + +import androidx.compose.foundation.layout.Column +import androidx.compose.runtime.Composable +import androidx.compose.ui.tooling.preview.Preview +import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme +import com.rafaelfelipeac.replyradar.features.reply.domain.model.Reply +import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.components.ReplyTimestampInfo +import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.components.replybottomsheet.ReplyBottomSheetState + +@Preview(showBackground = true) +@Composable +fun ReplyTimestampInfoPreview() { + ReplyRadarTheme( + darkTheme = false + ) { + Column { + ReplyTimestampInfo( + state = ReplyBottomSheetState( + reply = Reply( + id = 1, + message = "Message", + isResolved = false + ) + ) + ) + } + } +} + +@Preview(showBackground = true) +@Composable +fun ReplyTimestampInfoDarkPreview() { + ReplyRadarTheme( + darkTheme = true + ) { + Column { + ReplyTimestampInfo( + state = ReplyBottomSheetState( + reply = Reply( + id = 1, + message = "Message", + isResolved = false + ) + ) + ) + } + } +} diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/previews/TopBarPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/previews/TopBarPreview.kt new file mode 100644 index 0000000..9976db3 --- /dev/null +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/previews/TopBarPreview.kt @@ -0,0 +1,32 @@ +package com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.components.previews + +import androidx.compose.runtime.Composable +import androidx.compose.ui.tooling.preview.Preview +import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme +import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.components.TopBar + +@Preview(showBackground = true) +@Composable +fun TopBarPreview() { + ReplyRadarTheme( + darkTheme = false + ) { + TopBar( + onActivityLogClick = {}, + onSettingsClick = {} + ) + } +} + +@Preview(showBackground = true) +@Composable +fun TopBarDarkPreview() { + ReplyRadarTheme( + darkTheme = true + ) { + TopBar( + onActivityLogClick = {}, + onSettingsClick = {} + ) + } +} diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/previews/ReplyListScreenPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/previews/ReplyListScreenPreview.kt new file mode 100644 index 0000000..c0518a9 --- /dev/null +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/previews/ReplyListScreenPreview.kt @@ -0,0 +1,40 @@ +package com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.previews + +import androidx.compose.runtime.Composable +import androidx.compose.ui.tooling.preview.Preview +import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme +import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.ReplyListScreen +import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.ReplyListState +import kotlinx.coroutines.flow.emptyFlow + +@Preview(showBackground = true) +@Composable +fun ReplyListScreenPreview() { + ReplyRadarTheme( + darkTheme = false + ) { + ReplyListScreen( + state = ReplyListState(), + effect = emptyFlow(), + onIntent = {}, + onSettingsClick = {}, + onActivityLogClick = {} + ) + } +} + +@Preview(showBackground = true) +@Composable +fun ReplyListScreenDarkPreview() { + ReplyRadarTheme( + darkTheme = true + ) { + ReplyListScreen( + state = ReplyListState(), + effect = emptyFlow(), + onIntent = {}, + onSettingsClick = {}, + onActivityLogClick = {} + ) + } +} diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/features/settings/presentation/previews/SettingsScreenPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/features/settings/presentation/previews/SettingsScreenPreview.kt new file mode 100644 index 0000000..944f3c8 --- /dev/null +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/features/settings/presentation/previews/SettingsScreenPreview.kt @@ -0,0 +1,32 @@ +package com.rafaelfelipeac.replyradar.features.settings.presentation.previews + +import androidx.compose.runtime.Composable +import androidx.compose.ui.tooling.preview.Preview +import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme +import com.rafaelfelipeac.replyradar.features.settings.presentation.SettingsScreen + +@Preview(showBackground = true) +@Composable +fun SettingsScreenPreview() { + ReplyRadarTheme( + darkTheme = false + ) { + SettingsScreen( + onBackClick = {}, + onActivityLogClick = {} + ) + } +} + +@Preview(showBackground = true) +@Composable +fun SettingsScreenDarkPreview() { + ReplyRadarTheme( + darkTheme = true + ) { + SettingsScreen( + onBackClick = {}, + onActivityLogClick = {} + ) + } +} diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyBottomSheetActionsPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyBottomSheetActionsPreview.kt deleted file mode 100644 index c556855..0000000 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyBottomSheetActionsPreview.kt +++ /dev/null @@ -1,2 +0,0 @@ -package com.rafaelfelipeac.replyradar.previews.components - diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyBottomSheetContentPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyBottomSheetContentPreview.kt deleted file mode 100644 index c556855..0000000 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyBottomSheetContentPreview.kt +++ /dev/null @@ -1,2 +0,0 @@ -package com.rafaelfelipeac.replyradar.previews.components - diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyBottomSheetPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyBottomSheetPreview.kt deleted file mode 100644 index c556855..0000000 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyBottomSheetPreview.kt +++ /dev/null @@ -1,2 +0,0 @@ -package com.rafaelfelipeac.replyradar.previews.components - diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyListItemPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyListItemPreview.kt deleted file mode 100644 index c556855..0000000 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyListItemPreview.kt +++ /dev/null @@ -1,2 +0,0 @@ -package com.rafaelfelipeac.replyradar.previews.components - diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyListPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyListPreview.kt deleted file mode 100644 index 223145b..0000000 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyListPreview.kt +++ /dev/null @@ -1,4 +0,0 @@ -package com.rafaelfelipeac.replyradar.previews.components - -class ReplyListPreview { -} diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyOutlinedButtonPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyOutlinedButtonPreview.kt deleted file mode 100644 index 11d9e26..0000000 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyOutlinedButtonPreview.kt +++ /dev/null @@ -1,33 +0,0 @@ -//package com.rafaelfelipeac.replyradar.previews.components//package com.rafaelfelipeac.replyradar.core.common.ui.components.previews -//// -////import androidx.compose.runtime.Composable -////import androidx.compose.ui.tooling.preview.Preview -////import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplyOutlinedButton -////import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme -////import replyradar.composeapp.generated.resources.Res -////import replyradar.composeapp.generated.resources.ic_calendar -////import replyradar.composeapp.generated.resources.ic_clock -//// -//////@Preview(showBackground = true) -//////@Composable -//////fun ReplyOutlinedButtonPreview() { -////// ReplyRadarTheme { -////// ReplyOutlinedButton( -////// text = "September 11, 2024", -////// icon = Res.drawable.ic_calendar, -////// onClick = {} -////// ) -////// } -//////} -////// -//////@Preview(showBackground = true) -//////@Composable -//////fun ReplyOutlinedButtonPreview2() { -////// ReplyRadarTheme { -////// ReplyOutlinedButton( -////// text = "10:30", -////// icon = Res.drawable.ic_clock, -////// onClick = {} -////// ) -////// } -//////} diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyRoundedCornerPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyRoundedCornerPreview.kt deleted file mode 100644 index 27a4a27..0000000 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyRoundedCornerPreview.kt +++ /dev/null @@ -1,27 +0,0 @@ -package com.rafaelfelipeac.replyradar.previews.components//package com.rafaelfelipeac.replyradar.core.common.ui.components.previews -// -//import androidx.compose.foundation.background -//import androidx.compose.foundation.layout.Box -//import androidx.compose.foundation.layout.size -//import androidx.compose.material3.MaterialTheme.colorScheme -//import androidx.compose.runtime.Composable -//import androidx.compose.ui.Modifier -//import androidx.compose.ui.tooling.preview.Preview -//import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplyRoundedCorner -//import com.rafaelfelipeac.replyradar.core.common.ui.previewSize -//import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme -// -//@Preview -//@Composable -//fun ReplyRoundedCornerPreview() { -// ReplyRadarTheme { -// Box( -// modifier = Modifier -// .size(previewSize) -// .background( -// color = colorScheme.primary, -// shape = ReplyRoundedCorner() -// ) -// ) -// } -//} diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyTimestampInfoPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyTimestampInfoPreview.kt deleted file mode 100644 index c556855..0000000 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyTimestampInfoPreview.kt +++ /dev/null @@ -1,2 +0,0 @@ -package com.rafaelfelipeac.replyradar.previews.components - diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/screens/ActivityLogScreenPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/screens/ActivityLogScreenPreview.kt deleted file mode 100644 index fddcd3a..0000000 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/screens/ActivityLogScreenPreview.kt +++ /dev/null @@ -1,2 +0,0 @@ -package com.rafaelfelipeac.replyradar.previews.screens - diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/screens/ReplyListScreenPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/screens/ReplyListScreenPreview.kt deleted file mode 100644 index a643c44..0000000 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/screens/ReplyListScreenPreview.kt +++ /dev/null @@ -1,3 +0,0 @@ -package com.rafaelfelipeac.replyradar.previews.screens - - diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/screens/SettingsScreenPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/screens/SettingsScreenPreview.kt deleted file mode 100644 index fddcd3a..0000000 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/screens/SettingsScreenPreview.kt +++ /dev/null @@ -1,2 +0,0 @@ -package com.rafaelfelipeac.replyradar.previews.screens - diff --git a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/activitylog/presentation/ActivityLogScreen.kt b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/activitylog/presentation/ActivityLogScreen.kt index a4dcc2b..cedaa37 100644 --- a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/activitylog/presentation/ActivityLogScreen.kt +++ b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/activitylog/presentation/ActivityLogScreen.kt @@ -33,7 +33,6 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Alignment.Companion.CenterHorizontally import androidx.compose.ui.Alignment.Companion.CenterVertically import androidx.compose.ui.Modifier -import androidx.compose.ui.tooling.preview.Preview import androidx.lifecycle.compose.collectAsStateWithLifecycle import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplyProgress import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplyRadarError @@ -43,7 +42,6 @@ import com.rafaelfelipeac.replyradar.core.common.ui.listDividerThickness import com.rafaelfelipeac.replyradar.core.common.ui.paddingMedium import com.rafaelfelipeac.replyradar.core.datetime.formatTimestamp import com.rafaelfelipeac.replyradar.core.strings.LocalReplyRadarStrings -import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme import com.rafaelfelipeac.replyradar.core.theme.horizontalDividerColor import com.rafaelfelipeac.replyradar.core.util.AppConstants.EMPTY import com.rafaelfelipeac.replyradar.core.util.format @@ -67,7 +65,6 @@ import com.rafaelfelipeac.replyradar.features.useractions.domain.model.UserActio import com.rafaelfelipeac.replyradar.features.useractions.domain.model.UserActionType.Scheduled import com.rafaelfelipeac.replyradar.features.useractions.domain.model.UserActionType.Unarchive import com.rafaelfelipeac.replyradar.features.useractions.domain.model.UserActionType.Unknown -import kotlinx.datetime.Clock import org.jetbrains.compose.resources.painterResource import org.koin.compose.viewmodel.koinViewModel import replyradar.composeapp.generated.resources.Res.drawable @@ -321,29 +318,3 @@ fun formatTargetName(name: String?): String { return name?.let { format(LocalReplyRadarStrings.current.activityLogMessageItem, it) } ?: LocalReplyRadarStrings.current.activityLogMessageItemRemoved } - -@Preview(showBackground = true) -@Composable -fun ActivityLogScreenPreview() { - ReplyRadarTheme { - ActivityLogScreen( - onBackClick = {} - ) - } -} - -@Preview(showBackground = true) -@Composable -fun ActivityLogListItemPreview() { - ReplyRadarTheme { - ActivityLogListItem( - userAction = UserAction( - id = 1, - actionType = Create, - targetType = Message, - targetName = "User Action 1", - createdAt = Clock.System.now().toEpochMilliseconds() - ) - ) - } -} diff --git a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/ReplyListScreen.kt b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/ReplyListScreen.kt index 1a7e836..2f9910a 100644 --- a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/ReplyListScreen.kt +++ b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/ReplyListScreen.kt @@ -26,7 +26,6 @@ import androidx.compose.runtime.remember import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment.Companion.CenterHorizontally import androidx.compose.ui.Modifier -import androidx.compose.ui.tooling.preview.Preview import androidx.lifecycle.compose.collectAsStateWithLifecycle import com.rafaelfelipeac.replyradar.core.common.ui.components.NotificationPermissionDialog import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplySnackbar @@ -72,7 +71,6 @@ import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.compo import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.components.TopBar import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.components.replybottomsheet.ReplyBottomSheet import kotlinx.coroutines.flow.Flow -import kotlinx.coroutines.flow.emptyFlow import org.koin.compose.viewmodel.koinViewModel private const val WEIGHT = 1f @@ -177,20 +175,6 @@ fun ReplyListScreen( ) } -//@Preview(showBackground = true) -//@Composable -//fun ReplyListScreenPreview() { -// ReplyRadarTheme { -// ReplyListScreen( -// state = ReplyListState(), -// effect = emptyFlow(), -// onIntent = {}, -// onSettingsClick = {}, -// onActivityLogClick = {} -// ) -// } -//} - Scaffold( containerColor = colorScheme.background, snackbarHost = { ReplySnackbar(snackbarHostState) }, diff --git a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/RepliesArchivedScreen.kt b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/RepliesArchivedScreen.kt index cfe436c..4d514d5 100644 --- a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/RepliesArchivedScreen.kt +++ b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/RepliesArchivedScreen.kt @@ -3,10 +3,8 @@ package com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.comp import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier -import androidx.compose.ui.tooling.preview.Preview import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplyRadarPlaceholder import com.rafaelfelipeac.replyradar.core.strings.LocalReplyRadarStrings -import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.ReplyListScreenIntent import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.ReplyListScreenIntent.ReplyListIntent.OnOpenReply import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.ReplyListScreenIntent.ReplyListIntent.OnReplyToggle @@ -29,14 +27,3 @@ fun RepliesArchivedScreen( ) } } - -@Preview(showBackground = true) -@Composable -fun RepliesArchivedScreenPreview() { - ReplyRadarTheme { - RepliesArchivedScreen( - state = ReplyListState(), - onIntent = {} - ) - } -} diff --git a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/RepliesOnTheRadarScreen.kt b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/RepliesOnTheRadarScreen.kt index a3d7d59..f6dd606 100644 --- a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/RepliesOnTheRadarScreen.kt +++ b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/RepliesOnTheRadarScreen.kt @@ -3,12 +3,10 @@ package com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.comp import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier -import androidx.compose.ui.tooling.preview.Preview import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplyProgress import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplyRadarError import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplyRadarPlaceholder import com.rafaelfelipeac.replyradar.core.strings.LocalReplyRadarStrings -import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.ReplyListScreenIntent import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.ReplyListScreenIntent.ReplyListIntent.OnOpenReply import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.ReplyListScreenIntent.ReplyListIntent.OnReplyToggle @@ -52,14 +50,3 @@ private fun getErrorMessage(errorMessage: String?) = when (errorMessage) { ERROR_GET_REPLIES -> LocalReplyRadarStrings.current.replyListGetRepliesError else -> LocalReplyRadarStrings.current.genericErrorMessage } - -@Preview(showBackground = true) -@Composable -fun RepliesOnTheRadarScreenPreview() { - ReplyRadarTheme { - RepliesOnTheRadarScreen( - state = ReplyListState(), - onIntent = {} - ) - } -} diff --git a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/RepliesResolvedScreen.kt b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/RepliesResolvedScreen.kt index b8111b2..017b769 100644 --- a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/RepliesResolvedScreen.kt +++ b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/RepliesResolvedScreen.kt @@ -3,10 +3,8 @@ package com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.comp import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier -import androidx.compose.ui.tooling.preview.Preview import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplyRadarPlaceholder import com.rafaelfelipeac.replyradar.core.strings.LocalReplyRadarStrings -import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.ReplyListScreenIntent import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.ReplyListScreenIntent.ReplyListIntent.OnOpenReply import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.ReplyListState @@ -27,14 +25,3 @@ fun RepliesResolvedScreen( ) } } - -@Preview(showBackground = true) -@Composable -fun RepliesResolvedScreenPreview() { - ReplyRadarTheme { - RepliesResolvedScreen( - state = ReplyListState(), - onIntent = {} - ) - } -} diff --git a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/RepliesScreen.kt b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/RepliesScreen.kt index 6c21417..1902256 100644 --- a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/RepliesScreen.kt +++ b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/RepliesScreen.kt @@ -9,7 +9,6 @@ import androidx.compose.material3.MaterialTheme.colorScheme import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier -import androidx.compose.ui.tooling.preview.Preview import com.rafaelfelipeac.replyradar.core.util.AppConstants.ARCHIVED_INDEX import com.rafaelfelipeac.replyradar.core.util.AppConstants.ON_THE_RADAR_INDEX import com.rafaelfelipeac.replyradar.core.util.AppConstants.RESOLVED_INDEX @@ -58,13 +57,3 @@ fun RepliesScreen( } } } - -@Preview(showBackground = true) -@Composable -fun RepliesScreenPreview() { - RepliesScreen( - pageIndex = ON_THE_RADAR_INDEX, - state = ReplyListState(), - onIntent = {} - ) -} diff --git a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/ReplyList.kt b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/ReplyList.kt index 8becc35..cd0a9e8 100644 --- a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/ReplyList.kt +++ b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/ReplyList.kt @@ -12,10 +12,8 @@ import androidx.compose.material3.MaterialTheme.colorScheme import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment.Companion.CenterHorizontally import androidx.compose.ui.Modifier -import androidx.compose.ui.tooling.preview.Preview import com.rafaelfelipeac.replyradar.core.common.ui.listDividerThickness import com.rafaelfelipeac.replyradar.core.common.ui.paddingMedium -import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme import com.rafaelfelipeac.replyradar.core.theme.horizontalDividerColor import com.rafaelfelipeac.replyradar.features.reply.domain.model.Reply @@ -61,25 +59,3 @@ fun ReplyList( } } } - -//@Preview(showBackground = true) -//@Composable -//fun ReplyListPreview() { -// ReplyRadarTheme { -// ReplyList( -// replies = listOf( -// Reply( -// id = 1, -// message = "Message 1", -// isResolved = false -// ), -// Reply( -// id = 2, -// message = "Message 2", -// isResolved = false -// ) -// ), -// onReplyClick = {} -// ) -// } -//} diff --git a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/ReplyListItem.kt b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/ReplyListItem.kt index 3d1cf48..07b25d7 100644 --- a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/ReplyListItem.kt +++ b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/ReplyListItem.kt @@ -20,10 +20,8 @@ import androidx.compose.ui.Alignment.Companion.CenterVertically import androidx.compose.ui.Modifier import androidx.compose.ui.text.TextStyle import androidx.compose.ui.text.style.TextOverflow -import androidx.compose.ui.tooling.preview.Preview import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplyToggle import com.rafaelfelipeac.replyradar.core.common.ui.paddingMedium -import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme import com.rafaelfelipeac.replyradar.features.reply.domain.model.Reply private const val WEIGHT = 1f @@ -86,21 +84,3 @@ fun ReplyListItemLabel(label: String, style: TextStyle = typography.titleMedium) overflow = TextOverflow.Ellipsis ) } - -/*@Preview(showBackground = true) -@Composable -fun ReplyListItemPreview() { - ReplyRadarTheme { - ReplyListItem( - reply = Reply( - id = 1, - message = "Message", - isResolved = false, - name = "Name", - subject = "Subject" - ), - onClick = {}, - onToggle = {} - ) - } -}*/ diff --git a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/ReplyTimestampInfo.kt b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/ReplyTimestampInfo.kt index 6342b1d..8134f26 100644 --- a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/ReplyTimestampInfo.kt +++ b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/ReplyTimestampInfo.kt @@ -7,11 +7,9 @@ import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment.Companion.Start import androidx.compose.ui.Modifier -import androidx.compose.ui.tooling.preview.Preview import com.rafaelfelipeac.replyradar.core.common.ui.paddingSmall import com.rafaelfelipeac.replyradar.core.datetime.formatTimestamp import com.rafaelfelipeac.replyradar.core.strings.LocalReplyRadarStrings -import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme import com.rafaelfelipeac.replyradar.core.util.AppConstants.INITIAL_DATE import com.rafaelfelipeac.replyradar.core.util.format import com.rafaelfelipeac.replyradar.features.reply.domain.model.Reply @@ -60,19 +58,3 @@ private fun getTimestampInfo(reply: Reply): String { } } } - -//@Preview(showBackground = true) -//@Composable -//fun ReplyTimestampInfoPreview() { -// ReplyRadarTheme { -// ReplyTimestampInfo( -// state = ReplyBottomSheetState( -// reply = Reply( -// id = 1, -// message = "Message", -// isResolved = false -// ) -// ) -// ) -// } -//} diff --git a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/TopBar.kt b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/TopBar.kt index 03af317..a5924c0 100644 --- a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/TopBar.kt +++ b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/TopBar.kt @@ -14,12 +14,10 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.text.style.TextAlign -import androidx.compose.ui.tooling.preview.Preview import com.rafaelfelipeac.replyradar.core.common.ui.fontSizeLarge import com.rafaelfelipeac.replyradar.core.common.ui.iconSize import com.rafaelfelipeac.replyradar.core.common.ui.paddingMedium import com.rafaelfelipeac.replyradar.core.strings.LocalReplyRadarStrings -import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme import com.rafaelfelipeac.replyradar.core.theme.toolbarIconsColor import org.jetbrains.compose.resources.painterResource import replyradar.composeapp.generated.resources.Res.drawable @@ -68,14 +66,3 @@ fun TopBar(onActivityLogClick: () -> Unit, onSettingsClick: () -> Unit) { } } } - -@Preview(showBackground = true) -@Composable -fun TopBarPreview() { - ReplyRadarTheme { - TopBar( - onActivityLogClick = {}, - onSettingsClick = {} - ) - } -} diff --git a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/replybottomsheet/ReplyBottomSheet.kt b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/replybottomsheet/ReplyBottomSheet.kt index d5fd760..70c1be2 100644 --- a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/replybottomsheet/ReplyBottomSheet.kt +++ b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/replybottomsheet/ReplyBottomSheet.kt @@ -11,11 +11,9 @@ import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.setValue -import androidx.compose.ui.tooling.preview.Preview import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplyRoundedCorner import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplySnackbar import com.rafaelfelipeac.replyradar.core.strings.LocalReplyRadarStrings -import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme import com.rafaelfelipeac.replyradar.features.reply.domain.model.Reply import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.components.replybottomsheet.ReplyBottomSheetMode.CREATE import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.components.replybottomsheet.ReplyBottomSheetMode.EDIT @@ -101,29 +99,3 @@ private fun BottomSheetContent( onInvalidReminderValue = onInvalidReminderValue ) } - -//@OptIn(ExperimentalMaterial3Api::class) -//@Preview(showBackground = true) -//@Composable -//fun ReplyBottomSheetPreview() { -// ReplyRadarTheme { -// ReplyBottomSheet( -// sheetState = SheetState( -// skipPartiallyExpanded = true, -// ), -// replyBottomSheetState = ReplyBottomSheetState( -// replyBottomSheetMode = CREATE, -// reply = Reply( -// id = 1, -// message = "Message", -// isResolved = false -// ) -// ), -// onSave = {}, -// onResolve = {}, -// onArchive = {}, -// onDelete = {}, -// onDismiss = {} -// ) -// } -//} diff --git a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/replybottomsheet/ReplyBottomSheetActions.kt b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/replybottomsheet/ReplyBottomSheetActions.kt index ab19cc9..532eb37 100644 --- a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/replybottomsheet/ReplyBottomSheetActions.kt +++ b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/replybottomsheet/ReplyBottomSheetActions.kt @@ -14,7 +14,6 @@ import androidx.compose.runtime.remember import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier -import androidx.compose.ui.tooling.preview.Preview import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplyButton import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplyConfirmationDialog import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplyOutlinedButton @@ -24,7 +23,6 @@ import com.rafaelfelipeac.replyradar.core.datetime.getCurrentDateTime import com.rafaelfelipeac.replyradar.core.datetime.getReminderTimestamp import com.rafaelfelipeac.replyradar.core.datetime.isDateTimeValid import com.rafaelfelipeac.replyradar.core.strings.LocalReplyRadarStrings -import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme import com.rafaelfelipeac.replyradar.core.util.format import com.rafaelfelipeac.replyradar.features.reply.domain.model.Reply import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.components.replybottomsheet.ReplyBottomSheetMode.EDIT @@ -240,30 +238,3 @@ private fun getReplyToSave( subject = subject, reminderAt = reminderAtTimestamp ) -// -//@Preview(showBackground = true) -//@Composable -//fun ReplyBottomSheetActionsPreview() { -// ReplyRadarTheme { -// ReplyBottomSheetActions( -// state = ReplyBottomSheetState( -// replyBottomSheetMode = EDIT, -// reply = Reply( -// id = 1, -// message = "Message", -// isResolved = false -// ) -// ), -// onArchive = {}, -// onResolve = {}, -// onDelete = {}, -// onSave = {}, -// onInvalidReminderValue = {}, -// selectedDate = null, -// selectedTime = null, -// reply = null, -// name = "", -// subject = "" -// ) -// } -//} diff --git a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/replybottomsheet/ReplyBottomSheetContent.kt b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/replybottomsheet/ReplyBottomSheetContent.kt index 96d2d0f..865c8e9 100644 --- a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/replybottomsheet/ReplyBottomSheetContent.kt +++ b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/replybottomsheet/ReplyBottomSheetContent.kt @@ -16,7 +16,6 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.focus.FocusRequester import androidx.compose.ui.focus.focusRequester import androidx.compose.ui.platform.LocalSoftwareKeyboardController -import androidx.compose.ui.tooling.preview.Preview import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplyReminder import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplyTextField import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplyTextFieldSize.Large @@ -24,7 +23,6 @@ import com.rafaelfelipeac.replyradar.core.common.ui.paddingMedium import com.rafaelfelipeac.replyradar.core.common.ui.paddingSmall import com.rafaelfelipeac.replyradar.core.datetime.dateTime import com.rafaelfelipeac.replyradar.core.strings.LocalReplyRadarStrings -import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme import com.rafaelfelipeac.replyradar.core.util.AppConstants.EMPTY import com.rafaelfelipeac.replyradar.core.util.AppConstants.INITIAL_DATE import com.rafaelfelipeac.replyradar.features.reply.domain.model.Reply @@ -103,25 +101,3 @@ fun ReplyBottomSheetContent( } } } - -//@Preview(showBackground = true) -//@Composable -//fun ReplyBottomSheetContentPreview() { -// ReplyRadarTheme { -// ReplyBottomSheetContent( -// replyBottomSheetState = ReplyBottomSheetState( -// replyBottomSheetMode = ReplyBottomSheetMode.CREATE, -// reply = Reply( -// id = 1, -// message = "Message", -// isResolved = false -// ) -// ), -// onSave = {}, -// onResolve = {}, -// onArchive = {}, -// onDelete = {}, -// onInvalidReminderValue = {} -// ) -// } -//} diff --git a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/settings/presentation/SettingsScreen.kt b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/settings/presentation/SettingsScreen.kt index 9d08490..c8a319a 100644 --- a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/settings/presentation/SettingsScreen.kt +++ b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/settings/presentation/SettingsScreen.kt @@ -30,7 +30,6 @@ import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier -import androidx.compose.ui.tooling.preview.Preview import androidx.lifecycle.compose.collectAsStateWithLifecycle import com.rafaelfelipeac.replyradar.core.common.ui.iconSizeLarge import com.rafaelfelipeac.replyradar.core.common.ui.paddingMedium @@ -54,7 +53,6 @@ import com.rafaelfelipeac.replyradar.core.theme.model.AppTheme.SYSTEM import com.rafaelfelipeac.replyradar.core.util.AppConstants.EMAIL import com.rafaelfelipeac.replyradar.core.util.AppConstants.PACKAGE_NAME import com.rafaelfelipeac.replyradar.core.version.getAppVersion -import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme import com.rafaelfelipeac.replyradar.features.settings.presentation.SettingsIntent.OnSelectFeedback import com.rafaelfelipeac.replyradar.features.settings.presentation.SettingsIntent.OnSelectLanguage import com.rafaelfelipeac.replyradar.features.settings.presentation.SettingsIntent.OnSelectRate @@ -175,17 +173,6 @@ fun App(onIntent: (SettingsIntent) -> Unit) { } } -@Preview(showBackground = true) -@Composable -fun SettingsScreenPreview() { - ReplyRadarTheme { - SettingsScreen( - onBackClick = {}, - onActivityLogClick = {} - ) - } -} - @Composable private fun ActivityLog(onActivityLogClick: () -> Unit) { Text( From 8416c35f24496d96335f5a584905044be31fa6b9 Mon Sep 17 00:00:00 2001 From: Rafael Cordeiro Date: Tue, 29 Jul 2025 14:51:39 -0300 Subject: [PATCH 05/21] Preview fixes. --- .../com/rafaelfelipeac/replyradar/Previews.kt | 31 ----------------- .../ReplyConfirmationDialogPreview.kt | 20 ----------- ...eplyNotificationPermissionDialogPreview.kt | 16 --------- .../components/ReplyOutlinedButtonPreview.kt | 33 ------------------- .../ui/components/ReplyProgressPreview.kt | 13 -------- .../ui/components/ReplyRadarErrorPreview.kt | 13 -------- .../ReplyRadarPlaceholderPreview.kt | 15 --------- .../ui/components/ReplyReminderPreview.kt | 24 -------------- .../RepliesArchivedScreenPreview.kt | 2 +- .../RepliesOnTheRadarScreenPreview.kt | 2 +- .../RepliesResolvedScreenPreview.kt | 2 +- .../components}/RepliesScreenPreview.kt | 2 +- .../ReplyBottomSheetActionsPreview.kt | 6 ++-- .../ReplyBottomSheetContentPreview.kt | 6 ++-- .../components}/ReplyBottomSheetPreview.kt | 22 +++++++------ .../components}/ReplyButtonPreview.kt | 3 +- .../ReplyConfirmationDialogPreview.kt | 2 +- .../components}/ReplyListItemPreview.kt | 2 +- .../components}/ReplyListPreview.kt | 2 +- ...eplyNotificationPermissionDialogPreview.kt | 2 +- .../components}/ReplyOutlinedButtonPreview.kt | 10 +++--- .../components}/ReplyProgressPreview.kt | 2 +- .../components}/ReplyRadarErrorPreview.kt | 2 +- .../ReplyRadarPlaceholderPreview.kt | 2 +- .../components}/ReplyReminderPreview.kt | 2 +- .../components}/ReplyRoundedCornerPreview.kt | 6 +--- .../components}/ReplySnackbarPreview.kt | 2 +- .../components}/ReplyTabPreview.kt | 2 +- .../components}/ReplyTextFieldPreview.kt | 2 +- .../components}/ReplyTimestampInfoPreview.kt | 8 +++-- .../components}/ReplyTogglePreview.kt | 2 +- .../components}/TopBarPreview.kt | 2 +- .../screens}/ActivityLogScreenPreview.kt | 2 +- .../screens}/ReplyListScreenPreview.kt | 2 +- .../screens}/SettingsScreenPreview.kt | 2 +- 35 files changed, 52 insertions(+), 214 deletions(-) delete mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/Previews.kt delete mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyConfirmationDialogPreview.kt delete mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyNotificationPermissionDialogPreview.kt delete mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyOutlinedButtonPreview.kt delete mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyProgressPreview.kt delete mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyRadarErrorPreview.kt delete mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyRadarPlaceholderPreview.kt delete mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyReminderPreview.kt rename composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/{features/reply/presentation/replylist/components/previews => previews/components}/RepliesArchivedScreenPreview.kt (89%) rename composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/{features/reply/presentation/replylist/components/previews => previews/components}/RepliesOnTheRadarScreenPreview.kt (90%) rename composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/{features/reply/presentation/replylist/components/previews => previews/components}/RepliesResolvedScreenPreview.kt (89%) rename composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/{features/reply/presentation/replylist/components/previews => previews/components}/RepliesScreenPreview.kt (91%) rename composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/{features/reply/presentation/replylist/components/previews => previews/components}/ReplyBottomSheetActionsPreview.kt (94%) rename composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/{features/reply/presentation/replylist/components/previews => previews/components}/ReplyBottomSheetContentPreview.kt (93%) rename composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/{features/reply/presentation/replylist/components/previews => previews/components}/ReplyBottomSheetPreview.kt (78%) rename composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/{core/common/ui/components/previews => previews/components}/ReplyButtonPreview.kt (85%) rename composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/{core/common/ui/components/previews => previews/components}/ReplyConfirmationDialogPreview.kt (92%) rename composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/{features/reply/presentation/replylist/components/previews => previews/components}/ReplyListItemPreview.kt (92%) rename composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/{features/reply/presentation/replylist/components/previews => previews/components}/ReplyListPreview.kt (93%) rename composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/{core/common/ui/components/previews => previews/components}/ReplyNotificationPermissionDialogPreview.kt (90%) rename composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/{core/common/ui/components/previews => previews/components}/ReplyOutlinedButtonPreview.kt (73%) rename composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/{core/common/ui/components/previews => previews/components}/ReplyProgressPreview.kt (88%) rename composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/{core/common/ui/components/previews => previews/components}/ReplyRadarErrorPreview.kt (88%) rename composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/{core/common/ui/components/previews => previews/components}/ReplyRadarPlaceholderPreview.kt (90%) rename composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/{core/common/ui/components/previews => previews/components}/ReplyReminderPreview.kt (94%) rename composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/{core/common/ui/components/previews => previews/components}/ReplyRoundedCornerPreview.kt (80%) rename composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/{core/common/ui/components/previews => previews/components}/ReplySnackbarPreview.kt (90%) rename composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/{core/common/ui/components/previews => previews/components}/ReplyTabPreview.kt (91%) rename composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/{core/common/ui/components/previews => previews/components}/ReplyTextFieldPreview.kt (91%) rename composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/{features/reply/presentation/replylist/components/previews => previews/components}/ReplyTimestampInfoPreview.kt (84%) rename composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/{core/common/ui/components/previews => previews/components}/ReplyTogglePreview.kt (90%) rename composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/{features/reply/presentation/replylist/components/previews => previews/components}/TopBarPreview.kt (88%) rename composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/{features/activitylog/presentation/previews => previews/screens}/ActivityLogScreenPreview.kt (96%) rename composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/{features/reply/presentation/replylist/previews => previews/screens}/ReplyListScreenPreview.kt (92%) rename composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/{features/settings/presentation/previews => previews/screens}/SettingsScreenPreview.kt (90%) diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/Previews.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/Previews.kt deleted file mode 100644 index 846e459..0000000 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/Previews.kt +++ /dev/null @@ -1,31 +0,0 @@ -package com.rafaelfelipeac.replyradar - -import androidx.compose.runtime.Composable -import androidx.compose.ui.tooling.preview.Preview -import com.rafaelfelipeac.replyradar.features.reply.domain.model.Reply -import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.ReplyListScreen -import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.ReplyListState -import kotlinx.coroutines.flow.flowOf - -private val replies = (1L..10L).map { - Reply( - id = it, - name = "Reply $it", - subject = "Subject $it", - isResolved = true - ) -} - -@Preview -@Composable -private fun ReplyListScreenPreview() { - ReplyListScreen( - state = ReplyListState( - replies = replies - ), - onIntent = {}, - onSettingsClick = {}, - onActivityLogClick = {}, - effect = flowOf() - ) -} diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyConfirmationDialogPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyConfirmationDialogPreview.kt deleted file mode 100644 index 7f81814..0000000 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyConfirmationDialogPreview.kt +++ /dev/null @@ -1,20 +0,0 @@ -package com.rafaelfelipeac.replyradar.core.common.ui.components - -import androidx.compose.runtime.Composable -import androidx.compose.ui.tooling.preview.Preview -import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme - -@Preview -@Composable -fun ReplyConfirmationDialogPreview() { - ReplyRadarTheme { - ReplyConfirmationDialog( - title = "Title", - description = "Description", - confirm = "Confirm", - dismiss = "Dismiss", - onDismiss = {}, - onConfirm = {} - ) - } -} diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyNotificationPermissionDialogPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyNotificationPermissionDialogPreview.kt deleted file mode 100644 index 686e1c4..0000000 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyNotificationPermissionDialogPreview.kt +++ /dev/null @@ -1,16 +0,0 @@ -package com.rafaelfelipeac.replyradar.core.common.ui.components - -import androidx.compose.runtime.Composable -import androidx.compose.ui.tooling.preview.Preview -import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme - -@Preview -@Composable -fun ReplyNotificationPermissionDialogPreview() { - ReplyRadarTheme { - NotificationPermissionDialog( - onDismiss = {}, - onGoToSettings = {} - ) - } -} diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyOutlinedButtonPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyOutlinedButtonPreview.kt deleted file mode 100644 index ca4fb1d..0000000 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyOutlinedButtonPreview.kt +++ /dev/null @@ -1,33 +0,0 @@ -package com.rafaelfelipeac.replyradar.core.common.ui.components - -import androidx.compose.runtime.Composable -import androidx.compose.ui.tooling.preview.Preview -import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme -import org.jetbrains.compose.resources.painterResource -import replyradar.composeapp.generated.resources.Res -import replyradar.composeapp.generated.resources.ic_calendar -import replyradar.composeapp.generated.resources.ic_clock - -@Preview(showBackground = true) -@Composable -fun ReplyOutlinedButtonPreview() { - ReplyRadarTheme { - ReplyOutlinedButton( - text = "September 11, 2024", - icon = Res.drawable.ic_calendar, - onClick = {} - ) - } -} - -@Preview(showBackground = true) -@Composable -fun ReplyOutlinedButtonPreview2() { - ReplyRadarTheme { - ReplyOutlinedButton( - text = "10:30", - icon = Res.drawable.ic_clock, - onClick = {} - ) - } -} diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyProgressPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyProgressPreview.kt deleted file mode 100644 index d944cc2..0000000 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyProgressPreview.kt +++ /dev/null @@ -1,13 +0,0 @@ -package com.rafaelfelipeac.replyradar.core.common.ui.components - -import androidx.compose.runtime.Composable -import androidx.compose.ui.tooling.preview.Preview -import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme - -@Preview(showBackground = true) -@Composable -fun ReplyProgressPreview() { - ReplyRadarTheme { - ReplyProgress() - } -} diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyRadarErrorPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyRadarErrorPreview.kt deleted file mode 100644 index db2d50e..0000000 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyRadarErrorPreview.kt +++ /dev/null @@ -1,13 +0,0 @@ -package com.rafaelfelipeac.replyradar.core.common.ui.components - -import androidx.compose.runtime.Composable -import androidx.compose.ui.tooling.preview.Preview -import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme - -@Preview(showBackground = true) -@Composable -fun ReplyRadarErrorPreview() { - ReplyRadarTheme { - ReplyRadarError() - } -} diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyRadarPlaceholderPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyRadarPlaceholderPreview.kt deleted file mode 100644 index b463aaa..0000000 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyRadarPlaceholderPreview.kt +++ /dev/null @@ -1,15 +0,0 @@ -package com.rafaelfelipeac.replyradar.core.common.ui.components - -import androidx.compose.runtime.Composable -import androidx.compose.ui.tooling.preview.Preview -import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme - -@Preview(showBackground = true) -@Composable -fun ReplyRadarPlaceholderPreview() { - ReplyRadarTheme { - ReplyRadarPlaceholder( - message = "Placeholder" - ) - } -} diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyReminderPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyReminderPreview.kt deleted file mode 100644 index 99dd6e6..0000000 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyReminderPreview.kt +++ /dev/null @@ -1,24 +0,0 @@ -package com.rafaelfelipeac.replyradar.core.common.ui.components - -import androidx.compose.runtime.Composable -import androidx.compose.ui.tooling.preview.Preview -import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme -import kotlinx.datetime.Clock -import kotlinx.datetime.TimeZone -import kotlinx.datetime.toLocalDateTime - -@Preview(showBackground = true) -@Composable -fun ReplyReminderPreview() { - val now = Clock.System.now().toLocalDateTime(TimeZone.currentSystemDefault()) - - ReplyRadarTheme { - ReplyReminder( - selectedTime = now.time, - selectedDate = now.date, - onSelectedTimeChange = {}, - onSelectedDateChange = {}, - closeKeyboard = { null } - ) - } -} diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/previews/RepliesArchivedScreenPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/RepliesArchivedScreenPreview.kt similarity index 89% rename from composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/previews/RepliesArchivedScreenPreview.kt rename to composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/RepliesArchivedScreenPreview.kt index 9d8eae8..a60f241 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/previews/RepliesArchivedScreenPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/RepliesArchivedScreenPreview.kt @@ -1,4 +1,4 @@ -package com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.components.previews +package com.rafaelfelipeac.replyradar.previews.components import androidx.compose.runtime.Composable import androidx.compose.ui.tooling.preview.Preview diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/previews/RepliesOnTheRadarScreenPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/RepliesOnTheRadarScreenPreview.kt similarity index 90% rename from composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/previews/RepliesOnTheRadarScreenPreview.kt rename to composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/RepliesOnTheRadarScreenPreview.kt index 8bfa55a..629a5d0 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/previews/RepliesOnTheRadarScreenPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/RepliesOnTheRadarScreenPreview.kt @@ -1,4 +1,4 @@ -package com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.components.previews +package com.rafaelfelipeac.replyradar.previews.components import androidx.compose.runtime.Composable import androidx.compose.ui.tooling.preview.Preview diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/previews/RepliesResolvedScreenPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/RepliesResolvedScreenPreview.kt similarity index 89% rename from composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/previews/RepliesResolvedScreenPreview.kt rename to composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/RepliesResolvedScreenPreview.kt index 6d89c33..e58c6d3 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/previews/RepliesResolvedScreenPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/RepliesResolvedScreenPreview.kt @@ -1,4 +1,4 @@ -package com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.components.previews +package com.rafaelfelipeac.replyradar.previews.components import androidx.compose.runtime.Composable import androidx.compose.ui.tooling.preview.Preview diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/previews/RepliesScreenPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/RepliesScreenPreview.kt similarity index 91% rename from composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/previews/RepliesScreenPreview.kt rename to composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/RepliesScreenPreview.kt index 2d67fc3..6470741 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/previews/RepliesScreenPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/RepliesScreenPreview.kt @@ -1,4 +1,4 @@ -package com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.components.previews +package com.rafaelfelipeac.replyradar.previews.components import androidx.compose.runtime.Composable import androidx.compose.ui.tooling.preview.Preview diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/previews/ReplyBottomSheetActionsPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyBottomSheetActionsPreview.kt similarity index 94% rename from composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/previews/ReplyBottomSheetActionsPreview.kt rename to composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyBottomSheetActionsPreview.kt index 1de5b9e..1aa4943 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/previews/ReplyBottomSheetActionsPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyBottomSheetActionsPreview.kt @@ -1,4 +1,4 @@ -package com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.components.previews +package com.rafaelfelipeac.replyradar.previews.components import androidx.compose.runtime.Composable import androidx.compose.ui.tooling.preview.Preview @@ -11,7 +11,9 @@ import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.compo @Preview(showBackground = true) @Composable fun ReplyBottomSheetActionsPreview() { - ReplyRadarTheme { + ReplyRadarTheme( + darkTheme = false + ) { ReplyBottomSheetActions( state = ReplyBottomSheetState( replyBottomSheetMode = ReplyBottomSheetMode.EDIT, diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/previews/ReplyBottomSheetContentPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyBottomSheetContentPreview.kt similarity index 93% rename from composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/previews/ReplyBottomSheetContentPreview.kt rename to composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyBottomSheetContentPreview.kt index 276c9bc..d6ade05 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/previews/ReplyBottomSheetContentPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyBottomSheetContentPreview.kt @@ -1,4 +1,4 @@ -package com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.components.previews +package com.rafaelfelipeac.replyradar.previews.components import androidx.compose.runtime.Composable import androidx.compose.ui.tooling.preview.Preview @@ -11,7 +11,9 @@ import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.compo @Preview(showBackground = true) @Composable fun ReplyBottomSheetContentPreview() { - ReplyRadarTheme { + ReplyRadarTheme( + darkTheme = false + ) { ReplyBottomSheetContent( replyBottomSheetState = ReplyBottomSheetState( replyBottomSheetMode = ReplyBottomSheetMode.CREATE, diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/previews/ReplyBottomSheetPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyBottomSheetPreview.kt similarity index 78% rename from composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/previews/ReplyBottomSheetPreview.kt rename to composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyBottomSheetPreview.kt index bfd0772..91e8b53 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/previews/ReplyBottomSheetPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyBottomSheetPreview.kt @@ -1,7 +1,7 @@ -package com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.components.previews +package com.rafaelfelipeac.replyradar.previews.components import androidx.compose.material3.ExperimentalMaterial3Api -import androidx.compose.material3.SheetState +import androidx.compose.material3.rememberModalBottomSheetState import androidx.compose.runtime.Composable import androidx.compose.ui.tooling.preview.Preview import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme @@ -17,15 +17,16 @@ fun ReplyBottomSheetPreview() { ReplyRadarTheme( darkTheme = false ) { + val sheetState = rememberModalBottomSheetState(skipPartiallyExpanded = true) + ReplyBottomSheet( - sheetState = SheetState( - skipPartiallyExpanded = true, - ), + sheetState = sheetState, replyBottomSheetState = ReplyBottomSheetState( replyBottomSheetMode = ReplyBottomSheetMode.CREATE, reply = Reply( id = 1, - message = "Message", + subject = "Message", + name = "Contact", isResolved = false ) ), @@ -45,15 +46,16 @@ fun ReplyBottomSheetDarkPreview() { ReplyRadarTheme( darkTheme = true ) { + val sheetState = rememberModalBottomSheetState(skipPartiallyExpanded = true) + ReplyBottomSheet( - sheetState = SheetState( - skipPartiallyExpanded = true, - ), + sheetState = sheetState, replyBottomSheetState = ReplyBottomSheetState( replyBottomSheetMode = ReplyBottomSheetMode.CREATE, reply = Reply( id = 1, - message = "Message", + subject = "Message", + name = "Contact", isResolved = false ) ), diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyButtonPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyButtonPreview.kt similarity index 85% rename from composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyButtonPreview.kt rename to composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyButtonPreview.kt index c12f321..7c96f6a 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyButtonPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyButtonPreview.kt @@ -1,11 +1,10 @@ -package com.rafaelfelipeac.replyradar.core.common.ui.components.previews +package com.rafaelfelipeac.replyradar.previews.components import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.tooling.preview.Preview import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplyButton import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme -import com.rafaelfelipeac.replyradar.core.theme.model.AppTheme @Preview(showBackground = true) @Composable diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyConfirmationDialogPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyConfirmationDialogPreview.kt similarity index 92% rename from composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyConfirmationDialogPreview.kt rename to composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyConfirmationDialogPreview.kt index ad543e7..971fd6b 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyConfirmationDialogPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyConfirmationDialogPreview.kt @@ -1,4 +1,4 @@ -package com.rafaelfelipeac.replyradar.core.common.ui.components.previews +package com.rafaelfelipeac.replyradar.previews.components import androidx.compose.runtime.Composable import androidx.compose.ui.tooling.preview.Preview diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/previews/ReplyListItemPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyListItemPreview.kt similarity index 92% rename from composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/previews/ReplyListItemPreview.kt rename to composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyListItemPreview.kt index e08e432..337ddc0 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/previews/ReplyListItemPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyListItemPreview.kt @@ -1,4 +1,4 @@ -package com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.components.previews +package com.rafaelfelipeac.replyradar.previews.components import androidx.compose.runtime.Composable import androidx.compose.ui.tooling.preview.Preview diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/previews/ReplyListPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyListPreview.kt similarity index 93% rename from composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/previews/ReplyListPreview.kt rename to composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyListPreview.kt index 81387c2..e0b61d0 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/previews/ReplyListPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyListPreview.kt @@ -1,4 +1,4 @@ -package com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.components.previews +package com.rafaelfelipeac.replyradar.previews.components import androidx.compose.runtime.Composable import androidx.compose.ui.tooling.preview.Preview diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyNotificationPermissionDialogPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyNotificationPermissionDialogPreview.kt similarity index 90% rename from composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyNotificationPermissionDialogPreview.kt rename to composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyNotificationPermissionDialogPreview.kt index f8d2ba3..5fff195 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyNotificationPermissionDialogPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyNotificationPermissionDialogPreview.kt @@ -1,4 +1,4 @@ -package com.rafaelfelipeac.replyradar.core.common.ui.components.previews +package com.rafaelfelipeac.replyradar.previews.components import androidx.compose.runtime.Composable import androidx.compose.ui.tooling.preview.Preview diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyOutlinedButtonPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyOutlinedButtonPreview.kt similarity index 73% rename from composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyOutlinedButtonPreview.kt rename to composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyOutlinedButtonPreview.kt index 49a05c4..d65ac25 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyOutlinedButtonPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyOutlinedButtonPreview.kt @@ -1,12 +1,12 @@ -package com.rafaelfelipeac.replyradar.core.common.ui.components.previews +package com.rafaelfelipeac.replyradar.previews.components import androidx.compose.runtime.Composable import androidx.compose.ui.tooling.preview.Preview import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplyOutlinedButton import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme import replyradar.composeapp.generated.resources.Res -import replyradar.composeapp.generated.resources.ic_calendar -import replyradar.composeapp.generated.resources.ic_clock +import replyradar.composeapp.generated.resources.ic_date +import replyradar.composeapp.generated.resources.ic_time @Preview(showBackground = true) @Composable @@ -16,7 +16,7 @@ fun ReplyOutlinedButtonPreview() { ) { ReplyOutlinedButton( text = "September 11, 2024", - icon = Res.drawable.ic_calendar, + icon = Res.drawable.ic_date, onClick = {} ) } @@ -30,7 +30,7 @@ fun ReplyOutlinedButtonDarkPreview() { ) { ReplyOutlinedButton( text = "10:30", - icon = Res.drawable.ic_clock, + icon = Res.drawable.ic_time, onClick = {} ) } diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyProgressPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyProgressPreview.kt similarity index 88% rename from composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyProgressPreview.kt rename to composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyProgressPreview.kt index d815d8d..e72c2c4 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyProgressPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyProgressPreview.kt @@ -1,4 +1,4 @@ -package com.rafaelfelipeac.replyradar.core.common.ui.components.previews +package com.rafaelfelipeac.replyradar.previews.components import androidx.compose.runtime.Composable import androidx.compose.ui.tooling.preview.Preview diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyRadarErrorPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyRadarErrorPreview.kt similarity index 88% rename from composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyRadarErrorPreview.kt rename to composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyRadarErrorPreview.kt index 70985c9..5881490 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyRadarErrorPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyRadarErrorPreview.kt @@ -1,4 +1,4 @@ -package com.rafaelfelipeac.replyradar.core.common.ui.components.previews +package com.rafaelfelipeac.replyradar.previews.components import androidx.compose.runtime.Composable import androidx.compose.ui.tooling.preview.Preview diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyRadarPlaceholderPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyRadarPlaceholderPreview.kt similarity index 90% rename from composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyRadarPlaceholderPreview.kt rename to composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyRadarPlaceholderPreview.kt index 12e743b..2be80ee 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyRadarPlaceholderPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyRadarPlaceholderPreview.kt @@ -1,4 +1,4 @@ -package com.rafaelfelipeac.replyradar.core.common.ui.components.previews +package com.rafaelfelipeac.replyradar.previews.components import androidx.compose.runtime.Composable import androidx.compose.ui.tooling.preview.Preview diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyReminderPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyReminderPreview.kt similarity index 94% rename from composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyReminderPreview.kt rename to composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyReminderPreview.kt index 5f4ffdc..4e85ab5 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyReminderPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyReminderPreview.kt @@ -1,4 +1,4 @@ -package com.rafaelfelipeac.replyradar.core.common.ui.components.previews +package com.rafaelfelipeac.replyradar.previews.components import androidx.compose.runtime.Composable import androidx.compose.ui.tooling.preview.Preview diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyRoundedCornerPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyRoundedCornerPreview.kt similarity index 80% rename from composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyRoundedCornerPreview.kt rename to composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyRoundedCornerPreview.kt index 51b7b1a..a3b43bf 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyRoundedCornerPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyRoundedCornerPreview.kt @@ -1,14 +1,12 @@ -package com.rafaelfelipeac.replyradar.core.common.ui.components.previews +package com.rafaelfelipeac.replyradar.previews.components import androidx.compose.foundation.background import androidx.compose.foundation.layout.Box -import androidx.compose.foundation.layout.size import androidx.compose.material3.MaterialTheme.colorScheme import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.tooling.preview.Preview import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplyRoundedCorner -import com.rafaelfelipeac.replyradar.core.common.ui.previewSize import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme @Preview @@ -19,7 +17,6 @@ fun ReplyRoundedCornerPreview() { ) { Box( modifier = Modifier - .size(previewSize) .background( color = colorScheme.primary, shape = ReplyRoundedCorner() @@ -36,7 +33,6 @@ fun ReplyRoundedCornerDarkPreview() { ) { Box( modifier = Modifier - .size(previewSize) .background( color = colorScheme.primary, shape = ReplyRoundedCorner() diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplySnackbarPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplySnackbarPreview.kt similarity index 90% rename from composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplySnackbarPreview.kt rename to composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplySnackbarPreview.kt index f8e4c2c..354063a 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplySnackbarPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplySnackbarPreview.kt @@ -1,4 +1,4 @@ -package com.rafaelfelipeac.replyradar.core.common.ui.components.previews +package com.rafaelfelipeac.replyradar.previews.components import androidx.compose.material3.SnackbarHostState import androidx.compose.runtime.Composable diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyTabPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyTabPreview.kt similarity index 91% rename from composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyTabPreview.kt rename to composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyTabPreview.kt index 9ef5896..a3890a2 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyTabPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyTabPreview.kt @@ -1,4 +1,4 @@ -package com.rafaelfelipeac.replyradar.core.common.ui.components.previews +package com.rafaelfelipeac.replyradar.previews.components import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyTextFieldPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyTextFieldPreview.kt similarity index 91% rename from composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyTextFieldPreview.kt rename to composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyTextFieldPreview.kt index d1f487e..203cb0b 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyTextFieldPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyTextFieldPreview.kt @@ -1,4 +1,4 @@ -package com.rafaelfelipeac.replyradar.core.common.ui.components.previews +package com.rafaelfelipeac.replyradar.previews.components import androidx.compose.runtime.Composable import androidx.compose.ui.tooling.preview.Preview diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/previews/ReplyTimestampInfoPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyTimestampInfoPreview.kt similarity index 84% rename from composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/previews/ReplyTimestampInfoPreview.kt rename to composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyTimestampInfoPreview.kt index 137ca33..6b3d968 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/previews/ReplyTimestampInfoPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyTimestampInfoPreview.kt @@ -1,4 +1,4 @@ -package com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.components.previews +package com.rafaelfelipeac.replyradar.previews.components import androidx.compose.foundation.layout.Column import androidx.compose.runtime.Composable @@ -19,7 +19,8 @@ fun ReplyTimestampInfoPreview() { state = ReplyBottomSheetState( reply = Reply( id = 1, - message = "Message", + name = "Contact 1", + subject = "Message 1", isResolved = false ) ) @@ -39,7 +40,8 @@ fun ReplyTimestampInfoDarkPreview() { state = ReplyBottomSheetState( reply = Reply( id = 1, - message = "Message", + name = "Contact 1", + subject = "Message 1", isResolved = false ) ) diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyTogglePreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyTogglePreview.kt similarity index 90% rename from composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyTogglePreview.kt rename to composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyTogglePreview.kt index 0c94031..564baee 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/previews/ReplyTogglePreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyTogglePreview.kt @@ -1,4 +1,4 @@ -package com.rafaelfelipeac.replyradar.core.common.ui.components.previews +package com.rafaelfelipeac.replyradar.previews.components import androidx.compose.runtime.Composable import androidx.compose.ui.tooling.preview.Preview diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/previews/TopBarPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/TopBarPreview.kt similarity index 88% rename from composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/previews/TopBarPreview.kt rename to composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/TopBarPreview.kt index 9976db3..948541a 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/previews/TopBarPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/TopBarPreview.kt @@ -1,4 +1,4 @@ -package com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.components.previews +package com.rafaelfelipeac.replyradar.previews.components import androidx.compose.runtime.Composable import androidx.compose.ui.tooling.preview.Preview diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/features/activitylog/presentation/previews/ActivityLogScreenPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/screens/ActivityLogScreenPreview.kt similarity index 96% rename from composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/features/activitylog/presentation/previews/ActivityLogScreenPreview.kt rename to composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/screens/ActivityLogScreenPreview.kt index ea7e851..af43b02 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/features/activitylog/presentation/previews/ActivityLogScreenPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/screens/ActivityLogScreenPreview.kt @@ -1,4 +1,4 @@ -package com.rafaelfelipeac.replyradar.features.activitylog.presentation.previews +package com.rafaelfelipeac.replyradar.previews.screens import androidx.compose.runtime.Composable import androidx.compose.ui.tooling.preview.Preview diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/previews/ReplyListScreenPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/screens/ReplyListScreenPreview.kt similarity index 92% rename from composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/previews/ReplyListScreenPreview.kt rename to composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/screens/ReplyListScreenPreview.kt index c0518a9..8c191c4 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/previews/ReplyListScreenPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/screens/ReplyListScreenPreview.kt @@ -1,4 +1,4 @@ -package com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.previews +package com.rafaelfelipeac.replyradar.previews.screens import androidx.compose.runtime.Composable import androidx.compose.ui.tooling.preview.Preview diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/features/settings/presentation/previews/SettingsScreenPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/screens/SettingsScreenPreview.kt similarity index 90% rename from composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/features/settings/presentation/previews/SettingsScreenPreview.kt rename to composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/screens/SettingsScreenPreview.kt index 944f3c8..7d34b58 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/features/settings/presentation/previews/SettingsScreenPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/screens/SettingsScreenPreview.kt @@ -1,4 +1,4 @@ -package com.rafaelfelipeac.replyradar.features.settings.presentation.previews +package com.rafaelfelipeac.replyradar.previews.screens import androidx.compose.runtime.Composable import androidx.compose.ui.tooling.preview.Preview From e4b3559573d70bb497d13312d12fa9a825b8cd1c Mon Sep 17 00:00:00 2001 From: Rafael Cordeiro Date: Tue, 29 Jul 2025 14:53:18 -0300 Subject: [PATCH 06/21] Preview fixes. --- .../components/ReplyBottomSheetActionsPreview.kt | 6 ++++-- .../components/ReplyBottomSheetContentPreview.kt | 6 ++++-- .../previews/components/ReplyListItemPreview.kt | 2 -- .../previews/components/ReplyListPreview.kt | 12 ++++++++---- 4 files changed, 16 insertions(+), 10 deletions(-) diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyBottomSheetActionsPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyBottomSheetActionsPreview.kt index 1aa4943..140ddd5 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyBottomSheetActionsPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyBottomSheetActionsPreview.kt @@ -19,7 +19,8 @@ fun ReplyBottomSheetActionsPreview() { replyBottomSheetMode = ReplyBottomSheetMode.EDIT, reply = Reply( id = 1, - message = "Message", + subject = "Message", + name = "Contact", isResolved = false ) ), @@ -48,7 +49,8 @@ fun ReplyBottomSheetActionsDarkPreview() { replyBottomSheetMode = ReplyBottomSheetMode.EDIT, reply = Reply( id = 1, - message = "Message", + subject = "Message", + name = "Contact", isResolved = false ) ), diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyBottomSheetContentPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyBottomSheetContentPreview.kt index d6ade05..b06313d 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyBottomSheetContentPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyBottomSheetContentPreview.kt @@ -19,7 +19,8 @@ fun ReplyBottomSheetContentPreview() { replyBottomSheetMode = ReplyBottomSheetMode.CREATE, reply = Reply( id = 1, - message = "Message", + subject = "Message", + name = "Contact", isResolved = false ) ), @@ -43,7 +44,8 @@ fun ReplyBottomSheetContentDarkPreview() { replyBottomSheetMode = ReplyBottomSheetMode.CREATE, reply = Reply( id = 1, - message = "Message", + subject = "Message", + name = "Contact", isResolved = false ) ), diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyListItemPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyListItemPreview.kt index 337ddc0..dcbdb91 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyListItemPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyListItemPreview.kt @@ -15,7 +15,6 @@ fun ReplyListItemPreview() { ReplyListItem( reply = Reply( id = 1, - message = "Message", isResolved = false, name = "Name", subject = "Subject" @@ -35,7 +34,6 @@ fun ReplyListItemDarkPreview() { ReplyListItem( reply = Reply( id = 1, - message = "Message", isResolved = false, name = "Name", subject = "Subject" diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyListPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyListPreview.kt index e0b61d0..f1fa966 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyListPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyListPreview.kt @@ -16,12 +16,14 @@ fun ReplyListPreview() { replies = listOf( Reply( id = 1, - message = "Message 1", + name = "Contact 1", + subject = "Message 1", isResolved = false ), Reply( id = 2, - message = "Message 2", + name = "Contact 2", + subject = "Message 2", isResolved = false ) ), @@ -40,12 +42,14 @@ fun ReplyListDarkPreview() { replies = listOf( Reply( id = 1, - message = "Message 1", + name = "Contact 1", + subject = "Message 1", isResolved = false ), Reply( id = 2, - message = "Message 2", + name = "Contact 2", + subject = "Message 2", isResolved = false ) ), From 1ad21a65f2b536b352a31a28f8cd6c55cdbda256 Mon Sep 17 00:00:00 2001 From: Rafael Cordeiro Date: Tue, 29 Jul 2025 15:00:18 -0300 Subject: [PATCH 07/21] Preview fixes. --- .../components/FloatingActionButtonPreview.kt | 29 ++++++++++++++ .../components/PlatformDatePickerPreview.kt | 38 +++++++++++++++++++ .../components/PlatformTimePickerPreview.kt | 38 +++++++++++++++++++ .../components/FloatingActionButton.kt | 13 ------- 4 files changed, 105 insertions(+), 13 deletions(-) create mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/FloatingActionButtonPreview.kt create mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/PlatformDatePickerPreview.kt create mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/PlatformTimePickerPreview.kt diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/FloatingActionButtonPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/FloatingActionButtonPreview.kt new file mode 100644 index 0000000..9ebcc7b --- /dev/null +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/FloatingActionButtonPreview.kt @@ -0,0 +1,29 @@ +package com.rafaelfelipeac.replyradar.previews.components + +import androidx.compose.material3.MaterialTheme +import androidx.compose.runtime.Composable +import androidx.compose.ui.tooling.preview.Preview +import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme +import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.components.FloatingActionButton + +@Preview(showBackground = true) +@Composable +fun FloatingActionButtonPreview() { + ReplyRadarTheme(darkTheme = false) { + FloatingActionButton( + onIntent = {}, + colorScheme = MaterialTheme.colorScheme + ) + } +} + +@Preview(showBackground = true) +@Composable +fun FloatingActionButtonDarkPreview() { + ReplyRadarTheme(darkTheme = true) { + FloatingActionButton( + onIntent = {}, + colorScheme = MaterialTheme.colorScheme + ) + } +} diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/PlatformDatePickerPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/PlatformDatePickerPreview.kt new file mode 100644 index 0000000..e79cced --- /dev/null +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/PlatformDatePickerPreview.kt @@ -0,0 +1,38 @@ +package com.rafaelfelipeac.replyradar.previews.components + +import androidx.compose.runtime.Composable +import androidx.compose.ui.tooling.preview.Preview +import com.rafaelfelipeac.replyradar.core.datetime.PlatformDatePicker +import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme + +@Preview(showBackground = true) +@Composable +fun PlatformDatePickerPreview() { + ReplyRadarTheme(darkTheme = false) { + PlatformDatePicker( + selectedDate = null, + selectedTime = null, + onDateSelected = {}, + confirmButtonText = "OK", + dismissButtonText = "Cancelar", + onTimeInvalidated = {}, + onDismiss = {} + ) + } +} + +@Preview(showBackground = true) +@Composable +fun PlatformDatePickerDarkPreview() { + ReplyRadarTheme(darkTheme = true) { + PlatformDatePicker( + selectedDate = null, + selectedTime = null, + onDateSelected = {}, + confirmButtonText = "OK", + dismissButtonText = "Cancelar", + onTimeInvalidated = {}, + onDismiss = {} + ) + } +} diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/PlatformTimePickerPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/PlatformTimePickerPreview.kt new file mode 100644 index 0000000..6197d29 --- /dev/null +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/PlatformTimePickerPreview.kt @@ -0,0 +1,38 @@ +package com.rafaelfelipeac.replyradar.previews.components + +import androidx.compose.runtime.Composable +import androidx.compose.ui.tooling.preview.Preview +import com.rafaelfelipeac.replyradar.core.datetime.PlatformTimePicker +import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme + +@Preview(showBackground = true) +@Composable +fun PlatformTimePickerPreview() { + ReplyRadarTheme(darkTheme = false) { + PlatformTimePicker( + selectedTime = null, + selectedDate = null, + onTimeSelected = {}, + onDismiss = {}, + confirmButtonText = "OK", + dismissButtonText = "Cancelar", + pickerTimeTitle = "Escolha um horário" + ) + } +} + +@Preview(showBackground = true) +@Composable +fun PlatformTimePickerDarkPreview() { + ReplyRadarTheme(darkTheme = true) { + PlatformTimePicker( + selectedTime = null, + selectedDate = null, + onTimeSelected = {}, + onDismiss = {}, + confirmButtonText = "OK", + dismissButtonText = "Cancelar", + pickerTimeTitle = "Escolha um horário" + ) + } +} diff --git a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/FloatingActionButton.kt b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/FloatingActionButton.kt index 3e22a35..877ca38 100644 --- a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/FloatingActionButton.kt +++ b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/FloatingActionButton.kt @@ -5,11 +5,8 @@ import androidx.compose.material.icons.filled.Add import androidx.compose.material3.ColorScheme import androidx.compose.material3.FloatingActionButton import androidx.compose.material3.Icon -import androidx.compose.material3.MaterialTheme import androidx.compose.runtime.Composable -import androidx.compose.ui.tooling.preview.Preview import com.rafaelfelipeac.replyradar.core.strings.LocalReplyRadarStrings -import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.ReplyListScreenIntent import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.ReplyListScreenIntent.ReplyListIntent.OnAddReplyClick @@ -30,13 +27,3 @@ fun FloatingActionButton( ) } } - -@Preview(showBackground = true) -@Composable -fun FloatingActionButtonPreview() { - ReplyRadarTheme { - FloatingActionButton( - colorScheme = MaterialTheme.colorScheme - ) - } -} From 942b5f3e1d0a5b038e832608ebca674257bfe900 Mon Sep 17 00:00:00 2001 From: Rafael Cordeiro Date: Wed, 30 Jul 2025 21:38:08 -0300 Subject: [PATCH 08/21] Preview fixes. --- .../replyradar/previews/PreviewStringsFake.kt | 127 +++++++++++++ .../previews/ReplyRadarPreviewWrapper.kt | 18 ++ .../replyradar/previews/Shared.kt | 114 ++++++++++++ .../components/ActivityLogListItemPreview.kt | 47 +++++ .../components/FloatingActionButtonPreview.kt | 39 ++-- .../components/PlatformDatePickerPreview.kt | 15 +- .../components/PlatformTimePickerPreview.kt | 19 +- .../RepliesArchivedScreenPreview.kt | 30 +-- .../RepliesOnTheRadarScreenPreview.kt | 30 ++- .../RepliesResolvedScreenPreview.kt | 26 ++- .../components/RepliesScreenPreview.kt | 36 ---- .../ReplyBottomSheetActionsPreview.kt | 78 ++++++-- .../ReplyBottomSheetContentPreview.kt | 68 +++++-- .../previews/components/ReplyButtonPreview.kt | 43 +++-- .../ReplyConfirmationDialogPreview.kt | 33 ++-- .../components/ReplyListItemPreview.kt | 54 ++++-- .../previews/components/ReplyListPreview.kt | 64 +++---- ...eplyNotificationPermissionDialogPreview.kt | 6 +- .../components/ReplyOutlinedButtonPreview.kt | 172 ++++++++++++++++-- .../components/ReplyRadarErrorPreview.kt | 68 ++++++- .../ReplyRadarPlaceholderPreview.kt | 39 +++- .../components/ReplyTimestampInfoPreview.kt | 35 ++-- .../previews/components/ReplyTogglePreview.kt | 40 ++-- .../previews/components/TopBarPreview.kt | 5 +- .../common/ui/components/ReplyRadarError.kt | 8 +- .../ui/components/ReplyRadarPlaceholder.kt | 2 + .../common/ui/components/ReplyReminder.kt | 10 +- .../replylist/components/ReplyList.kt | 2 + .../components/ReplyTimestampInfo.kt | 4 +- .../replylist/components/TopBar.kt | 2 + .../ReplyBottomSheetActions.kt | 3 + 31 files changed, 954 insertions(+), 283 deletions(-) create mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/PreviewStringsFake.kt create mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/ReplyRadarPreviewWrapper.kt create mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/Shared.kt create mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ActivityLogListItemPreview.kt delete mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/RepliesScreenPreview.kt diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/PreviewStringsFake.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/PreviewStringsFake.kt new file mode 100644 index 0000000..bdb8e90 --- /dev/null +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/PreviewStringsFake.kt @@ -0,0 +1,127 @@ +package com.rafaelfelipeac.replyradar.previews + +import com.rafaelfelipeac.replyradar.core.strings.Strings + +// ktlint-disable max-line-length +object PreviewStringsFake : Strings { + override val appName = "Reply Radar" + + override val genericErrorMessage = "An unexpected error occurred." + + override val replyListActivityLog = "Activity Log" + override val replyListTabOnTheRadar = "On the Radar" + override val replyListTabResolved = "Resolved" + override val replyListTabArchived = "Archived" + override val replyListPlaceholderOnTheRadar = + "Nothing on the radar for now!\nHow about adding something?" + override val replyListGetRepliesError = "Failed to load your replies. Please try again." + override val replyListPlaceholderResolved = + "No resolved replies yet.\nTime to get something done?" + override val replyListPlaceholderArchived = + "Archive’s looking empty!\nTime to clear your radar?" + override val replyListBottomSheetName = "Name" + override val replyListBottomSheetSubject = "Subject" + override val replyListBottomSheetAdd = "Add" + override val replyListBottomSheetSave = "Save" + override val replyListBottomSheetResolve = "Resolve" + override val replyListBottomSheetReopen = "Reopen" + override val replyListBottomSheetArchive = "Archive" + override val replyListBottomSheetUnarchive = "Unarchive" + override val replyListBottomSheetDelete = "Delete" + override val replyListItemResolve = "Resolve" + override val replyListItemCreatedAt = "Created at: %1" + override val replyListItemUpdatedAt = "Updated at: %1" + override val replyListItemResolvedAt = "Resolved at: %1" + override val replyListItemArchivedAt = "Archived at: %1" + override val replyListFabContentDescription = "Add a new reply to your radar." + override val replyListDeleteDialogTitle = "Are you sure?" + override val replyListDeleteDialogDescription = "This action will permanently delete \"%1\" and cannot be undone." + override val replyListDeleteDialogConfirm = "Delete" + override val replyListDeleteDialogDismiss = "Cancel" + override val replyListSnackbarArchived = "Item successfully archived." + override val replyListSnackbarRemoved = "Item permanently deleted." + override val replyListSnackbarReopened = "Item reopened and back on the radar." + override val replyListSnackbarResolved = "Item marked as resolved." + override val replyListSnackbarUnarchived = "Item successfully unarchived." + override val replyListReminder = "Reminder" + override val replyListReminderSet = "Reminder set for:" + override val replyListReminderSetSeparator = "%1 at %2" + override val replyListReminderToday = "today" + override val replyListReminderTomorrow = "tomorrow" + override val replyListReminderTimeIconContentDescription = "Time" + override val replyListReminderDateIconContentDescription = "Date" + override val replyListReminderCloseIconContentDescription = "Close" + override val replyListReminderInvalidDateTime = "The selected date and time has already passed." + override val replyListReminderTimePickerTitle = "Select time" + override val replyListReminderTimePickerConfirmButton = "OK" + override val replyListReminderTimePickerDismissButton = "Cancel" + override val replyListReminderDatePickerConfirmButton = "OK" + override val replyListReminderDatePickerDismissButton = "Cancel" + + override val settingsTitle = "Settings" + override val settingsBackButton = "Back" + override val settingsTheme = "Theme" + override val settingsThemeLight = "Light" + override val settingsThemeDark = "Dark" + override val settingsThemeSystem = "Use system default" + override val settingsLanguage = "Language" + override val settingsLanguageEnglish = "English" + override val settingsLanguagePortuguese = "Portuguese" + override val settingsLanguageGerman = "German" + override val settingsLanguageFrench = "French" + override val settingsLanguageSpanish = "Spanish" + override val settingsLanguageSystem = "Use system default" + override val settingsFeedbackTitle = "Feedback" + override val settingsFeedbackDescription = + "Send us an email with questions, suggestions or to report a bug. Your feedback helps make Reply Radar better!" + override val settingsFeedbackEmailSubject = "Reply Radar - Feedback & Suggestions" + override val settingsFeedbackEmailBody = """ +Hello! + +Feel free to share your questions, suggestions or report a bug. + +All feedback is very welcome :) + +--- + +App version: 1.0.0-dev + """.trimIndent() + override val settingsRateTitle = "Rate the app" + override val settingsRateDescription = + "Enjoying Reply Radar? Leave a review on the Play Store and help others discover the app!" + override val settingsAppVersion = "Reply Radar - Version:" + + override val activityLogTitle = "Activity Log" + override val activityLogBackButton = "Back" + override val activityLogItemContentDescription = "Activity log item" + override val activityLogPlaceholder = + "No activity just yet!\nYour radar’s waiting for some action." + override val activityLogGetActivityLogsError = + "Failed to load your activity log. Please try again." + override val activityLogMessageFormat = "You %1 %2" + override val activityLogMessageItem = "the item \"%1\"." + override val activityLogMessageItemRemoved = "an item that no longer exists." + override val activityLogUserActionArchiveVerb = "archived" + override val activityLogUserActionCreateVerb = "created" + override val activityLogUserActionDeleteVerb = "deleted" + override val activityLogUserActionEditVerb = "edited" + override val activityLogUserActionReopenVerb = "reopened" + override val activityLogUserActionResolveVerb = "resolved" + override val activityLogUserActionUnarchiveVerb = "unarchived" + override val activityLogUserActionOpenVerb = "opened" + override val activityLogUserActionScheduledVerb = "scheduled a reminder for" + override val activityLogUserActionOpenedNotificationVerb = "opened a notification for" + override val activityLogUserActionTheme = "You switched the app theme." + override val activityLogUserActionLanguage = "You changed the app language." + override val activityLogUserActionFeedback = "You gave feedback about the app." + override val activityLogUserActionRate = "You rated the app." + + override val notificationPermissionDialogTitle = "Notification Permission" + override val notificationPermissionDialogDescription = "To remind you to reply to your messages, we need permission to send notifications. \n\nYou can enable it in the app settings." + override val notificationPermissionDialogConfirmButton = "Open Settings" + override val notificationPermissionDialogDismissButton = "Got it" + override val notificationTitle = "Hey, how about replying to %1?" + override val notificationContent = "%1 is waiting for your reply about \"%2\"." + override val notificationContentWithoutSubject = "%1 is waiting for your reply." +} +// ktlint-enable max-line-length diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/ReplyRadarPreviewWrapper.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/ReplyRadarPreviewWrapper.kt new file mode 100644 index 0000000..db72408 --- /dev/null +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/ReplyRadarPreviewWrapper.kt @@ -0,0 +1,18 @@ +package com.rafaelfelipeac.replyradar.previews + +import androidx.compose.runtime.Composable +import androidx.compose.runtime.CompositionLocalProvider +import com.rafaelfelipeac.replyradar.core.strings.LocalReplyRadarStrings +import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme + +@Composable +fun ReplyRadarPreviewWrapper( + darkTheme: Boolean = false, + content: @Composable () -> Unit +) { + CompositionLocalProvider(LocalReplyRadarStrings provides PreviewStringsFake) { + ReplyRadarTheme(darkTheme = darkTheme) { + content() + } + } +} diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/Shared.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/Shared.kt new file mode 100644 index 0000000..34feeef --- /dev/null +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/Shared.kt @@ -0,0 +1,114 @@ +package com.rafaelfelipeac.replyradar.previews + +import com.rafaelfelipeac.replyradar.features.reply.domain.model.Reply + +sealed class Replies { + + data object OnTheRadar : Replies() { + val reply1 = Reply( + id = 1, + name = "Lucas Almeida", + subject = "Wanna grab coffee sometime?", + createdAt = 1741120800000L + ) + val reply2 = Reply( + id = 2, + name = "Sofia Ribeiro", + subject = "Update on Monday's project" + ) + val reply3 = Reply( + id = 3, + name = "Thiago Martins", + subject = "Did you get a chance to check the contract?" + ) + val reply4 = Reply( + id = 4, + name = "Marina Costa", + subject = "You're invited to my birthday 🎉" + ) + val reply5 = Reply( + id = 5, + name = "Diego Fernandes", + subject = "Meeting moved to Friday, okay?" + ) + + val replies = listOf(reply1, reply2, reply3, reply4, reply5) + } + + data object Resolved : Replies() { + val reply1 = Reply( + id = 1, + name = "Lucas Almeida", + subject = "Wanna grab coffee sometime?", + isResolved = true, + createdAt = 1741120800000L, + resolvedAt = 1741120800000L + ) + val reply2 = Reply( + id = 2, + name = "Sofia Ribeiro", + subject = "Update on Monday's project", + isResolved = true + ) + val reply3 = Reply( + id = 3, + name = "Thiago Martins", + subject = "Did you get a chance to check the contract?", + isResolved = true + ) + val reply4 = Reply( + id = 4, + name = "Marina Costa", + subject = "You're invited to my birthday 🎉", + isResolved = true + ) + val reply5 = Reply( + id = 5, + name = "Diego Fernandes", + subject = "Meeting moved to Friday, okay?", + isResolved = true + ) + + val replies = listOf(reply1, reply2, reply3, reply4, reply5) + } + + data object Archived : Replies() { + val reply1 = Reply( + id = 1, + name = "Lucas Almeida", + subject = "Wanna grab coffee sometime?", + isArchived = true, + isResolved = true, + createdAt = 1741120800000L, + resolvedAt = 1741120800000L, + archivedAt = 1741120800000L + ) + val reply2 = Reply( + id = 2, + name = "Sofia Ribeiro", + subject = "Update on Monday's project", + isArchived = true + ) + val reply3 = Reply( + id = 3, + name = "Thiago Martins", + subject = "Did you get a chance to check the contract?", + isArchived = true, + isResolved = true + ) + val reply4 = Reply( + id = 4, + name = "Marina Costa", + subject = "You're invited to my birthday 🎉", + isArchived = true + ) + val reply5 = Reply( + id = 5, + name = "Diego Fernandes", + subject = "Meeting moved to Friday, okay?", + isArchived = true + ) + + val replies = listOf(reply1, reply2, reply3, reply4, reply5) + } +} diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ActivityLogListItemPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ActivityLogListItemPreview.kt new file mode 100644 index 0000000..3e4fee0 --- /dev/null +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ActivityLogListItemPreview.kt @@ -0,0 +1,47 @@ +package com.rafaelfelipeac.replyradar.previews.components + +import androidx.compose.runtime.Composable +import androidx.compose.ui.tooling.preview.Preview +import com.rafaelfelipeac.replyradar.features.activitylog.presentation.ActivityLogListItem +import com.rafaelfelipeac.replyradar.features.useractions.domain.model.UserAction +import com.rafaelfelipeac.replyradar.features.useractions.domain.model.UserActionTargetType +import com.rafaelfelipeac.replyradar.features.useractions.domain.model.UserActionType +import com.rafaelfelipeac.replyradar.previews.Replies +import com.rafaelfelipeac.replyradar.previews.ReplyRadarPreviewWrapper +import kotlinx.datetime.Clock + +@Preview(showBackground = true) +@Composable +fun ActivityLogListItemPreview() { + ReplyRadarPreviewWrapper( + darkTheme = false + ) { + ActivityLogListItem( + userAction = UserAction( + id = 1, + actionType = UserActionType.Create, + targetType = UserActionTargetType.Message, + targetName = Replies.OnTheRadar.reply1.name, + createdAt = Clock.System.now().toEpochMilliseconds() + ) + ) + } +} + +@Preview(showBackground = true) +@Composable +fun ActivityLogListItemDarkPreview() { + ReplyRadarPreviewWrapper( + darkTheme = true + ) { + ActivityLogListItem( + userAction = UserAction( + id = 1, + actionType = UserActionType.Create, + targetType = UserActionTargetType.Message, + targetName = Replies.OnTheRadar.reply1.name, + createdAt = Clock.System.now().toEpochMilliseconds() + ) + ) + } +} diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/FloatingActionButtonPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/FloatingActionButtonPreview.kt index 9ebcc7b..30138b4 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/FloatingActionButtonPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/FloatingActionButtonPreview.kt @@ -1,29 +1,46 @@ package com.rafaelfelipeac.replyradar.previews.components +import androidx.compose.foundation.background +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.padding import androidx.compose.material3.MaterialTheme import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier import androidx.compose.ui.tooling.preview.Preview -import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme +import androidx.compose.ui.unit.dp import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.components.FloatingActionButton +import com.rafaelfelipeac.replyradar.previews.ReplyRadarPreviewWrapper @Preview(showBackground = true) @Composable fun FloatingActionButtonPreview() { - ReplyRadarTheme(darkTheme = false) { - FloatingActionButton( - onIntent = {}, - colorScheme = MaterialTheme.colorScheme - ) + ReplyRadarPreviewWrapper(darkTheme = false) { + Box( + modifier = Modifier + .background(MaterialTheme.colorScheme.surface) + .padding(4.dp) + ) { + FloatingActionButton( + onIntent = {}, + colorScheme = MaterialTheme.colorScheme + ) + } } } @Preview(showBackground = true) @Composable fun FloatingActionButtonDarkPreview() { - ReplyRadarTheme(darkTheme = true) { - FloatingActionButton( - onIntent = {}, - colorScheme = MaterialTheme.colorScheme - ) + ReplyRadarPreviewWrapper(darkTheme = true) { + Box( + modifier = Modifier + .background(MaterialTheme.colorScheme.surface) + .padding(4.dp) + ) { + FloatingActionButton( + onIntent = {}, + colorScheme = MaterialTheme.colorScheme + ) + } } } diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/PlatformDatePickerPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/PlatformDatePickerPreview.kt index e79cced..b67ebfa 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/PlatformDatePickerPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/PlatformDatePickerPreview.kt @@ -3,18 +3,19 @@ package com.rafaelfelipeac.replyradar.previews.components import androidx.compose.runtime.Composable import androidx.compose.ui.tooling.preview.Preview import com.rafaelfelipeac.replyradar.core.datetime.PlatformDatePicker -import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme +import com.rafaelfelipeac.replyradar.previews.PreviewStringsFake +import com.rafaelfelipeac.replyradar.previews.ReplyRadarPreviewWrapper @Preview(showBackground = true) @Composable fun PlatformDatePickerPreview() { - ReplyRadarTheme(darkTheme = false) { + ReplyRadarPreviewWrapper(darkTheme = false) { PlatformDatePicker( selectedDate = null, selectedTime = null, onDateSelected = {}, - confirmButtonText = "OK", - dismissButtonText = "Cancelar", + confirmButtonText = PreviewStringsFake.replyListReminderDatePickerConfirmButton, + dismissButtonText = PreviewStringsFake.replyListReminderDatePickerDismissButton, onTimeInvalidated = {}, onDismiss = {} ) @@ -24,13 +25,13 @@ fun PlatformDatePickerPreview() { @Preview(showBackground = true) @Composable fun PlatformDatePickerDarkPreview() { - ReplyRadarTheme(darkTheme = true) { + ReplyRadarPreviewWrapper(darkTheme = true) { PlatformDatePicker( selectedDate = null, selectedTime = null, onDateSelected = {}, - confirmButtonText = "OK", - dismissButtonText = "Cancelar", + confirmButtonText = PreviewStringsFake.replyListReminderDatePickerConfirmButton, + dismissButtonText = PreviewStringsFake.replyListReminderDatePickerDismissButton, onTimeInvalidated = {}, onDismiss = {} ) diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/PlatformTimePickerPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/PlatformTimePickerPreview.kt index 6197d29..d891eaf 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/PlatformTimePickerPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/PlatformTimePickerPreview.kt @@ -3,20 +3,21 @@ package com.rafaelfelipeac.replyradar.previews.components import androidx.compose.runtime.Composable import androidx.compose.ui.tooling.preview.Preview import com.rafaelfelipeac.replyradar.core.datetime.PlatformTimePicker -import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme +import com.rafaelfelipeac.replyradar.previews.PreviewStringsFake +import com.rafaelfelipeac.replyradar.previews.ReplyRadarPreviewWrapper @Preview(showBackground = true) @Composable fun PlatformTimePickerPreview() { - ReplyRadarTheme(darkTheme = false) { + ReplyRadarPreviewWrapper(darkTheme = false) { PlatformTimePicker( selectedTime = null, selectedDate = null, onTimeSelected = {}, onDismiss = {}, - confirmButtonText = "OK", - dismissButtonText = "Cancelar", - pickerTimeTitle = "Escolha um horário" + confirmButtonText = PreviewStringsFake.replyListReminderTimePickerConfirmButton, + dismissButtonText = PreviewStringsFake.replyListReminderTimePickerDismissButton, + pickerTimeTitle = PreviewStringsFake.replyListReminderTimePickerTitle, ) } } @@ -24,15 +25,15 @@ fun PlatformTimePickerPreview() { @Preview(showBackground = true) @Composable fun PlatformTimePickerDarkPreview() { - ReplyRadarTheme(darkTheme = true) { + ReplyRadarPreviewWrapper(darkTheme = true) { PlatformTimePicker( selectedTime = null, selectedDate = null, onTimeSelected = {}, onDismiss = {}, - confirmButtonText = "OK", - dismissButtonText = "Cancelar", - pickerTimeTitle = "Escolha um horário" + confirmButtonText = PreviewStringsFake.replyListReminderTimePickerConfirmButton, + dismissButtonText = PreviewStringsFake.replyListReminderTimePickerDismissButton, + pickerTimeTitle = PreviewStringsFake.replyListReminderTimePickerTitle, ) } } diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/RepliesArchivedScreenPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/RepliesArchivedScreenPreview.kt index a60f241..2b5f2cc 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/RepliesArchivedScreenPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/RepliesArchivedScreenPreview.kt @@ -2,18 +2,22 @@ package com.rafaelfelipeac.replyradar.previews.components import androidx.compose.runtime.Composable import androidx.compose.ui.tooling.preview.Preview -import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme +import com.rafaelfelipeac.replyradar.core.util.AppConstants.ARCHIVED_INDEX import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.ReplyListState -import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.components.RepliesArchivedScreen +import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.components.RepliesScreen +import com.rafaelfelipeac.replyradar.previews.Replies +import com.rafaelfelipeac.replyradar.previews.ReplyRadarPreviewWrapper @Preview(showBackground = true) @Composable fun RepliesArchivedScreenPreview() { - ReplyRadarTheme( - darkTheme = false - ) { - RepliesArchivedScreen( - state = ReplyListState(), + ReplyRadarPreviewWrapper(darkTheme = false) { + RepliesScreen( + pageIndex = ARCHIVED_INDEX, + state = ReplyListState( + isLoading = false, + archivedReplies = Replies.Archived.replies + ), onIntent = {} ) } @@ -22,11 +26,13 @@ fun RepliesArchivedScreenPreview() { @Preview(showBackground = true) @Composable fun RepliesArchivedScreenDarkPreview() { - ReplyRadarTheme( - darkTheme = true - ) { - RepliesArchivedScreen( - state = ReplyListState(), + ReplyRadarPreviewWrapper(darkTheme = true) { + RepliesScreen( + pageIndex = ARCHIVED_INDEX, + state = ReplyListState( + isLoading = false, + archivedReplies = Replies.Archived.replies + ), onIntent = {} ) } diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/RepliesOnTheRadarScreenPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/RepliesOnTheRadarScreenPreview.kt index 629a5d0..e06d06d 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/RepliesOnTheRadarScreenPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/RepliesOnTheRadarScreenPreview.kt @@ -2,18 +2,24 @@ package com.rafaelfelipeac.replyradar.previews.components import androidx.compose.runtime.Composable import androidx.compose.ui.tooling.preview.Preview -import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme +import com.rafaelfelipeac.replyradar.core.util.AppConstants.ON_THE_RADAR_INDEX import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.ReplyListState -import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.components.RepliesOnTheRadarScreen +import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.components.RepliesScreen +import com.rafaelfelipeac.replyradar.previews.Replies +import com.rafaelfelipeac.replyradar.previews.ReplyRadarPreviewWrapper @Preview(showBackground = true) @Composable -fun RepliesOnTheRadarScreenPreview() { - ReplyRadarTheme( +fun RepliesScreenPreview() { + ReplyRadarPreviewWrapper( darkTheme = false ) { - RepliesOnTheRadarScreen( - state = ReplyListState(), + RepliesScreen( + pageIndex = ON_THE_RADAR_INDEX, + state = ReplyListState( + isLoading = false, + replies = Replies.OnTheRadar.replies + ), onIntent = {} ) } @@ -21,12 +27,16 @@ fun RepliesOnTheRadarScreenPreview() { @Preview(showBackground = true) @Composable -fun RepliesOnTheRadarScreenDarkPreview() { - ReplyRadarTheme( +fun RepliesScreenDarkPreview() { + ReplyRadarPreviewWrapper( darkTheme = true ) { - RepliesOnTheRadarScreen( - state = ReplyListState(), + RepliesScreen( + pageIndex = ON_THE_RADAR_INDEX, + state = ReplyListState( + isLoading = false, + replies = Replies.OnTheRadar.replies + ), onIntent = {} ) } diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/RepliesResolvedScreenPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/RepliesResolvedScreenPreview.kt index e58c6d3..7c0c06e 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/RepliesResolvedScreenPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/RepliesResolvedScreenPreview.kt @@ -2,18 +2,24 @@ package com.rafaelfelipeac.replyradar.previews.components import androidx.compose.runtime.Composable import androidx.compose.ui.tooling.preview.Preview -import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme +import com.rafaelfelipeac.replyradar.core.util.AppConstants.RESOLVED_INDEX import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.ReplyListState -import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.components.RepliesResolvedScreen +import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.components.RepliesScreen +import com.rafaelfelipeac.replyradar.previews.Replies +import com.rafaelfelipeac.replyradar.previews.ReplyRadarPreviewWrapper @Preview(showBackground = true) @Composable fun RepliesResolvedScreenPreview() { - ReplyRadarTheme( + ReplyRadarPreviewWrapper( darkTheme = false ) { - RepliesResolvedScreen( - state = ReplyListState(), + RepliesScreen( + pageIndex = RESOLVED_INDEX, + state = ReplyListState( + isLoading = false, + resolvedReplies = Replies.Resolved.replies + ), onIntent = {} ) } @@ -22,11 +28,15 @@ fun RepliesResolvedScreenPreview() { @Preview(showBackground = true) @Composable fun RepliesResolvedScreenDarkPreview() { - ReplyRadarTheme( + ReplyRadarPreviewWrapper( darkTheme = true ) { - RepliesResolvedScreen( - state = ReplyListState(), + RepliesScreen( + pageIndex = RESOLVED_INDEX, + state = ReplyListState( + isLoading = false, + resolvedReplies = Replies.Resolved.replies + ), onIntent = {} ) } diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/RepliesScreenPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/RepliesScreenPreview.kt deleted file mode 100644 index 6470741..0000000 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/RepliesScreenPreview.kt +++ /dev/null @@ -1,36 +0,0 @@ -package com.rafaelfelipeac.replyradar.previews.components - -import androidx.compose.runtime.Composable -import androidx.compose.ui.tooling.preview.Preview -import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme -import com.rafaelfelipeac.replyradar.core.util.AppConstants -import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.ReplyListState -import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.components.RepliesScreen - -@Preview(showBackground = true) -@Composable -fun RepliesScreenPreview() { - ReplyRadarTheme( - darkTheme = false - ) { - RepliesScreen( - pageIndex = AppConstants.ON_THE_RADAR_INDEX, - state = ReplyListState(), - onIntent = {} - ) - } -} - -@Preview(showBackground = true) -@Composable -fun RepliesScreenDarkPreview() { - ReplyRadarTheme( - darkTheme = true - ) { - RepliesScreen( - pageIndex = AppConstants.ON_THE_RADAR_INDEX, - state = ReplyListState(), - onIntent = {} - ) - } -} diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyBottomSheetActionsPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyBottomSheetActionsPreview.kt index 140ddd5..8718f7a 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyBottomSheetActionsPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyBottomSheetActionsPreview.kt @@ -2,27 +2,21 @@ package com.rafaelfelipeac.replyradar.previews.components import androidx.compose.runtime.Composable import androidx.compose.ui.tooling.preview.Preview -import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme -import com.rafaelfelipeac.replyradar.features.reply.domain.model.Reply import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.components.replybottomsheet.ReplyBottomSheetActions import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.components.replybottomsheet.ReplyBottomSheetMode import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.components.replybottomsheet.ReplyBottomSheetState +import com.rafaelfelipeac.replyradar.previews.Replies +import com.rafaelfelipeac.replyradar.previews.ReplyRadarPreviewWrapper @Preview(showBackground = true) @Composable -fun ReplyBottomSheetActionsPreview() { - ReplyRadarTheme( +fun ReplyBottomSheetActionsPreview1() { + ReplyRadarPreviewWrapper( darkTheme = false ) { ReplyBottomSheetActions( state = ReplyBottomSheetState( - replyBottomSheetMode = ReplyBottomSheetMode.EDIT, - reply = Reply( - id = 1, - subject = "Message", - name = "Contact", - isResolved = false - ) + replyBottomSheetMode = ReplyBottomSheetMode.CREATE ), onArchive = {}, onResolve = {}, @@ -40,19 +34,38 @@ fun ReplyBottomSheetActionsPreview() { @Preview(showBackground = true) @Composable -fun ReplyBottomSheetActionsDarkPreview() { - ReplyRadarTheme( - darkTheme = true +fun ReplyBottomSheetActionsPreview2() { + ReplyRadarPreviewWrapper( + darkTheme = false ) { ReplyBottomSheetActions( state = ReplyBottomSheetState( replyBottomSheetMode = ReplyBottomSheetMode.EDIT, - reply = Reply( - id = 1, - subject = "Message", - name = "Contact", - isResolved = false - ) + reply = Replies.OnTheRadar.reply1 + ), + onArchive = {}, + onResolve = {}, + onDelete = {}, + onSave = {}, + onInvalidReminderValue = {}, + selectedDate = null, + selectedTime = null, + reply = null, + name = Replies.OnTheRadar.reply1.name, + subject = Replies.OnTheRadar.reply1.subject + ) + } +} + +@Preview(showBackground = true) +@Composable +fun ReplyBottomSheetActionsDarkPreview1() { + ReplyRadarPreviewWrapper( + darkTheme = true + ) { + ReplyBottomSheetActions( + state = ReplyBottomSheetState( + replyBottomSheetMode = ReplyBottomSheetMode.CREATE ), onArchive = {}, onResolve = {}, @@ -67,3 +80,28 @@ fun ReplyBottomSheetActionsDarkPreview() { ) } } + +@Preview(showBackground = true) +@Composable +fun ReplyBottomSheetActionsDarkPreview2() { + ReplyRadarPreviewWrapper( + darkTheme = true + ) { + ReplyBottomSheetActions( + state = ReplyBottomSheetState( + replyBottomSheetMode = ReplyBottomSheetMode.EDIT, + reply = Replies.OnTheRadar.reply1 + ), + onArchive = {}, + onResolve = {}, + onDelete = {}, + onSave = {}, + onInvalidReminderValue = {}, + selectedDate = null, + selectedTime = null, + reply = null, + name = Replies.OnTheRadar.reply1.name, + subject = Replies.OnTheRadar.reply1.subject + ) + } +} diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyBottomSheetContentPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyBottomSheetContentPreview.kt index b06313d..7b08dd2 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyBottomSheetContentPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyBottomSheetContentPreview.kt @@ -2,27 +2,43 @@ package com.rafaelfelipeac.replyradar.previews.components import androidx.compose.runtime.Composable import androidx.compose.ui.tooling.preview.Preview -import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme -import com.rafaelfelipeac.replyradar.features.reply.domain.model.Reply import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.components.replybottomsheet.ReplyBottomSheetContent import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.components.replybottomsheet.ReplyBottomSheetMode import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.components.replybottomsheet.ReplyBottomSheetState +import com.rafaelfelipeac.replyradar.previews.Replies +import com.rafaelfelipeac.replyradar.previews.ReplyRadarPreviewWrapper @Preview(showBackground = true) @Composable -fun ReplyBottomSheetContentPreview() { - ReplyRadarTheme( +fun ReplyBottomSheetContentPreview1() { + ReplyRadarPreviewWrapper( darkTheme = false ) { ReplyBottomSheetContent( replyBottomSheetState = ReplyBottomSheetState( replyBottomSheetMode = ReplyBottomSheetMode.CREATE, - reply = Reply( - id = 1, - subject = "Message", - name = "Contact", - isResolved = false - ) + ), + onSave = {}, + onResolve = {}, + onArchive = {}, + onDelete = {}, + onInvalidReminderValue = {} + ) + + + } +} + +@Preview(showBackground = true) +@Composable +fun ReplyBottomSheetContentPreview2() { + ReplyRadarPreviewWrapper( + darkTheme = false + ) { + ReplyBottomSheetContent( + replyBottomSheetState = ReplyBottomSheetState( + replyBottomSheetMode = ReplyBottomSheetMode.EDIT, + reply = Replies.OnTheRadar.reply1 ), onSave = {}, onResolve = {}, @@ -33,21 +49,37 @@ fun ReplyBottomSheetContentPreview() { } } + @Preview(showBackground = true) @Composable -fun ReplyBottomSheetContentDarkPreview() { - ReplyRadarTheme( +fun ReplyBottomSheetContentDarkPreview1() { + ReplyRadarPreviewWrapper( darkTheme = true ) { ReplyBottomSheetContent( replyBottomSheetState = ReplyBottomSheetState( replyBottomSheetMode = ReplyBottomSheetMode.CREATE, - reply = Reply( - id = 1, - subject = "Message", - name = "Contact", - isResolved = false - ) + ), + onSave = {}, + onResolve = {}, + onArchive = {}, + onDelete = {}, + onInvalidReminderValue = {} + ) + } +} + + +@Preview(showBackground = true) +@Composable +fun ReplyBottomSheetContentDarkPreview2() { + ReplyRadarPreviewWrapper( + darkTheme = true + ) { + ReplyBottomSheetContent( + replyBottomSheetState = ReplyBottomSheetState( + replyBottomSheetMode = ReplyBottomSheetMode.EDIT, + reply = Replies.OnTheRadar.reply1 ), onSave = {}, onResolve = {}, diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyButtonPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyButtonPreview.kt index 7c96f6a..582aa0b 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyButtonPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyButtonPreview.kt @@ -1,35 +1,52 @@ package com.rafaelfelipeac.replyradar.previews.components +import androidx.compose.foundation.background +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.padding +import androidx.compose.material3.MaterialTheme import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.unit.dp import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplyButton -import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme +import com.rafaelfelipeac.replyradar.previews.ReplyRadarPreviewWrapper @Preview(showBackground = true) @Composable fun ReplyButtonPreview() { - ReplyRadarTheme( + ReplyRadarPreviewWrapper( darkTheme = false ) { - ReplyButton( - modifier = Modifier, - text = "Button", - onClick = {} - ) + Box( + modifier = Modifier + .background(MaterialTheme.colorScheme.surface) + .padding(8.dp) + ){ + ReplyButton( + modifier = Modifier, + text = "Button", + onClick = {} + ) + } } } @Preview(showBackground = true) @Composable fun ReplyButtonDarkPreview() { - ReplyRadarTheme( + ReplyRadarPreviewWrapper( darkTheme = true ) { - ReplyButton( - modifier = Modifier, - text = "Button", - onClick = {} - ) + Box( + modifier = Modifier + .background(MaterialTheme.colorScheme.surface) + .padding(8.dp) + ) { + ReplyButton( + modifier = Modifier, + text = "Button", + onClick = {} + ) + } } } diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyConfirmationDialogPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyConfirmationDialogPreview.kt index 971fd6b..a10ebce 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyConfirmationDialogPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyConfirmationDialogPreview.kt @@ -3,19 +3,26 @@ package com.rafaelfelipeac.replyradar.previews.components import androidx.compose.runtime.Composable import androidx.compose.ui.tooling.preview.Preview import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplyConfirmationDialog -import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme +import com.rafaelfelipeac.replyradar.core.util.format +import com.rafaelfelipeac.replyradar.previews.PreviewStringsFake +import com.rafaelfelipeac.replyradar.previews.Replies +import com.rafaelfelipeac.replyradar.previews.ReplyRadarPreviewWrapper @Preview @Composable fun ReplyConfirmationDialogPreview() { - ReplyRadarTheme( + ReplyRadarPreviewWrapper( darkTheme = false ) { ReplyConfirmationDialog( - title = "Title", - description = "Description", - confirm = "Confirm", - dismiss = "Dismiss", + title = PreviewStringsFake.replyListDeleteDialogTitle, + description = + format( + PreviewStringsFake.replyListDeleteDialogDescription, + Replies.OnTheRadar.reply1.name + ), + confirm = PreviewStringsFake.replyListDeleteDialogConfirm, + dismiss = PreviewStringsFake.replyListDeleteDialogDismiss, onDismiss = {}, onConfirm = {} ) @@ -25,14 +32,18 @@ fun ReplyConfirmationDialogPreview() { @Preview @Composable fun ReplyConfirmationDialogDarkPreview() { - ReplyRadarTheme( + ReplyRadarPreviewWrapper( darkTheme = true ) { ReplyConfirmationDialog( - title = "Title", - description = "Description", - confirm = "Confirm", - dismiss = "Dismiss", + title = PreviewStringsFake.replyListDeleteDialogTitle, + description = + format( + PreviewStringsFake.replyListDeleteDialogDescription, + Replies.OnTheRadar.reply1.name + ), + confirm = PreviewStringsFake.replyListDeleteDialogConfirm, + dismiss = PreviewStringsFake.replyListDeleteDialogDismiss, onDismiss = {}, onConfirm = {} ) diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyListItemPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyListItemPreview.kt index dcbdb91..d3d0f9d 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyListItemPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyListItemPreview.kt @@ -2,23 +2,18 @@ package com.rafaelfelipeac.replyradar.previews.components import androidx.compose.runtime.Composable import androidx.compose.ui.tooling.preview.Preview -import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme -import com.rafaelfelipeac.replyradar.features.reply.domain.model.Reply import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.components.ReplyListItem +import com.rafaelfelipeac.replyradar.previews.Replies +import com.rafaelfelipeac.replyradar.previews.ReplyRadarPreviewWrapper @Preview(showBackground = true) @Composable -fun ReplyListItemPreview() { - ReplyRadarTheme( +fun ReplyListItemPreview1() { + ReplyRadarPreviewWrapper( darkTheme = false ) { ReplyListItem( - reply = Reply( - id = 1, - isResolved = false, - name = "Name", - subject = "Subject" - ), + reply = Replies.OnTheRadar.reply1, onClick = {}, onToggle = {} ) @@ -27,17 +22,40 @@ fun ReplyListItemPreview() { @Preview(showBackground = true) @Composable -fun ReplyListItemDarkPreview() { - ReplyRadarTheme( +fun ReplyListItemPreview2() { + ReplyRadarPreviewWrapper( + darkTheme = false + ) { + ReplyListItem( + reply = Replies.OnTheRadar.reply2, + onClick = {}, + onToggle = {} + ) + } +} + +@Preview(showBackground = true) +@Composable +fun ReplyListItemDarkPreview1() { + ReplyRadarPreviewWrapper( + darkTheme = true + ) { + ReplyListItem( + reply = Replies.OnTheRadar.reply1, + onClick = {}, + onToggle = {} + ) + } +} + +@Preview(showBackground = true) +@Composable +fun ReplyListItemDarkPreview2() { + ReplyRadarPreviewWrapper( darkTheme = true ) { ReplyListItem( - reply = Reply( - id = 1, - isResolved = false, - name = "Name", - subject = "Subject" - ), + reply = Replies.OnTheRadar.reply2, onClick = {}, onToggle = {} ) diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyListPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyListPreview.kt index f1fa966..1ece02d 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyListPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyListPreview.kt @@ -1,59 +1,47 @@ package com.rafaelfelipeac.replyradar.previews.components +import androidx.compose.foundation.background +import androidx.compose.foundation.layout.Box +import androidx.compose.material3.MaterialTheme import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier import androidx.compose.ui.tooling.preview.Preview -import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme -import com.rafaelfelipeac.replyradar.features.reply.domain.model.Reply import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.components.ReplyList +import com.rafaelfelipeac.replyradar.previews.Replies +import com.rafaelfelipeac.replyradar.previews.ReplyRadarPreviewWrapper @Preview(showBackground = true) @Composable fun ReplyListPreview() { - ReplyRadarTheme( + ReplyRadarPreviewWrapper( darkTheme = false ) { - ReplyList( - replies = listOf( - Reply( - id = 1, - name = "Contact 1", - subject = "Message 1", - isResolved = false - ), - Reply( - id = 2, - name = "Contact 2", - subject = "Message 2", - isResolved = false - ) - ), - onReplyClick = {} - ) + Box( + modifier = Modifier + .background(MaterialTheme.colorScheme.background) + ) { + ReplyList( + replies = Replies.OnTheRadar.replies, + onReplyClick = {} + ) + } } } @Preview(showBackground = true) @Composable fun ReplyListDarkPreview() { - ReplyRadarTheme( + ReplyRadarPreviewWrapper( darkTheme = true ) { - ReplyList( - replies = listOf( - Reply( - id = 1, - name = "Contact 1", - subject = "Message 1", - isResolved = false - ), - Reply( - id = 2, - name = "Contact 2", - subject = "Message 2", - isResolved = false - ) - ), - onReplyClick = {} - ) + Box( + modifier = Modifier + .background(MaterialTheme.colorScheme.background) + ) { + ReplyList( + replies = Replies.OnTheRadar.replies, + onReplyClick = {} + ) + } } } diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyNotificationPermissionDialogPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyNotificationPermissionDialogPreview.kt index 5fff195..2826797 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyNotificationPermissionDialogPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyNotificationPermissionDialogPreview.kt @@ -3,12 +3,12 @@ package com.rafaelfelipeac.replyradar.previews.components import androidx.compose.runtime.Composable import androidx.compose.ui.tooling.preview.Preview import com.rafaelfelipeac.replyradar.core.common.ui.components.NotificationPermissionDialog -import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme +import com.rafaelfelipeac.replyradar.previews.ReplyRadarPreviewWrapper @Preview @Composable fun ReplyNotificationPermissionDialogPreview() { - ReplyRadarTheme( + ReplyRadarPreviewWrapper( darkTheme = false ) { NotificationPermissionDialog( @@ -21,7 +21,7 @@ fun ReplyNotificationPermissionDialogPreview() { @Preview @Composable fun ReplyNotificationPermissionDialogDarkPreview() { - ReplyRadarTheme( + ReplyRadarPreviewWrapper( darkTheme = true ) { NotificationPermissionDialog( diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyOutlinedButtonPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyOutlinedButtonPreview.kt index d65ac25..acb52c9 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyOutlinedButtonPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyOutlinedButtonPreview.kt @@ -1,37 +1,175 @@ package com.rafaelfelipeac.replyradar.previews.components +import androidx.compose.foundation.background +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.padding +import androidx.compose.material3.MaterialTheme import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.unit.dp import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplyOutlinedButton -import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme +import com.rafaelfelipeac.replyradar.previews.PreviewStringsFake +import com.rafaelfelipeac.replyradar.previews.ReplyRadarPreviewWrapper import replyradar.composeapp.generated.resources.Res -import replyradar.composeapp.generated.resources.ic_date -import replyradar.composeapp.generated.resources.ic_time +import replyradar.composeapp.generated.resources.ic_archive +import replyradar.composeapp.generated.resources.ic_check +import replyradar.composeapp.generated.resources.ic_delete +import replyradar.composeapp.generated.resources.ic_reopen +import replyradar.composeapp.generated.resources.ic_unarchive @Preview(showBackground = true) @Composable -fun ReplyOutlinedButtonPreview() { - ReplyRadarTheme( +fun ReplyOutlinedButtonActiveStatePreview() { + ReplyRadarPreviewWrapper( darkTheme = false ) { - ReplyOutlinedButton( - text = "September 11, 2024", - icon = Res.drawable.ic_date, - onClick = {} - ) + Row( + modifier = Modifier + .background(MaterialTheme.colorScheme.surface) + .padding(8.dp) + ) { + ReplyOutlinedButton( + text = PreviewStringsFake.replyListBottomSheetResolve, + icon = Res.drawable.ic_check, + onClick = {} + ) + + ReplyOutlinedButton( + text = PreviewStringsFake.replyListBottomSheetArchive, + icon = Res.drawable.ic_archive, + onClick = {} + ) + } + } +} + +@Preview(showBackground = true) +@Composable +fun ReplyOutlinedButtonResolvedStatePreview() { + ReplyRadarPreviewWrapper( + darkTheme = false + ) { + Row( + modifier = Modifier + .background(MaterialTheme.colorScheme.surface) + .padding(8.dp) + ) { + ReplyOutlinedButton( + text = PreviewStringsFake.replyListBottomSheetReopen, + icon = Res.drawable.ic_reopen, + onClick = {} + ) + + ReplyOutlinedButton( + text = PreviewStringsFake.replyListBottomSheetArchive, + icon = Res.drawable.ic_archive, + onClick = {} + ) + } + } +} + +@Preview(showBackground = true) +@Composable +fun ReplyOutlinedButtonArchivedStatePreview() { + ReplyRadarPreviewWrapper( + darkTheme = false + ) { + Row( + modifier = Modifier + .background(MaterialTheme.colorScheme.surface) + .padding(8.dp) + ) { + ReplyOutlinedButton( + text = PreviewStringsFake.replyListBottomSheetUnarchive, + icon = Res.drawable.ic_unarchive, + onClick = {} + ) + + ReplyOutlinedButton( + text = PreviewStringsFake.replyListBottomSheetDelete, + icon = Res.drawable.ic_delete, + onClick = {} + ) + } } } @Preview(showBackground = true) @Composable -fun ReplyOutlinedButtonDarkPreview() { - ReplyRadarTheme( +fun ReplyOutlinedButtonActiveStateDarkPreview() { + ReplyRadarPreviewWrapper( darkTheme = true ) { - ReplyOutlinedButton( - text = "10:30", - icon = Res.drawable.ic_time, - onClick = {} - ) + Row( + modifier = Modifier + .background(MaterialTheme.colorScheme.surface) + .padding(8.dp) + ) { + ReplyOutlinedButton( + text = PreviewStringsFake.replyListBottomSheetResolve, + icon = Res.drawable.ic_check, + onClick = {} + ) + + ReplyOutlinedButton( + text = PreviewStringsFake.replyListBottomSheetArchive, + icon = Res.drawable.ic_archive, + onClick = {} + ) + } + } +} + +@Preview(showBackground = true) +@Composable +fun ReplyOutlinedButtonResolvedStateDarkPreview() { + ReplyRadarPreviewWrapper( + darkTheme = true + ) { + Row( + modifier = Modifier + .background(MaterialTheme.colorScheme.surface) + .padding(8.dp) + ) { + ReplyOutlinedButton( + text = PreviewStringsFake.replyListBottomSheetReopen, + icon = Res.drawable.ic_reopen, + onClick = {} + ) + + ReplyOutlinedButton( + text = PreviewStringsFake.replyListBottomSheetArchive, + icon = Res.drawable.ic_archive, + onClick = {} + ) + } + } +} + +@Preview(showBackground = true) +@Composable +fun ReplyOutlinedButtonArchivedStateDarkPreview() { + ReplyRadarPreviewWrapper( + darkTheme = true + ) { + Row( + modifier = Modifier + .background(MaterialTheme.colorScheme.surface) + .padding(8.dp) + ) { + ReplyOutlinedButton( + text = PreviewStringsFake.replyListBottomSheetUnarchive, + icon = Res.drawable.ic_unarchive, + onClick = {} + ) + + ReplyOutlinedButton( + text = PreviewStringsFake.replyListBottomSheetDelete, + icon = Res.drawable.ic_delete, + onClick = {} + ) + } } } diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyRadarErrorPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyRadarErrorPreview.kt index 5881490..ec82833 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyRadarErrorPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyRadarErrorPreview.kt @@ -1,26 +1,80 @@ package com.rafaelfelipeac.replyradar.previews.components +import androidx.compose.foundation.background +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.material3.MaterialTheme import androidx.compose.runtime.Composable +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier import androidx.compose.ui.tooling.preview.Preview import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplyRadarError -import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme +import com.rafaelfelipeac.replyradar.previews.ReplyRadarPreviewWrapper @Preview(showBackground = true) @Composable -fun ReplyRadarErrorPreview() { - ReplyRadarTheme( +fun ReplyRadarErrorPreview1() { + ReplyRadarPreviewWrapper( darkTheme = false ) { - ReplyRadarError() + Box( + modifier = Modifier + .fillMaxSize() + .background(MaterialTheme.colorScheme.surface), + contentAlignment = Alignment.Center + ) { + ReplyRadarError() + } } } @Preview(showBackground = true) @Composable -fun ReplyRadarErrorDarkPreview() { - ReplyRadarTheme( +fun ReplyRadarErrorPreview2() { + ReplyRadarPreviewWrapper( + darkTheme = false + ) { + Box( + modifier = Modifier + .fillMaxSize() + .background(MaterialTheme.colorScheme.surface), + contentAlignment = Alignment.Center + ) { + ReplyRadarError("Custom error message.") + } + } +} + +@Preview(showBackground = true) +@Composable +fun ReplyRadarErrorDarkPreview1() { + ReplyRadarPreviewWrapper( + darkTheme = true + ) { + Box( + modifier = Modifier + .fillMaxSize() + .background(MaterialTheme.colorScheme.surface), + contentAlignment = Alignment.Center + ) { + ReplyRadarError() + } + } +} + +@Preview(showBackground = true) +@Composable +fun ReplyRadarErrorDarkPreview2() { + ReplyRadarPreviewWrapper( darkTheme = true ) { - ReplyRadarError() + Box( + modifier = Modifier + .fillMaxSize() + .background(MaterialTheme.colorScheme.surface), + contentAlignment = Alignment.Center + ) { + ReplyRadarError("Custom error message.") + } } } diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyRadarPlaceholderPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyRadarPlaceholderPreview.kt index 2be80ee..e96b88c 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyRadarPlaceholderPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyRadarPlaceholderPreview.kt @@ -1,30 +1,51 @@ package com.rafaelfelipeac.replyradar.previews.components +import androidx.compose.foundation.background +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.material3.MaterialTheme import androidx.compose.runtime.Composable +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier import androidx.compose.ui.tooling.preview.Preview import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplyRadarPlaceholder -import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme +import com.rafaelfelipeac.replyradar.previews.PreviewStringsFake +import com.rafaelfelipeac.replyradar.previews.ReplyRadarPreviewWrapper @Preview(showBackground = true) @Composable fun ReplyRadarPlaceholderPreview() { - ReplyRadarTheme( + ReplyRadarPreviewWrapper( darkTheme = false ) { - ReplyRadarPlaceholder( - message = "Placeholder" - ) + Box( + modifier = Modifier + .fillMaxSize() + .background(MaterialTheme.colorScheme.background), + contentAlignment = Alignment.Center + ) { + ReplyRadarPlaceholder( + message = PreviewStringsFake.replyListPlaceholderOnTheRadar + ) + } } } @Preview(showBackground = true) @Composable fun ReplyRadarPlaceholderDarkPreview() { - ReplyRadarTheme( + ReplyRadarPreviewWrapper( darkTheme = true ) { - ReplyRadarPlaceholder( - message = "Placeholder" - ) + Box( + modifier = Modifier + .fillMaxSize() + .background(MaterialTheme.colorScheme.background), + contentAlignment = Alignment.Center + ) { + ReplyRadarPlaceholder( + message = PreviewStringsFake.replyListPlaceholderOnTheRadar + ) + } } } diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyTimestampInfoPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyTimestampInfoPreview.kt index 6b3d968..48e1e71 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyTimestampInfoPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyTimestampInfoPreview.kt @@ -1,28 +1,29 @@ package com.rafaelfelipeac.replyradar.previews.components +import androidx.compose.foundation.background import androidx.compose.foundation.layout.Column +import androidx.compose.material3.MaterialTheme import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier import androidx.compose.ui.tooling.preview.Preview -import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme -import com.rafaelfelipeac.replyradar.features.reply.domain.model.Reply import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.components.ReplyTimestampInfo import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.components.replybottomsheet.ReplyBottomSheetState +import com.rafaelfelipeac.replyradar.previews.Replies +import com.rafaelfelipeac.replyradar.previews.ReplyRadarPreviewWrapper @Preview(showBackground = true) @Composable fun ReplyTimestampInfoPreview() { - ReplyRadarTheme( + ReplyRadarPreviewWrapper( darkTheme = false ) { - Column { + Column( + modifier = Modifier + .background(MaterialTheme.colorScheme.surface) + ) { ReplyTimestampInfo( state = ReplyBottomSheetState( - reply = Reply( - id = 1, - name = "Contact 1", - subject = "Message 1", - isResolved = false - ) + reply = Replies.OnTheRadar.reply1 ) ) } @@ -32,18 +33,16 @@ fun ReplyTimestampInfoPreview() { @Preview(showBackground = true) @Composable fun ReplyTimestampInfoDarkPreview() { - ReplyRadarTheme( + ReplyRadarPreviewWrapper( darkTheme = true ) { - Column { + Column( + modifier = Modifier + .background(MaterialTheme.colorScheme.surface) + ) { ReplyTimestampInfo( state = ReplyBottomSheetState( - reply = Reply( - id = 1, - name = "Contact 1", - subject = "Message 1", - isResolved = false - ) + reply = Replies.OnTheRadar.reply1 ) ) } diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyTogglePreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyTogglePreview.kt index 564baee..f15ffa4 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyTogglePreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyTogglePreview.kt @@ -1,32 +1,50 @@ package com.rafaelfelipeac.replyradar.previews.components +import androidx.compose.foundation.background +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.padding +import androidx.compose.material3.MaterialTheme import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.unit.dp import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplyToggle -import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme +import com.rafaelfelipeac.replyradar.previews.ReplyRadarPreviewWrapper @Preview(showBackground = true) @Composable fun ReplyTogglePreview() { - ReplyRadarTheme( + ReplyRadarPreviewWrapper( darkTheme = false ) { - ReplyToggle( - isResolved = false, - onToggle = {} - ) + Box( + modifier = Modifier + .background(MaterialTheme.colorScheme.surface) + .padding(8.dp) + ) { + ReplyToggle( + isResolved = false, + onToggle = {} + ) + } } } @Preview(showBackground = true) @Composable fun ReplyToggleDarkPreview() { - ReplyRadarTheme( + ReplyRadarPreviewWrapper( darkTheme = true ) { - ReplyToggle( - isResolved = false, - onToggle = {} - ) + Box( + modifier = Modifier + .background(MaterialTheme.colorScheme.surface) + .padding(8.dp) + ) { + ReplyToggle( + isResolved = false, + onToggle = {} + ) + } } } diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/TopBarPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/TopBarPreview.kt index 948541a..be209a6 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/TopBarPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/TopBarPreview.kt @@ -4,11 +4,12 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.tooling.preview.Preview import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.components.TopBar +import com.rafaelfelipeac.replyradar.previews.ReplyRadarPreviewWrapper @Preview(showBackground = true) @Composable fun TopBarPreview() { - ReplyRadarTheme( + ReplyRadarPreviewWrapper( darkTheme = false ) { TopBar( @@ -21,7 +22,7 @@ fun TopBarPreview() { @Preview(showBackground = true) @Composable fun TopBarDarkPreview() { - ReplyRadarTheme( + ReplyRadarPreviewWrapper( darkTheme = true ) { TopBar( diff --git a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyRadarError.kt b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyRadarError.kt index 0c112be..7499270 100644 --- a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyRadarError.kt +++ b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyRadarError.kt @@ -1,16 +1,22 @@ package com.rafaelfelipeac.replyradar.core.common.ui.components +import androidx.compose.foundation.background +import androidx.compose.material3.MaterialTheme import androidx.compose.material3.MaterialTheme.typography import androidx.compose.material3.Text import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier import androidx.compose.ui.text.style.TextAlign import com.rafaelfelipeac.replyradar.core.strings.LocalReplyRadarStrings @Composable fun ReplyRadarError(errorMessage: String? = null) { Text( + modifier = Modifier + .background(MaterialTheme.colorScheme.surface), text = errorMessage ?: LocalReplyRadarStrings.current.genericErrorMessage, textAlign = TextAlign.Center, - style = typography.headlineSmall + style = typography.headlineSmall, + color = MaterialTheme.colorScheme.onSurface ) } diff --git a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyRadarPlaceholder.kt b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyRadarPlaceholder.kt index 824f7c8..54aa753 100644 --- a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyRadarPlaceholder.kt +++ b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyRadarPlaceholder.kt @@ -1,6 +1,7 @@ package com.rafaelfelipeac.replyradar.core.common.ui.components import androidx.compose.foundation.layout.padding +import androidx.compose.material3.MaterialTheme import androidx.compose.material3.MaterialTheme.typography import androidx.compose.material3.Text import androidx.compose.runtime.Composable @@ -14,6 +15,7 @@ fun ReplyRadarPlaceholder(message: String) { modifier = Modifier .padding(horizontal = paddingMedium), text = message, + color = MaterialTheme.colorScheme.onSurface, textAlign = TextAlign.Center, style = typography.headlineSmall ) diff --git a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyReminder.kt b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyReminder.kt index 3046273..f9535ac 100644 --- a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyReminder.kt +++ b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyReminder.kt @@ -1,5 +1,6 @@ package com.rafaelfelipeac.replyradar.core.common.ui.components +import androidx.compose.foundation.background import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.fillMaxWidth @@ -114,7 +115,8 @@ fun ReplyReminder( Row( modifier = Modifier .fillMaxWidth() - .padding(top = paddingSmall), + .padding(top = paddingSmall) + .background(colorScheme.surface), horizontalArrangement = Arrangement.Start ) { IconButton( @@ -167,7 +169,8 @@ private fun ReminderText(reminderText: String?, onDeleteClick: () -> Unit) { if (reminderText != null) { Row( modifier = Modifier - .fillMaxWidth(), + .fillMaxWidth() + .background(colorScheme.surface), horizontalArrangement = Arrangement.Start, verticalAlignment = Alignment.CenterVertically ) { @@ -175,7 +178,8 @@ private fun ReminderText(reminderText: String?, onDeleteClick: () -> Unit) { modifier = Modifier .padding(start = paddingSmall, top = paddingSmall), text = reminderText, - style = typography.bodySmall + style = typography.bodySmall, + color = colorScheme.onSurface ) IconButton( diff --git a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/ReplyList.kt b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/ReplyList.kt index cd0a9e8..61a33eb 100644 --- a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/ReplyList.kt +++ b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/ReplyList.kt @@ -1,5 +1,6 @@ package com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.components +import androidx.compose.foundation.background import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.fillMaxWidth @@ -33,6 +34,7 @@ fun ReplyList( Column( modifier = Modifier .fillMaxWidth() + .background(colorScheme.surface) ) { ReplyListItem( modifier = Modifier diff --git a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/ReplyTimestampInfo.kt b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/ReplyTimestampInfo.kt index 8134f26..3015410 100644 --- a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/ReplyTimestampInfo.kt +++ b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/ReplyTimestampInfo.kt @@ -2,6 +2,7 @@ package com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.comp import androidx.compose.foundation.layout.ColumnScope import androidx.compose.foundation.layout.padding +import androidx.compose.material3.MaterialTheme import androidx.compose.material3.MaterialTheme.typography import androidx.compose.material3.Text import androidx.compose.runtime.Composable @@ -23,7 +24,8 @@ fun ColumnScope.ReplyTimestampInfo(state: ReplyBottomSheetState) { .padding(start = paddingSmall, top = paddingSmall) .align(Start), text = getTimestampInfo(reply), - style = typography.bodySmall + style = typography.bodySmall, + color = MaterialTheme.colorScheme.onSurface ) } } diff --git a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/TopBar.kt b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/TopBar.kt index a5924c0..c5cc3ae 100644 --- a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/TopBar.kt +++ b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/TopBar.kt @@ -1,5 +1,6 @@ package com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.components +import androidx.compose.foundation.background import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.fillMaxWidth @@ -28,6 +29,7 @@ fun TopBar(onActivityLogClick: () -> Unit, onSettingsClick: () -> Unit) { Box( modifier = Modifier .fillMaxWidth() + .background(colorScheme.surface) ) { Text( modifier = Modifier diff --git a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/replybottomsheet/ReplyBottomSheetActions.kt b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/replybottomsheet/ReplyBottomSheetActions.kt index 532eb37..039b732 100644 --- a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/replybottomsheet/ReplyBottomSheetActions.kt +++ b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/replybottomsheet/ReplyBottomSheetActions.kt @@ -1,5 +1,6 @@ package com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.components.replybottomsheet +import androidx.compose.foundation.background import androidx.compose.foundation.layout.Arrangement.End import androidx.compose.foundation.layout.Arrangement.spacedBy import androidx.compose.foundation.layout.Row @@ -7,6 +8,7 @@ import androidx.compose.foundation.layout.RowScope import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentWidth +import androidx.compose.material3.MaterialTheme.colorScheme import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf @@ -54,6 +56,7 @@ fun ReplyBottomSheetActions( Row( modifier = Modifier .fillMaxWidth() + .background(colorScheme.surface) .padding(top = paddingSmall, bottom = paddingMedium, end = paddingSmall), horizontalArrangement = if (isEditMode(state)) spacedBy(paddingSmall) else End, verticalAlignment = Alignment.CenterVertically From 2cbcd5284b4506002cc4dda0cdd17d5c467a303f Mon Sep 17 00:00:00 2001 From: Rafael Cordeiro Date: Wed, 30 Jul 2025 22:50:48 -0300 Subject: [PATCH 09/21] Preview fixes. --- .../components/ReplyBottomSheetPreview.kt | 69 ----------------- .../components/ReplyProgressPreview.kt | 31 ++++++-- .../components/ReplyReminderPreview.kt | 8 +- .../components/ReplyRoundedCornerPreview.kt | 10 ++- .../components/ReplySnackbarPreview.kt | 53 ++++++++++--- .../previews/components/ReplyTabPreview.kt | 77 +++++++++++++++---- .../components/ReplyTextFieldPreview.kt | 48 +++++++++--- .../core/common/ui/components/ReplyTab.kt | 2 +- 8 files changed, 180 insertions(+), 118 deletions(-) delete mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyBottomSheetPreview.kt diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyBottomSheetPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyBottomSheetPreview.kt deleted file mode 100644 index 91e8b53..0000000 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyBottomSheetPreview.kt +++ /dev/null @@ -1,69 +0,0 @@ -package com.rafaelfelipeac.replyradar.previews.components - -import androidx.compose.material3.ExperimentalMaterial3Api -import androidx.compose.material3.rememberModalBottomSheetState -import androidx.compose.runtime.Composable -import androidx.compose.ui.tooling.preview.Preview -import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme -import com.rafaelfelipeac.replyradar.features.reply.domain.model.Reply -import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.components.replybottomsheet.ReplyBottomSheet -import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.components.replybottomsheet.ReplyBottomSheetMode -import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.components.replybottomsheet.ReplyBottomSheetState - -@OptIn(ExperimentalMaterial3Api::class) -@Preview(showBackground = true) -@Composable -fun ReplyBottomSheetPreview() { - ReplyRadarTheme( - darkTheme = false - ) { - val sheetState = rememberModalBottomSheetState(skipPartiallyExpanded = true) - - ReplyBottomSheet( - sheetState = sheetState, - replyBottomSheetState = ReplyBottomSheetState( - replyBottomSheetMode = ReplyBottomSheetMode.CREATE, - reply = Reply( - id = 1, - subject = "Message", - name = "Contact", - isResolved = false - ) - ), - onSave = {}, - onResolve = {}, - onArchive = {}, - onDelete = {}, - onDismiss = {} - ) - } -} - -@OptIn(ExperimentalMaterial3Api::class) -@Preview(showBackground = true) -@Composable -fun ReplyBottomSheetDarkPreview() { - ReplyRadarTheme( - darkTheme = true - ) { - val sheetState = rememberModalBottomSheetState(skipPartiallyExpanded = true) - - ReplyBottomSheet( - sheetState = sheetState, - replyBottomSheetState = ReplyBottomSheetState( - replyBottomSheetMode = ReplyBottomSheetMode.CREATE, - reply = Reply( - id = 1, - subject = "Message", - name = "Contact", - isResolved = false - ) - ), - onSave = {}, - onResolve = {}, - onArchive = {}, - onDelete = {}, - onDismiss = {} - ) - } -} diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyProgressPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyProgressPreview.kt index e72c2c4..1243e45 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyProgressPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyProgressPreview.kt @@ -1,26 +1,47 @@ package com.rafaelfelipeac.replyradar.previews.components +import androidx.compose.foundation.background +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.padding +import androidx.compose.material3.MaterialTheme import androidx.compose.runtime.Composable +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.unit.dp import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplyProgress -import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme +import com.rafaelfelipeac.replyradar.previews.ReplyRadarPreviewWrapper @Preview(showBackground = true) @Composable fun ReplyProgressPreview() { - ReplyRadarTheme( + ReplyRadarPreviewWrapper( darkTheme = false ) { - ReplyProgress() + Box( + modifier = Modifier + .background(MaterialTheme.colorScheme.background) + .padding(16.dp), + contentAlignment = Alignment.Center + ) { + ReplyProgress() + } } } @Preview(showBackground = true) @Composable fun ReplyProgressDarkPreview() { - ReplyRadarTheme( + ReplyRadarPreviewWrapper( darkTheme = true ) { - ReplyProgress() + Box( + modifier = Modifier + .background(MaterialTheme.colorScheme.background) + .padding(16.dp), + contentAlignment = Alignment.Center + ) { + ReplyProgress() + } } } diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyReminderPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyReminderPreview.kt index 4e85ab5..5d16d20 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyReminderPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyReminderPreview.kt @@ -3,7 +3,7 @@ package com.rafaelfelipeac.replyradar.previews.components import androidx.compose.runtime.Composable import androidx.compose.ui.tooling.preview.Preview import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplyReminder -import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme +import com.rafaelfelipeac.replyradar.previews.ReplyRadarPreviewWrapper import kotlinx.datetime.Clock import kotlinx.datetime.TimeZone import kotlinx.datetime.toLocalDateTime @@ -13,9 +13,10 @@ import kotlinx.datetime.toLocalDateTime fun ReplyReminderPreview() { val now = Clock.System.now().toLocalDateTime(TimeZone.currentSystemDefault()) - ReplyRadarTheme( + ReplyRadarPreviewWrapper( darkTheme = false ) { + // ReminderText wasn't showing in Preview because the icon row was collapsing the layout. ReplyReminder( selectedTime = now.time, selectedDate = now.date, @@ -31,9 +32,10 @@ fun ReplyReminderPreview() { fun ReplyReminderDarkPreview() { val now = Clock.System.now().toLocalDateTime(TimeZone.currentSystemDefault()) - ReplyRadarTheme( + ReplyRadarPreviewWrapper( darkTheme = true ) { + // ReminderText wasn't showing in Preview because the icon row was collapsing the layout. ReplyReminder( selectedTime = now.time, selectedDate = now.date, diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyRoundedCornerPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyRoundedCornerPreview.kt index a3b43bf..061193d 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyRoundedCornerPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyRoundedCornerPreview.kt @@ -2,21 +2,24 @@ package com.rafaelfelipeac.replyradar.previews.components import androidx.compose.foundation.background import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.size import androidx.compose.material3.MaterialTheme.colorScheme import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.unit.dp import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplyRoundedCorner -import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme +import com.rafaelfelipeac.replyradar.previews.ReplyRadarPreviewWrapper @Preview @Composable fun ReplyRoundedCornerPreview() { - ReplyRadarTheme( + ReplyRadarPreviewWrapper( darkTheme = false ) { Box( modifier = Modifier + .size(100.dp) .background( color = colorScheme.primary, shape = ReplyRoundedCorner() @@ -28,11 +31,12 @@ fun ReplyRoundedCornerPreview() { @Preview @Composable fun ReplyRoundedCornerDarkPreview() { - ReplyRadarTheme( + ReplyRadarPreviewWrapper( darkTheme = true ) { Box( modifier = Modifier + .size(100.dp) .background( color = colorScheme.primary, shape = ReplyRoundedCorner() diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplySnackbarPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplySnackbarPreview.kt index 354063a..955bb99 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplySnackbarPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplySnackbarPreview.kt @@ -1,31 +1,62 @@ package com.rafaelfelipeac.replyradar.previews.components -import androidx.compose.material3.SnackbarHostState +import androidx.compose.foundation.background +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.padding +import androidx.compose.material3.MaterialTheme.colorScheme +import androidx.compose.material3.Snackbar +import androidx.compose.material3.Text import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier import androidx.compose.ui.tooling.preview.Preview -import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplySnackbar -import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme +import androidx.compose.ui.unit.dp +import com.rafaelfelipeac.replyradar.core.theme.snackbarBackgroundColor +import com.rafaelfelipeac.replyradar.previews.PreviewStringsFake +import com.rafaelfelipeac.replyradar.previews.ReplyRadarPreviewWrapper + +// ReplySnackbar can't be used directly in Preview because SnackbarHostState requires an active SnackbarData, +// which is only created at runtime via showSnackbar() inside a coroutine. +// Since @Preview doesn't execute effects like LaunchedEffect, no snackbar is shown. +// This manually simulates the visual result of ReplySnackbar. @Preview(showBackground = true) @Composable fun ReplySnackbarPreview() { - ReplyRadarTheme( + ReplyRadarPreviewWrapper( darkTheme = false ) { - ReplySnackbar( - snackbarHostState = SnackbarHostState() - ) + Box( + modifier = Modifier + .background(colorScheme.onSurface) + .padding(4.dp) + ) { + Snackbar( + containerColor = colorScheme.snackbarBackgroundColor, + contentColor = colorScheme.onSurface + ) { + Text(PreviewStringsFake.replyListSnackbarResolved) + } + } } } @Preview(showBackground = true) @Composable fun ReplySnackbarDarkPreview() { - ReplyRadarTheme( + ReplyRadarPreviewWrapper( darkTheme = true ) { - ReplySnackbar( - snackbarHostState = SnackbarHostState() - ) + Box( + modifier = Modifier + .background(colorScheme.onSurface) + .padding(4.dp) + ) { + Snackbar( + containerColor = colorScheme.snackbarBackgroundColor, + contentColor = colorScheme.onSurface + ) { + Text(PreviewStringsFake.replyListSnackbarResolved) + } + } } } diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyTabPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyTabPreview.kt index a3890a2..30fc369 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyTabPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyTabPreview.kt @@ -1,37 +1,80 @@ package com.rafaelfelipeac.replyradar.previews.components +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.TabRow +import androidx.compose.material3.TabRowDefaults +import androidx.compose.material3.TabRowDefaults.tabIndicatorOffset import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.tooling.preview.Preview import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplyTab -import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme +import com.rafaelfelipeac.replyradar.previews.PreviewStringsFake +import com.rafaelfelipeac.replyradar.previews.ReplyRadarPreviewWrapper @Preview(showBackground = true) @Composable fun ReplyTabPreview() { - ReplyRadarTheme( - darkTheme = false - ) { - ReplyTab( - modifier = Modifier, - selected = true, - onClick = {}, - text = "Tab" - ) + ReplyRadarPreviewWrapper(darkTheme = false) { + TabRow( + selectedTabIndex = 0, + containerColor = MaterialTheme.colorScheme.background, + indicator = { tabPositions -> + TabRowDefaults.SecondaryIndicator( + modifier = Modifier.tabIndicatorOffset(tabPositions[0]), + color = MaterialTheme.colorScheme.secondary + ) + } + ) { + ReplyTab( + selected = true, + onClick = {}, + text = PreviewStringsFake.replyListTabOnTheRadar + ) + ReplyTab( + selected = false, + onClick = {}, + text = PreviewStringsFake.replyListTabResolved + ) + ReplyTab( + selected = false, + onClick = {}, + text = PreviewStringsFake.replyListTabArchived + ) + } } } @Preview(showBackground = true) @Composable fun ReplyTabDarkPreview() { - ReplyRadarTheme( + ReplyRadarPreviewWrapper( darkTheme = true ) { - ReplyTab( - modifier = Modifier, - selected = true, - onClick = {}, - text = "Tab" - ) + TabRow( + selectedTabIndex = 0, + containerColor = MaterialTheme.colorScheme.background, + indicator = { tabPositions -> + TabRowDefaults.SecondaryIndicator( + modifier = Modifier.tabIndicatorOffset(tabPositions[0]), + color = MaterialTheme.colorScheme.secondary + ) + } + ) { + ReplyTab( + selected = true, + onClick = {}, + text = PreviewStringsFake.replyListTabOnTheRadar + ) + ReplyTab( + selected = false, + onClick = {}, + text = PreviewStringsFake.replyListTabResolved + ) + ReplyTab( + selected = false, + onClick = {}, + text = PreviewStringsFake.replyListTabArchived + ) + } } } diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyTextFieldPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyTextFieldPreview.kt index 203cb0b..322a3fe 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyTextFieldPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyTextFieldPreview.kt @@ -3,17 +3,19 @@ package com.rafaelfelipeac.replyradar.previews.components import androidx.compose.runtime.Composable import androidx.compose.ui.tooling.preview.Preview import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplyTextField -import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme +import com.rafaelfelipeac.replyradar.previews.PreviewStringsFake +import com.rafaelfelipeac.replyradar.previews.Replies +import com.rafaelfelipeac.replyradar.previews.ReplyRadarPreviewWrapper @Preview(showBackground = true) @Composable -fun ReplyTextFieldPreview() { - ReplyRadarTheme( +fun ReplyTextFieldPreview1() { + ReplyRadarPreviewWrapper( darkTheme = false ) { ReplyTextField( - value = "Value", - placeholder = "Placeholder", + value = Replies.OnTheRadar.reply1.name, + placeholder = PreviewStringsFake.replyListBottomSheetName, onValueChange = {} ) } @@ -21,13 +23,41 @@ fun ReplyTextFieldPreview() { @Preview(showBackground = true) @Composable -fun ReplyTextFieldDarkPreview() { - ReplyRadarTheme( +fun ReplyTextFieldPreview2() { + ReplyRadarPreviewWrapper( + darkTheme = false + ) { + ReplyTextField( + value = "", + placeholder = PreviewStringsFake.replyListBottomSheetName, + onValueChange = {} + ) + } +} + +@Preview(showBackground = true) +@Composable +fun ReplyTextFieldDarkPreview1() { + ReplyRadarPreviewWrapper( + darkTheme = true + ) { + ReplyTextField( + value = "", + placeholder = PreviewStringsFake.replyListBottomSheetName, + onValueChange = {} + ) + } +} + +@Preview(showBackground = true) +@Composable +fun ReplyTextFieldDarkPreview2() { + ReplyRadarPreviewWrapper( darkTheme = true ) { ReplyTextField( - value = "Value", - placeholder = "Placeholder", + value = Replies.OnTheRadar.reply1.name, + placeholder = PreviewStringsFake.replyListBottomSheetName, onValueChange = {} ) } diff --git a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyTab.kt b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyTab.kt index ef878ec..5f274b2 100644 --- a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyTab.kt +++ b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/common/ui/components/ReplyTab.kt @@ -10,7 +10,7 @@ import com.rafaelfelipeac.replyradar.core.common.ui.tabVerticalPadding import com.rafaelfelipeac.replyradar.core.theme.unselectedTabColor @Composable -fun ReplyTab(modifier: Modifier, selected: Boolean, onClick: () -> Unit, text: String) { +fun ReplyTab(modifier: Modifier = Modifier, selected: Boolean, onClick: () -> Unit, text: String) { Tab( modifier = modifier, selected = selected, From 0acb41df4931bd35386eade4dd61b0086e58bdb1 Mon Sep 17 00:00:00 2001 From: Rafael Cordeiro Date: Wed, 30 Jul 2025 23:07:02 -0300 Subject: [PATCH 10/21] Preview fixes. --- .../previews/ReplyRadarPreviewWrapper.kt | 18 --- .../components/ActivityLogListItemPreview.kt | 4 +- .../components/FloatingActionButtonPreview.kt | 2 +- .../components/PlatformDatePickerPreview.kt | 4 +- .../components/PlatformTimePickerPreview.kt | 4 +- .../RepliesArchivedScreenPreview.kt | 4 +- .../RepliesOnTheRadarScreenPreview.kt | 4 +- .../RepliesResolvedScreenPreview.kt | 4 +- .../ReplyBottomSheetActionsPreview.kt | 4 +- .../ReplyBottomSheetContentPreview.kt | 4 +- .../previews/components/ReplyButtonPreview.kt | 2 +- .../ReplyConfirmationDialogPreview.kt | 6 +- .../components/ReplyListItemPreview.kt | 4 +- .../previews/components/ReplyListPreview.kt | 4 +- ...eplyNotificationPermissionDialogPreview.kt | 2 +- .../components/ReplyOutlinedButtonPreview.kt | 4 +- .../components/ReplyProgressPreview.kt | 2 +- .../components/ReplyRadarErrorPreview.kt | 2 +- .../ReplyRadarPlaceholderPreview.kt | 4 +- .../components/ReplyReminderPreview.kt | 2 +- .../components/ReplyRoundedCornerPreview.kt | 2 +- .../components/ReplySnackbarPreview.kt | 4 +- .../previews/components/ReplyTabPreview.kt | 4 +- .../components/ReplyTextFieldPreview.kt | 6 +- .../components/ReplyTimestampInfoPreview.kt | 4 +- .../previews/components/ReplyTogglePreview.kt | 2 +- .../previews/components/TopBarPreview.kt | 3 +- .../screens/ReplyListScreenPreview.kt | 103 ++++++++++++++++-- .../shared/ReplyRadarPreviewWrapper.kt | 24 ++++ .../previews/{ => shared}/Shared.kt | 2 +- .../FakeNotificationPermissionManager.kt | 8 ++ .../{ => shared/fakes}/PreviewStringsFake.kt | 2 +- 32 files changed, 175 insertions(+), 73 deletions(-) delete mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/ReplyRadarPreviewWrapper.kt create mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/shared/ReplyRadarPreviewWrapper.kt rename composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/{ => shared}/Shared.kt (98%) create mode 100644 composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/shared/fakes/FakeNotificationPermissionManager.kt rename composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/{ => shared/fakes}/PreviewStringsFake.kt (99%) diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/ReplyRadarPreviewWrapper.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/ReplyRadarPreviewWrapper.kt deleted file mode 100644 index db72408..0000000 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/ReplyRadarPreviewWrapper.kt +++ /dev/null @@ -1,18 +0,0 @@ -package com.rafaelfelipeac.replyradar.previews - -import androidx.compose.runtime.Composable -import androidx.compose.runtime.CompositionLocalProvider -import com.rafaelfelipeac.replyradar.core.strings.LocalReplyRadarStrings -import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme - -@Composable -fun ReplyRadarPreviewWrapper( - darkTheme: Boolean = false, - content: @Composable () -> Unit -) { - CompositionLocalProvider(LocalReplyRadarStrings provides PreviewStringsFake) { - ReplyRadarTheme(darkTheme = darkTheme) { - content() - } - } -} diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ActivityLogListItemPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ActivityLogListItemPreview.kt index 3e4fee0..3d350d0 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ActivityLogListItemPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ActivityLogListItemPreview.kt @@ -6,8 +6,8 @@ import com.rafaelfelipeac.replyradar.features.activitylog.presentation.ActivityL import com.rafaelfelipeac.replyradar.features.useractions.domain.model.UserAction import com.rafaelfelipeac.replyradar.features.useractions.domain.model.UserActionTargetType import com.rafaelfelipeac.replyradar.features.useractions.domain.model.UserActionType -import com.rafaelfelipeac.replyradar.previews.Replies -import com.rafaelfelipeac.replyradar.previews.ReplyRadarPreviewWrapper +import com.rafaelfelipeac.replyradar.previews.shared.Replies +import com.rafaelfelipeac.replyradar.previews.shared.ReplyRadarPreviewWrapper import kotlinx.datetime.Clock @Preview(showBackground = true) diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/FloatingActionButtonPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/FloatingActionButtonPreview.kt index 30138b4..cef6033 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/FloatingActionButtonPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/FloatingActionButtonPreview.kt @@ -9,7 +9,7 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.components.FloatingActionButton -import com.rafaelfelipeac.replyradar.previews.ReplyRadarPreviewWrapper +import com.rafaelfelipeac.replyradar.previews.shared.ReplyRadarPreviewWrapper @Preview(showBackground = true) @Composable diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/PlatformDatePickerPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/PlatformDatePickerPreview.kt index b67ebfa..eb06629 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/PlatformDatePickerPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/PlatformDatePickerPreview.kt @@ -3,8 +3,8 @@ package com.rafaelfelipeac.replyradar.previews.components import androidx.compose.runtime.Composable import androidx.compose.ui.tooling.preview.Preview import com.rafaelfelipeac.replyradar.core.datetime.PlatformDatePicker -import com.rafaelfelipeac.replyradar.previews.PreviewStringsFake -import com.rafaelfelipeac.replyradar.previews.ReplyRadarPreviewWrapper +import com.rafaelfelipeac.replyradar.previews.shared.fakes.PreviewStringsFake +import com.rafaelfelipeac.replyradar.previews.shared.ReplyRadarPreviewWrapper @Preview(showBackground = true) @Composable diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/PlatformTimePickerPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/PlatformTimePickerPreview.kt index d891eaf..437f801 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/PlatformTimePickerPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/PlatformTimePickerPreview.kt @@ -3,8 +3,8 @@ package com.rafaelfelipeac.replyradar.previews.components import androidx.compose.runtime.Composable import androidx.compose.ui.tooling.preview.Preview import com.rafaelfelipeac.replyradar.core.datetime.PlatformTimePicker -import com.rafaelfelipeac.replyradar.previews.PreviewStringsFake -import com.rafaelfelipeac.replyradar.previews.ReplyRadarPreviewWrapper +import com.rafaelfelipeac.replyradar.previews.shared.fakes.PreviewStringsFake +import com.rafaelfelipeac.replyradar.previews.shared.ReplyRadarPreviewWrapper @Preview(showBackground = true) @Composable diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/RepliesArchivedScreenPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/RepliesArchivedScreenPreview.kt index 2b5f2cc..2afd79d 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/RepliesArchivedScreenPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/RepliesArchivedScreenPreview.kt @@ -5,8 +5,8 @@ import androidx.compose.ui.tooling.preview.Preview import com.rafaelfelipeac.replyradar.core.util.AppConstants.ARCHIVED_INDEX import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.ReplyListState import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.components.RepliesScreen -import com.rafaelfelipeac.replyradar.previews.Replies -import com.rafaelfelipeac.replyradar.previews.ReplyRadarPreviewWrapper +import com.rafaelfelipeac.replyradar.previews.shared.Replies +import com.rafaelfelipeac.replyradar.previews.shared.ReplyRadarPreviewWrapper @Preview(showBackground = true) @Composable diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/RepliesOnTheRadarScreenPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/RepliesOnTheRadarScreenPreview.kt index e06d06d..470007f 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/RepliesOnTheRadarScreenPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/RepliesOnTheRadarScreenPreview.kt @@ -5,8 +5,8 @@ import androidx.compose.ui.tooling.preview.Preview import com.rafaelfelipeac.replyradar.core.util.AppConstants.ON_THE_RADAR_INDEX import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.ReplyListState import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.components.RepliesScreen -import com.rafaelfelipeac.replyradar.previews.Replies -import com.rafaelfelipeac.replyradar.previews.ReplyRadarPreviewWrapper +import com.rafaelfelipeac.replyradar.previews.shared.Replies +import com.rafaelfelipeac.replyradar.previews.shared.ReplyRadarPreviewWrapper @Preview(showBackground = true) @Composable diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/RepliesResolvedScreenPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/RepliesResolvedScreenPreview.kt index 7c0c06e..62bbf25 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/RepliesResolvedScreenPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/RepliesResolvedScreenPreview.kt @@ -5,8 +5,8 @@ import androidx.compose.ui.tooling.preview.Preview import com.rafaelfelipeac.replyradar.core.util.AppConstants.RESOLVED_INDEX import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.ReplyListState import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.components.RepliesScreen -import com.rafaelfelipeac.replyradar.previews.Replies -import com.rafaelfelipeac.replyradar.previews.ReplyRadarPreviewWrapper +import com.rafaelfelipeac.replyradar.previews.shared.Replies +import com.rafaelfelipeac.replyradar.previews.shared.ReplyRadarPreviewWrapper @Preview(showBackground = true) @Composable diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyBottomSheetActionsPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyBottomSheetActionsPreview.kt index 8718f7a..605f99b 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyBottomSheetActionsPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyBottomSheetActionsPreview.kt @@ -5,8 +5,8 @@ import androidx.compose.ui.tooling.preview.Preview import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.components.replybottomsheet.ReplyBottomSheetActions import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.components.replybottomsheet.ReplyBottomSheetMode import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.components.replybottomsheet.ReplyBottomSheetState -import com.rafaelfelipeac.replyradar.previews.Replies -import com.rafaelfelipeac.replyradar.previews.ReplyRadarPreviewWrapper +import com.rafaelfelipeac.replyradar.previews.shared.Replies +import com.rafaelfelipeac.replyradar.previews.shared.ReplyRadarPreviewWrapper @Preview(showBackground = true) @Composable diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyBottomSheetContentPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyBottomSheetContentPreview.kt index 7b08dd2..bf783aa 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyBottomSheetContentPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyBottomSheetContentPreview.kt @@ -5,8 +5,8 @@ import androidx.compose.ui.tooling.preview.Preview import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.components.replybottomsheet.ReplyBottomSheetContent import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.components.replybottomsheet.ReplyBottomSheetMode import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.components.replybottomsheet.ReplyBottomSheetState -import com.rafaelfelipeac.replyradar.previews.Replies -import com.rafaelfelipeac.replyradar.previews.ReplyRadarPreviewWrapper +import com.rafaelfelipeac.replyradar.previews.shared.Replies +import com.rafaelfelipeac.replyradar.previews.shared.ReplyRadarPreviewWrapper @Preview(showBackground = true) @Composable diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyButtonPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyButtonPreview.kt index 582aa0b..7ff2542 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyButtonPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyButtonPreview.kt @@ -9,7 +9,7 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplyButton -import com.rafaelfelipeac.replyradar.previews.ReplyRadarPreviewWrapper +import com.rafaelfelipeac.replyradar.previews.shared.ReplyRadarPreviewWrapper @Preview(showBackground = true) @Composable diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyConfirmationDialogPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyConfirmationDialogPreview.kt index a10ebce..6dec5d0 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyConfirmationDialogPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyConfirmationDialogPreview.kt @@ -4,9 +4,9 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.tooling.preview.Preview import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplyConfirmationDialog import com.rafaelfelipeac.replyradar.core.util.format -import com.rafaelfelipeac.replyradar.previews.PreviewStringsFake -import com.rafaelfelipeac.replyradar.previews.Replies -import com.rafaelfelipeac.replyradar.previews.ReplyRadarPreviewWrapper +import com.rafaelfelipeac.replyradar.previews.shared.fakes.PreviewStringsFake +import com.rafaelfelipeac.replyradar.previews.shared.Replies +import com.rafaelfelipeac.replyradar.previews.shared.ReplyRadarPreviewWrapper @Preview @Composable diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyListItemPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyListItemPreview.kt index d3d0f9d..7d6343e 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyListItemPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyListItemPreview.kt @@ -3,8 +3,8 @@ package com.rafaelfelipeac.replyradar.previews.components import androidx.compose.runtime.Composable import androidx.compose.ui.tooling.preview.Preview import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.components.ReplyListItem -import com.rafaelfelipeac.replyradar.previews.Replies -import com.rafaelfelipeac.replyradar.previews.ReplyRadarPreviewWrapper +import com.rafaelfelipeac.replyradar.previews.shared.Replies +import com.rafaelfelipeac.replyradar.previews.shared.ReplyRadarPreviewWrapper @Preview(showBackground = true) @Composable diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyListPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyListPreview.kt index 1ece02d..464ddfa 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyListPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyListPreview.kt @@ -7,8 +7,8 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.tooling.preview.Preview import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.components.ReplyList -import com.rafaelfelipeac.replyradar.previews.Replies -import com.rafaelfelipeac.replyradar.previews.ReplyRadarPreviewWrapper +import com.rafaelfelipeac.replyradar.previews.shared.Replies +import com.rafaelfelipeac.replyradar.previews.shared.ReplyRadarPreviewWrapper @Preview(showBackground = true) @Composable diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyNotificationPermissionDialogPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyNotificationPermissionDialogPreview.kt index 2826797..a9bb825 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyNotificationPermissionDialogPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyNotificationPermissionDialogPreview.kt @@ -3,7 +3,7 @@ package com.rafaelfelipeac.replyradar.previews.components import androidx.compose.runtime.Composable import androidx.compose.ui.tooling.preview.Preview import com.rafaelfelipeac.replyradar.core.common.ui.components.NotificationPermissionDialog -import com.rafaelfelipeac.replyradar.previews.ReplyRadarPreviewWrapper +import com.rafaelfelipeac.replyradar.previews.shared.ReplyRadarPreviewWrapper @Preview @Composable diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyOutlinedButtonPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyOutlinedButtonPreview.kt index acb52c9..fd4b93c 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyOutlinedButtonPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyOutlinedButtonPreview.kt @@ -9,8 +9,8 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplyOutlinedButton -import com.rafaelfelipeac.replyradar.previews.PreviewStringsFake -import com.rafaelfelipeac.replyradar.previews.ReplyRadarPreviewWrapper +import com.rafaelfelipeac.replyradar.previews.shared.fakes.PreviewStringsFake +import com.rafaelfelipeac.replyradar.previews.shared.ReplyRadarPreviewWrapper import replyradar.composeapp.generated.resources.Res import replyradar.composeapp.generated.resources.ic_archive import replyradar.composeapp.generated.resources.ic_check diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyProgressPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyProgressPreview.kt index 1243e45..c6dc2b3 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyProgressPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyProgressPreview.kt @@ -10,7 +10,7 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplyProgress -import com.rafaelfelipeac.replyradar.previews.ReplyRadarPreviewWrapper +import com.rafaelfelipeac.replyradar.previews.shared.ReplyRadarPreviewWrapper @Preview(showBackground = true) @Composable diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyRadarErrorPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyRadarErrorPreview.kt index ec82833..fcf2cc0 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyRadarErrorPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyRadarErrorPreview.kt @@ -9,7 +9,7 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.tooling.preview.Preview import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplyRadarError -import com.rafaelfelipeac.replyradar.previews.ReplyRadarPreviewWrapper +import com.rafaelfelipeac.replyradar.previews.shared.ReplyRadarPreviewWrapper @Preview(showBackground = true) @Composable diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyRadarPlaceholderPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyRadarPlaceholderPreview.kt index e96b88c..d818ad5 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyRadarPlaceholderPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyRadarPlaceholderPreview.kt @@ -9,8 +9,8 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.tooling.preview.Preview import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplyRadarPlaceholder -import com.rafaelfelipeac.replyradar.previews.PreviewStringsFake -import com.rafaelfelipeac.replyradar.previews.ReplyRadarPreviewWrapper +import com.rafaelfelipeac.replyradar.previews.shared.fakes.PreviewStringsFake +import com.rafaelfelipeac.replyradar.previews.shared.ReplyRadarPreviewWrapper @Preview(showBackground = true) @Composable diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyReminderPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyReminderPreview.kt index 5d16d20..fe70461 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyReminderPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyReminderPreview.kt @@ -3,7 +3,7 @@ package com.rafaelfelipeac.replyradar.previews.components import androidx.compose.runtime.Composable import androidx.compose.ui.tooling.preview.Preview import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplyReminder -import com.rafaelfelipeac.replyradar.previews.ReplyRadarPreviewWrapper +import com.rafaelfelipeac.replyradar.previews.shared.ReplyRadarPreviewWrapper import kotlinx.datetime.Clock import kotlinx.datetime.TimeZone import kotlinx.datetime.toLocalDateTime diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyRoundedCornerPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyRoundedCornerPreview.kt index 061193d..1c3339c 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyRoundedCornerPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyRoundedCornerPreview.kt @@ -9,7 +9,7 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplyRoundedCorner -import com.rafaelfelipeac.replyradar.previews.ReplyRadarPreviewWrapper +import com.rafaelfelipeac.replyradar.previews.shared.ReplyRadarPreviewWrapper @Preview @Composable diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplySnackbarPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplySnackbarPreview.kt index 955bb99..6d8084d 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplySnackbarPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplySnackbarPreview.kt @@ -11,8 +11,8 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import com.rafaelfelipeac.replyradar.core.theme.snackbarBackgroundColor -import com.rafaelfelipeac.replyradar.previews.PreviewStringsFake -import com.rafaelfelipeac.replyradar.previews.ReplyRadarPreviewWrapper +import com.rafaelfelipeac.replyradar.previews.shared.fakes.PreviewStringsFake +import com.rafaelfelipeac.replyradar.previews.shared.ReplyRadarPreviewWrapper // ReplySnackbar can't be used directly in Preview because SnackbarHostState requires an active SnackbarData, // which is only created at runtime via showSnackbar() inside a coroutine. diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyTabPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyTabPreview.kt index 30fc369..37b7fb9 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyTabPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyTabPreview.kt @@ -8,8 +8,8 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.tooling.preview.Preview import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplyTab -import com.rafaelfelipeac.replyradar.previews.PreviewStringsFake -import com.rafaelfelipeac.replyradar.previews.ReplyRadarPreviewWrapper +import com.rafaelfelipeac.replyradar.previews.shared.fakes.PreviewStringsFake +import com.rafaelfelipeac.replyradar.previews.shared.ReplyRadarPreviewWrapper @Preview(showBackground = true) @Composable diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyTextFieldPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyTextFieldPreview.kt index 322a3fe..180060a 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyTextFieldPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyTextFieldPreview.kt @@ -3,9 +3,9 @@ package com.rafaelfelipeac.replyradar.previews.components import androidx.compose.runtime.Composable import androidx.compose.ui.tooling.preview.Preview import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplyTextField -import com.rafaelfelipeac.replyradar.previews.PreviewStringsFake -import com.rafaelfelipeac.replyradar.previews.Replies -import com.rafaelfelipeac.replyradar.previews.ReplyRadarPreviewWrapper +import com.rafaelfelipeac.replyradar.previews.shared.fakes.PreviewStringsFake +import com.rafaelfelipeac.replyradar.previews.shared.Replies +import com.rafaelfelipeac.replyradar.previews.shared.ReplyRadarPreviewWrapper @Preview(showBackground = true) @Composable diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyTimestampInfoPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyTimestampInfoPreview.kt index 48e1e71..cc8e8fd 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyTimestampInfoPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyTimestampInfoPreview.kt @@ -8,8 +8,8 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.tooling.preview.Preview import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.components.ReplyTimestampInfo import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.components.replybottomsheet.ReplyBottomSheetState -import com.rafaelfelipeac.replyradar.previews.Replies -import com.rafaelfelipeac.replyradar.previews.ReplyRadarPreviewWrapper +import com.rafaelfelipeac.replyradar.previews.shared.Replies +import com.rafaelfelipeac.replyradar.previews.shared.ReplyRadarPreviewWrapper @Preview(showBackground = true) @Composable diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyTogglePreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyTogglePreview.kt index f15ffa4..c62dfc0 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyTogglePreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyTogglePreview.kt @@ -9,7 +9,7 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplyToggle -import com.rafaelfelipeac.replyradar.previews.ReplyRadarPreviewWrapper +import com.rafaelfelipeac.replyradar.previews.shared.ReplyRadarPreviewWrapper @Preview(showBackground = true) @Composable diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/TopBarPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/TopBarPreview.kt index be209a6..5f72271 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/TopBarPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/TopBarPreview.kt @@ -2,9 +2,8 @@ package com.rafaelfelipeac.replyradar.previews.components import androidx.compose.runtime.Composable import androidx.compose.ui.tooling.preview.Preview -import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.components.TopBar -import com.rafaelfelipeac.replyradar.previews.ReplyRadarPreviewWrapper +import com.rafaelfelipeac.replyradar.previews.shared.ReplyRadarPreviewWrapper @Preview(showBackground = true) @Composable diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/screens/ReplyListScreenPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/screens/ReplyListScreenPreview.kt index 8c191c4..b4078fd 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/screens/ReplyListScreenPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/screens/ReplyListScreenPreview.kt @@ -2,19 +2,24 @@ package com.rafaelfelipeac.replyradar.previews.screens import androidx.compose.runtime.Composable import androidx.compose.ui.tooling.preview.Preview -import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.ReplyListScreen import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.ReplyListState +import com.rafaelfelipeac.replyradar.previews.shared.ReplyRadarPreviewWrapper +import com.rafaelfelipeac.replyradar.previews.shared.Replies import kotlinx.coroutines.flow.emptyFlow @Preview(showBackground = true) @Composable -fun ReplyListScreenPreview() { - ReplyRadarTheme( +fun ReplyListScreenOnTheRadarPreview() { + ReplyRadarPreviewWrapper( darkTheme = false ) { ReplyListScreen( - state = ReplyListState(), + state = ReplyListState( + selectedTabIndex = 0, + isLoading = false, + replies = Replies.OnTheRadar.replies + ), effect = emptyFlow(), onIntent = {}, onSettingsClick = {}, @@ -25,12 +30,96 @@ fun ReplyListScreenPreview() { @Preview(showBackground = true) @Composable -fun ReplyListScreenDarkPreview() { - ReplyRadarTheme( +fun ReplyListScreenResolvedPreview() { + ReplyRadarPreviewWrapper( + darkTheme = false + ) { + ReplyListScreen( + state = ReplyListState( + selectedTabIndex = 1, + isLoading = false, + replies = Replies.Resolved.replies + ), + effect = emptyFlow(), + onIntent = {}, + onSettingsClick = {}, + onActivityLogClick = {} + ) + } +} + +@Preview(showBackground = true) +@Composable +fun ReplyListScreenArchivedPreview() { + ReplyRadarPreviewWrapper( + darkTheme = false + ) { + ReplyListScreen( + state = ReplyListState( + selectedTabIndex = 2, + isLoading = false, + replies = Replies.Archived.replies + ), + effect = emptyFlow(), + onIntent = {}, + onSettingsClick = {}, + onActivityLogClick = {} + ) + } +} + +@Preview(showBackground = true) +@Composable +fun ReplyListScreenOnTheRadarDarkPreview() { + ReplyRadarPreviewWrapper( + darkTheme = true + ) { + ReplyListScreen( + state = ReplyListState( + selectedTabIndex = 0, + isLoading = false, + replies = Replies.OnTheRadar.replies + ), + effect = emptyFlow(), + onIntent = {}, + onSettingsClick = {}, + onActivityLogClick = {} + ) + } +} + +@Preview(showBackground = true) +@Composable +fun ReplyListScreenResolvedDarkPreview() { + ReplyRadarPreviewWrapper( + darkTheme = true + ) { + ReplyListScreen( + state = ReplyListState( + selectedTabIndex = 1, + isLoading = false, + replies = Replies.Resolved.replies + ), + effect = emptyFlow(), + onIntent = {}, + onSettingsClick = {}, + onActivityLogClick = {} + ) + } +} + +@Preview(showBackground = true) +@Composable +fun ReplyListScreenArchivedDarkPreview() { + ReplyRadarPreviewWrapper( darkTheme = true ) { ReplyListScreen( - state = ReplyListState(), + state = ReplyListState( + selectedTabIndex = 2, + isLoading = false, + replies = Replies.Archived.replies + ), effect = emptyFlow(), onIntent = {}, onSettingsClick = {}, diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/shared/ReplyRadarPreviewWrapper.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/shared/ReplyRadarPreviewWrapper.kt new file mode 100644 index 0000000..745a4cb --- /dev/null +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/shared/ReplyRadarPreviewWrapper.kt @@ -0,0 +1,24 @@ +package com.rafaelfelipeac.replyradar.previews.shared + +import androidx.compose.runtime.Composable +import androidx.compose.runtime.CompositionLocalProvider +import com.rafaelfelipeac.replyradar.core.notification.LocalNotificationPermissionManager +import com.rafaelfelipeac.replyradar.core.strings.LocalReplyRadarStrings +import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme +import com.rafaelfelipeac.replyradar.previews.shared.fakes.FakeNotificationPermissionManager +import com.rafaelfelipeac.replyradar.previews.shared.fakes.PreviewStringsFake + +@Composable +fun ReplyRadarPreviewWrapper( + darkTheme: Boolean = false, + content: @Composable () -> Unit +) { + CompositionLocalProvider( + LocalReplyRadarStrings provides PreviewStringsFake, + LocalNotificationPermissionManager provides FakeNotificationPermissionManager() + ) { + ReplyRadarTheme(darkTheme = darkTheme) { + content() + } + } +} diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/Shared.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/shared/Shared.kt similarity index 98% rename from composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/Shared.kt rename to composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/shared/Shared.kt index 34feeef..24e527a 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/Shared.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/shared/Shared.kt @@ -1,4 +1,4 @@ -package com.rafaelfelipeac.replyradar.previews +package com.rafaelfelipeac.replyradar.previews.shared import com.rafaelfelipeac.replyradar.features.reply.domain.model.Reply diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/shared/fakes/FakeNotificationPermissionManager.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/shared/fakes/FakeNotificationPermissionManager.kt new file mode 100644 index 0000000..2027b4f --- /dev/null +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/shared/fakes/FakeNotificationPermissionManager.kt @@ -0,0 +1,8 @@ +package com.rafaelfelipeac.replyradar.previews.shared.fakes + +import com.rafaelfelipeac.replyradar.core.notification.NotificationPermissionManager + +class FakeNotificationPermissionManager : NotificationPermissionManager { + override suspend fun ensureNotificationPermission(): Boolean = true + override suspend fun goToAppSettings() {} +} diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/PreviewStringsFake.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/shared/fakes/PreviewStringsFake.kt similarity index 99% rename from composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/PreviewStringsFake.kt rename to composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/shared/fakes/PreviewStringsFake.kt index bdb8e90..5b141b5 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/PreviewStringsFake.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/shared/fakes/PreviewStringsFake.kt @@ -1,4 +1,4 @@ -package com.rafaelfelipeac.replyradar.previews +package com.rafaelfelipeac.replyradar.previews.shared.fakes import com.rafaelfelipeac.replyradar.core.strings.Strings From 0d4763f8a258064788578c69dc5d8db807497537 Mon Sep 17 00:00:00 2001 From: Rafael Cordeiro Date: Wed, 30 Jul 2025 23:26:35 -0300 Subject: [PATCH 11/21] Preview fixes. --- .../screens/ReplyListScreenPreview.kt | 120 ++++++++++++++++++ 1 file changed, 120 insertions(+) diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/screens/ReplyListScreenPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/screens/ReplyListScreenPreview.kt index b4078fd..61318cc 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/screens/ReplyListScreenPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/screens/ReplyListScreenPreview.kt @@ -8,6 +8,26 @@ import com.rafaelfelipeac.replyradar.previews.shared.ReplyRadarPreviewWrapper import com.rafaelfelipeac.replyradar.previews.shared.Replies import kotlinx.coroutines.flow.emptyFlow +@Preview(showBackground = true) +@Composable +fun ReplyListScreenOnTheRadarEmptyPreview() { + ReplyRadarPreviewWrapper( + darkTheme = false + ) { + ReplyListScreen( + state = ReplyListState( + selectedTabIndex = 0, + isLoading = false, + replies = emptyList() + ), + effect = emptyFlow(), + onIntent = {}, + onSettingsClick = {}, + onActivityLogClick = {} + ) + } +} + @Preview(showBackground = true) @Composable fun ReplyListScreenOnTheRadarPreview() { @@ -28,6 +48,26 @@ fun ReplyListScreenOnTheRadarPreview() { } } +@Preview(showBackground = true) +@Composable +fun ReplyListScreenResolvedEmptyPreview() { + ReplyRadarPreviewWrapper( + darkTheme = false + ) { + ReplyListScreen( + state = ReplyListState( + selectedTabIndex = 1, + isLoading = false, + replies = emptyList() + ), + effect = emptyFlow(), + onIntent = {}, + onSettingsClick = {}, + onActivityLogClick = {} + ) + } +} + @Preview(showBackground = true) @Composable fun ReplyListScreenResolvedPreview() { @@ -48,6 +88,26 @@ fun ReplyListScreenResolvedPreview() { } } +@Preview(showBackground = true) +@Composable +fun ReplyListScreenArchivedEmptyPreview() { + ReplyRadarPreviewWrapper( + darkTheme = false + ) { + ReplyListScreen( + state = ReplyListState( + selectedTabIndex = 2, + isLoading = false, + replies = emptyList() + ), + effect = emptyFlow(), + onIntent = {}, + onSettingsClick = {}, + onActivityLogClick = {} + ) + } +} + @Preview(showBackground = true) @Composable fun ReplyListScreenArchivedPreview() { @@ -68,6 +128,26 @@ fun ReplyListScreenArchivedPreview() { } } +@Preview(showBackground = true) +@Composable +fun ReplyListScreenOnTheRadarEmptyDarkPreview() { + ReplyRadarPreviewWrapper( + darkTheme = true + ) { + ReplyListScreen( + state = ReplyListState( + selectedTabIndex = 0, + isLoading = false, + replies = emptyList() + ), + effect = emptyFlow(), + onIntent = {}, + onSettingsClick = {}, + onActivityLogClick = {} + ) + } +} + @Preview(showBackground = true) @Composable fun ReplyListScreenOnTheRadarDarkPreview() { @@ -88,6 +168,26 @@ fun ReplyListScreenOnTheRadarDarkPreview() { } } +@Preview(showBackground = true) +@Composable +fun ReplyListScreenResolvedEmptyDarkPreview() { + ReplyRadarPreviewWrapper( + darkTheme = true + ) { + ReplyListScreen( + state = ReplyListState( + selectedTabIndex = 1, + isLoading = false, + replies = emptyList() + ), + effect = emptyFlow(), + onIntent = {}, + onSettingsClick = {}, + onActivityLogClick = {} + ) + } +} + @Preview(showBackground = true) @Composable fun ReplyListScreenResolvedDarkPreview() { @@ -108,6 +208,26 @@ fun ReplyListScreenResolvedDarkPreview() { } } +@Preview(showBackground = true) +@Composable +fun ReplyListScreenArchivedEmptyDarkPreview() { + ReplyRadarPreviewWrapper( + darkTheme = true + ) { + ReplyListScreen( + state = ReplyListState( + selectedTabIndex = 2, + isLoading = false, + replies = emptyList() + ), + effect = emptyFlow(), + onIntent = {}, + onSettingsClick = {}, + onActivityLogClick = {} + ) + } +} + @Preview(showBackground = true) @Composable fun ReplyListScreenArchivedDarkPreview() { From 5667d90f10881e1e22b02fcdaacd381b96af0cfc Mon Sep 17 00:00:00 2001 From: Rafael Cordeiro Date: Wed, 30 Jul 2025 23:33:01 -0300 Subject: [PATCH 12/21] Preview fixes. --- .../screens/ActivityLogScreenPreview.kt | 66 +++++++------- .../replyradar/previews/shared/Shared.kt | 90 +++++++++++++++++++ .../replyradar/core/navigation/AppNavHost.kt | 4 +- .../presentation/ActivityLogScreen.kt | 18 +++- 4 files changed, 142 insertions(+), 36 deletions(-) diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/screens/ActivityLogScreenPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/screens/ActivityLogScreenPreview.kt index af43b02..40c4d22 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/screens/ActivityLogScreenPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/screens/ActivityLogScreenPreview.kt @@ -3,20 +3,21 @@ package com.rafaelfelipeac.replyradar.previews.screens import androidx.compose.runtime.Composable import androidx.compose.ui.tooling.preview.Preview import com.rafaelfelipeac.replyradar.features.activitylog.presentation.ActivityLogScreen -import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme -import com.rafaelfelipeac.replyradar.features.useractions.domain.model.UserAction -import com.rafaelfelipeac.replyradar.features.useractions.domain.model.UserActionTargetType -import com.rafaelfelipeac.replyradar.features.useractions.domain.model.UserActionType -import kotlinx.datetime.Clock -import com.rafaelfelipeac.replyradar.features.activitylog.presentation.ActivityLogListItem +import com.rafaelfelipeac.replyradar.features.activitylog.presentation.ActivityLogState +import com.rafaelfelipeac.replyradar.previews.shared.ReplyRadarPreviewWrapper +import com.rafaelfelipeac.replyradar.previews.shared.previewActivityLogItems @Preview(showBackground = true) @Composable -fun ActivityLogScreenPreview() { - ReplyRadarTheme( +fun ActivityLogScreenEmptyPreview() { + ReplyRadarPreviewWrapper( darkTheme = false ) { ActivityLogScreen( + state = ActivityLogState( + isLoading = false, + activityLogItems = emptyList() + ), onBackClick = {} ) } @@ -24,48 +25,49 @@ fun ActivityLogScreenPreview() { @Preview(showBackground = true) @Composable -fun ActivityLogScreenDarkPreview() { - ReplyRadarTheme( - darkTheme = true +fun ActivityLogScreenPreview() { + ReplyRadarPreviewWrapper( + darkTheme = false ) { ActivityLogScreen( + state = ActivityLogState( + isLoading = false, + activityLogItems = previewActivityLogItems + ), onBackClick = {} ) } } + @Preview(showBackground = true) @Composable -fun ActivityLogListItemPreview() { - ReplyRadarTheme( - darkTheme = false +fun ActivityLogScreenEmptyDarkPreview() { + ReplyRadarPreviewWrapper( + darkTheme = true ) { - ActivityLogListItem( - userAction = UserAction( - id = 1, - actionType = UserActionType.Create, - targetType = UserActionTargetType.Message, - targetName = "User Action 1", - createdAt = Clock.System.now().toEpochMilliseconds() - ) + ActivityLogScreen( + state = ActivityLogState( + isLoading = false, + activityLogItems = emptyList() + ), + onBackClick = {} ) } } @Preview(showBackground = true) @Composable -fun ActivityLogListItemDarkPreview() { - ReplyRadarTheme( +fun ActivityLogScreenDarkPreview() { + ReplyRadarPreviewWrapper( darkTheme = true ) { - ActivityLogListItem( - userAction = UserAction( - id = 1, - actionType = UserActionType.Create, - targetType = UserActionTargetType.Message, - targetName = "User Action 1", - createdAt = Clock.System.now().toEpochMilliseconds() - ) + ActivityLogScreen( + state = ActivityLogState( + isLoading = false, + activityLogItems = previewActivityLogItems + ), + onBackClick = {} ) } } diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/shared/Shared.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/shared/Shared.kt index 24e527a..ce78be4 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/shared/Shared.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/shared/Shared.kt @@ -1,6 +1,9 @@ package com.rafaelfelipeac.replyradar.previews.shared import com.rafaelfelipeac.replyradar.features.reply.domain.model.Reply +import com.rafaelfelipeac.replyradar.features.useractions.domain.model.UserAction +import com.rafaelfelipeac.replyradar.features.useractions.domain.model.UserActionTargetType +import com.rafaelfelipeac.replyradar.features.useractions.domain.model.UserActionType sealed class Replies { @@ -112,3 +115,90 @@ sealed class Replies { val replies = listOf(reply1, reply2, reply3, reply4, reply5) } } + +val previewActivityLogItems = listOf( + UserAction( + id = 1L, + actionType = UserActionType.Create, + targetType = UserActionTargetType.Message, + targetName = "Lucas Almeida", + createdAt = System.currentTimeMillis() + ), + UserAction( + id = 2L, + actionType = UserActionType.Edit, + targetType = UserActionTargetType.Message, + targetName = "Carla Mendes", + createdAt = System.currentTimeMillis() - 1_000_000L + ), + UserAction( + id = 3L, + actionType = UserActionType.Resolve, + targetType = UserActionTargetType.Message, + targetName = "João Victor", + createdAt = System.currentTimeMillis() - 2_000_000L + ), + UserAction( + id = 4L, + actionType = UserActionType.Archive, + targetType = UserActionTargetType.Message, + targetName = "Ana Paula", + createdAt = System.currentTimeMillis() - 3_000_000L + ), + UserAction( + id = 5L, + actionType = UserActionType.OpenedNotification, + targetType = UserActionTargetType.Message, + targetName = "Marcelo Costa", + createdAt = System.currentTimeMillis() - 4_000_000L + ), + UserAction( + id = 6L, + actionType = UserActionType.Open, + targetType = UserActionTargetType.Message, + targetName = "Beatriz Rocha", + createdAt = System.currentTimeMillis() - 5_000_000L + ), + UserAction( + id = 7L, + actionType = UserActionType.Delete, + targetType = UserActionTargetType.Message, + targetName = "Henrique Silva", + createdAt = System.currentTimeMillis() - 6_000_000L + ), + UserAction( + id = 8L, + actionType = UserActionType.Scheduled, + targetType = UserActionTargetType.Message, + targetName = "Fernanda Luz", + createdAt = System.currentTimeMillis() - 7_000_000L + ), + UserAction( + id = 9L, + actionType = UserActionType.Create, + targetType = UserActionTargetType.Feedback, + targetName = null, + createdAt = System.currentTimeMillis() - 8_000_000L + ), + UserAction( + id = 10L, + actionType = UserActionType.Create, + targetType = UserActionTargetType.Language, + targetName = null, + createdAt = System.currentTimeMillis() - 9_000_000L + ), + UserAction( + id = 11L, + actionType = UserActionType.Create, + targetType = UserActionTargetType.Theme, + targetName = null, + createdAt = System.currentTimeMillis() - 10_000_000L + ), + UserAction( + id = 12L, + actionType = UserActionType.Create, + targetType = UserActionTargetType.Rate, + targetName = null, + createdAt = System.currentTimeMillis() - 11_000_000L + ) +) diff --git a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/navigation/AppNavHost.kt b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/navigation/AppNavHost.kt index 82ea131..839b074 100644 --- a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/navigation/AppNavHost.kt +++ b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/navigation/AppNavHost.kt @@ -13,7 +13,7 @@ import com.rafaelfelipeac.replyradar.core.navigation.Route.ActivityLog import com.rafaelfelipeac.replyradar.core.navigation.Route.ReplyGraph import com.rafaelfelipeac.replyradar.core.navigation.Route.ReplyList import com.rafaelfelipeac.replyradar.core.navigation.Route.Settings -import com.rafaelfelipeac.replyradar.features.activitylog.presentation.ActivityLogScreen +import com.rafaelfelipeac.replyradar.features.activitylog.presentation.ActivityLogScreenRoot import com.rafaelfelipeac.replyradar.features.activitylog.presentation.ActivityLogViewModel import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.ReplyListScreenRoot import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.ReplyListViewModel @@ -67,7 +67,7 @@ fun AppNavHost(navController: NavHostController, pendingReplyId: Long?) { ) { val viewModel = koinViewModel() - ActivityLogScreen( + ActivityLogScreenRoot( viewModel = viewModel, onBackClick = { navController.popBackStack() } ) diff --git a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/activitylog/presentation/ActivityLogScreen.kt b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/activitylog/presentation/ActivityLogScreen.kt index cedaa37..b2a19bd 100644 --- a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/activitylog/presentation/ActivityLogScreen.kt +++ b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/activitylog/presentation/ActivityLogScreen.kt @@ -83,11 +83,25 @@ import replyradar.composeapp.generated.resources.ic_theme import replyradar.composeapp.generated.resources.ic_time import replyradar.composeapp.generated.resources.ic_unarchive -@OptIn(ExperimentalMaterial3Api::class) @Composable -fun ActivityLogScreen(viewModel: ActivityLogViewModel = koinViewModel(), onBackClick: () -> Unit) { +fun ActivityLogScreenRoot( + viewModel: ActivityLogViewModel = koinViewModel(), + onBackClick: () -> Unit +) { val state by viewModel.state.collectAsStateWithLifecycle() + ActivityLogScreen( + state = state, + onBackClick = onBackClick + ) +} + +@OptIn(ExperimentalMaterial3Api::class) +@Composable +fun ActivityLogScreen( + state: ActivityLogState, + onBackClick: () -> Unit +) { Scaffold( topBar = { TopAppBar( From cef62b442f3001dc55618edfabf7b122bcc0cca3 Mon Sep 17 00:00:00 2001 From: Rafael Cordeiro Date: Sat, 2 Aug 2025 14:17:05 -0300 Subject: [PATCH 13/21] Preview fixes. --- .../previews/screens/SettingsScreenPreview.kt | 33 ++++++++++++---- .../replyradar/previews/shared/Shared.kt | 2 + .../replyradar/core/navigation/AppNavHost.kt | 4 +- .../settings/presentation/SettingsScreen.kt | 38 +++++++++++++++---- 4 files changed, 60 insertions(+), 17 deletions(-) diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/screens/SettingsScreenPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/screens/SettingsScreenPreview.kt index 7d34b58..eb1dffc 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/screens/SettingsScreenPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/screens/SettingsScreenPreview.kt @@ -2,31 +2,50 @@ package com.rafaelfelipeac.replyradar.previews.screens import androidx.compose.runtime.Composable import androidx.compose.ui.tooling.preview.Preview -import com.rafaelfelipeac.replyradar.core.theme.ReplyRadarTheme +import com.rafaelfelipeac.replyradar.core.language.AppLanguage.ENGLISH +import com.rafaelfelipeac.replyradar.core.theme.model.AppTheme.DARK +import com.rafaelfelipeac.replyradar.core.theme.model.AppTheme.LIGHT import com.rafaelfelipeac.replyradar.features.settings.presentation.SettingsScreen +import com.rafaelfelipeac.replyradar.features.settings.presentation.SettingsState +import com.rafaelfelipeac.replyradar.previews.shared.ReplyRadarPreviewWrapper +import com.rafaelfelipeac.replyradar.previews.shared.appVersion @Preview(showBackground = true) @Composable -fun SettingsScreenPreview() { - ReplyRadarTheme( +fun SettingsScreenEnglishPreview() { + ReplyRadarPreviewWrapper( darkTheme = false ) { SettingsScreen( + state = SettingsState( + theme = LIGHT, + language = ENGLISH, + isLoading = false, + ), onBackClick = {}, - onActivityLogClick = {} + onActivityLogClick = {}, + onIntent = {}, + appVersion = appVersion ) } } @Preview(showBackground = true) @Composable -fun SettingsScreenDarkPreview() { - ReplyRadarTheme( +fun SettingsScreenDarkEnglishPreview() { + ReplyRadarPreviewWrapper( darkTheme = true ) { SettingsScreen( + state = SettingsState( + theme = DARK, + language = ENGLISH, + isLoading = false, + ), onBackClick = {}, - onActivityLogClick = {} + onActivityLogClick = {}, + onIntent = {}, + appVersion = appVersion ) } } diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/shared/Shared.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/shared/Shared.kt index ce78be4..173a00f 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/shared/Shared.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/shared/Shared.kt @@ -5,6 +5,8 @@ import com.rafaelfelipeac.replyradar.features.useractions.domain.model.UserActio import com.rafaelfelipeac.replyradar.features.useractions.domain.model.UserActionTargetType import com.rafaelfelipeac.replyradar.features.useractions.domain.model.UserActionType +val appVersion = "1.0.0 - Preview" + sealed class Replies { data object OnTheRadar : Replies() { diff --git a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/navigation/AppNavHost.kt b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/navigation/AppNavHost.kt index 839b074..a395557 100644 --- a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/navigation/AppNavHost.kt +++ b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/core/navigation/AppNavHost.kt @@ -17,7 +17,7 @@ import com.rafaelfelipeac.replyradar.features.activitylog.presentation.ActivityL import com.rafaelfelipeac.replyradar.features.activitylog.presentation.ActivityLogViewModel import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.ReplyListScreenRoot import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.ReplyListViewModel -import com.rafaelfelipeac.replyradar.features.settings.presentation.SettingsScreen +import com.rafaelfelipeac.replyradar.features.settings.presentation.SettingsScreenRoot import com.rafaelfelipeac.replyradar.features.settings.presentation.SettingsViewModel import org.koin.compose.viewmodel.koinViewModel @@ -52,7 +52,7 @@ fun AppNavHost(navController: NavHostController, pendingReplyId: Long?) { ) { val viewModel = koinViewModel() - SettingsScreen( + SettingsScreenRoot( viewModel = viewModel, onBackClick = { navController.popBackStack() }, onActivityLogClick = { navController.navigate(ActivityLog) } diff --git a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/settings/presentation/SettingsScreen.kt b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/settings/presentation/SettingsScreen.kt index c8a319a..021c471 100644 --- a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/settings/presentation/SettingsScreen.kt +++ b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/settings/presentation/SettingsScreen.kt @@ -64,15 +64,33 @@ import replyradar.composeapp.generated.resources.Res.drawable import replyradar.composeapp.generated.resources.ic_email import replyradar.composeapp.generated.resources.ic_rate -@OptIn(ExperimentalMaterial3Api::class) @Composable -fun SettingsScreen( +fun SettingsScreenRoot( viewModel: SettingsViewModel = koinViewModel(), + appVersion: String = getAppVersion(), onBackClick: () -> Unit, onActivityLogClick: () -> Unit ) { val state by viewModel.state.collectAsStateWithLifecycle() + SettingsScreen( + state = state, + appVersion = appVersion, + onBackClick = onBackClick, + onActivityLogClick = onActivityLogClick, + onIntent = { viewModel.onIntent(it) } + ) +} + +@OptIn(ExperimentalMaterial3Api::class) +@Composable +fun SettingsScreen( + state: SettingsState, + appVersion: String, + onBackClick: () -> Unit, + onActivityLogClick: () -> Unit, + onIntent: (SettingsIntent) -> Unit +) { Scaffold( topBar = { TopAppBar( @@ -109,26 +127,27 @@ fun SettingsScreen( .padding(vertical = paddingMedium) ) - Theme(state = state, onIntent = { viewModel.onIntent(it) }) + Theme(state = state, onIntent = onIntent) HorizontalDivider( modifier = Modifier .padding(vertical = paddingMedium) ) - Language(state = state, onIntent = { viewModel.onIntent(it) }) + Language(state = state, onIntent = onIntent) HorizontalDivider( modifier = Modifier .padding(vertical = paddingMedium) ) - App(onIntent = { viewModel.onIntent(it) }) + App(onIntent = onIntent) } AppVersionFooter( modifier = Modifier - .align(Alignment.BottomCenter) + .align(Alignment.BottomCenter), + appVersion = appVersion ) } } @@ -361,7 +380,10 @@ fun SettingsItem(text: String, description: String, icon: DrawableResource, onCl } @Composable -fun AppVersionFooter(modifier: Modifier = Modifier) { +fun AppVersionFooter( + modifier: Modifier = Modifier, + appVersion: String +) { Box( modifier = modifier .fillMaxWidth() @@ -373,7 +395,7 @@ fun AppVersionFooter(modifier: Modifier = Modifier) { ) Text( - text = "${LocalReplyRadarStrings.current.settingsAppVersion} ${getAppVersion()}", + text = "${LocalReplyRadarStrings.current.settingsAppVersion} $appVersion", style = typography.bodySmall, modifier = Modifier .align(Alignment.Center) From eb454feaa05db8cb2c6fd16001b05bf5d66d9169 Mon Sep 17 00:00:00 2001 From: Rafael Cordeiro Date: Sat, 2 Aug 2025 14:33:20 -0300 Subject: [PATCH 14/21] Preview fixes. --- .../components/ActivityLogListItemPreview.kt | 349 ++++++++++++++++-- .../replyradar/previews/shared/Shared.kt | 2 +- 2 files changed, 322 insertions(+), 29 deletions(-) diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ActivityLogListItemPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ActivityLogListItemPreview.kt index 3d350d0..ea45aa2 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ActivityLogListItemPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ActivityLogListItemPreview.kt @@ -5,43 +5,336 @@ import androidx.compose.ui.tooling.preview.Preview import com.rafaelfelipeac.replyradar.features.activitylog.presentation.ActivityLogListItem import com.rafaelfelipeac.replyradar.features.useractions.domain.model.UserAction import com.rafaelfelipeac.replyradar.features.useractions.domain.model.UserActionTargetType +import com.rafaelfelipeac.replyradar.features.useractions.domain.model.UserActionTargetType.Feedback +import com.rafaelfelipeac.replyradar.features.useractions.domain.model.UserActionTargetType.Language +import com.rafaelfelipeac.replyradar.features.useractions.domain.model.UserActionTargetType.Message +import com.rafaelfelipeac.replyradar.features.useractions.domain.model.UserActionTargetType.Rate +import com.rafaelfelipeac.replyradar.features.useractions.domain.model.UserActionTargetType.Theme import com.rafaelfelipeac.replyradar.features.useractions.domain.model.UserActionType +import com.rafaelfelipeac.replyradar.features.useractions.domain.model.UserActionType.Archive +import com.rafaelfelipeac.replyradar.features.useractions.domain.model.UserActionType.Create +import com.rafaelfelipeac.replyradar.features.useractions.domain.model.UserActionType.Delete +import com.rafaelfelipeac.replyradar.features.useractions.domain.model.UserActionType.Edit +import com.rafaelfelipeac.replyradar.features.useractions.domain.model.UserActionType.Open +import com.rafaelfelipeac.replyradar.features.useractions.domain.model.UserActionType.OpenedNotification +import com.rafaelfelipeac.replyradar.features.useractions.domain.model.UserActionType.Reopen +import com.rafaelfelipeac.replyradar.features.useractions.domain.model.UserActionType.Resolve +import com.rafaelfelipeac.replyradar.features.useractions.domain.model.UserActionType.Scheduled +import com.rafaelfelipeac.replyradar.features.useractions.domain.model.UserActionType.Unarchive +import com.rafaelfelipeac.replyradar.features.useractions.domain.model.UserActionType.Unknown import com.rafaelfelipeac.replyradar.previews.shared.Replies import com.rafaelfelipeac.replyradar.previews.shared.ReplyRadarPreviewWrapper import kotlinx.datetime.Clock @Preview(showBackground = true) @Composable -fun ActivityLogListItemPreview() { - ReplyRadarPreviewWrapper( - darkTheme = false - ) { - ActivityLogListItem( - userAction = UserAction( - id = 1, - actionType = UserActionType.Create, - targetType = UserActionTargetType.Message, - targetName = Replies.OnTheRadar.reply1.name, - createdAt = Clock.System.now().toEpochMilliseconds() - ) - ) - } -} +fun PreviewCreateMessage() = PreviewAction( + id = 1, + type = Create, + target = Message, + name = Replies.OnTheRadar.reply1.name +) + +@Preview(showBackground = true) +@Composable +fun PreviewEditMessage() = PreviewAction( + id = 2, + type = Edit, + target = Message, + name = Replies.OnTheRadar.reply2.name, + timeOffsetMillis = 1_000_000L +) + +@Preview(showBackground = true) +@Composable +fun PreviewResolveMessage() = PreviewAction( + id = 3, + type = Resolve, + target = Message, + name = Replies.Resolved.reply3.name, + timeOffsetMillis = 2_000_000L +) + +@Preview(showBackground = true) +@Composable +fun PreviewReopenMessage() = PreviewAction( + id = 4, + type = Reopen, + target = Message, + name = Replies.Resolved.reply4.name, + timeOffsetMillis = 3_000_000L +) + +@Preview(showBackground = true) +@Composable +fun PreviewArchiveMessage() = PreviewAction( + id = 5, + type = Archive, + target = Message, + name = Replies.Archived.reply1.name, + timeOffsetMillis = 4_000_000L +) + +@Preview(showBackground = true) +@Composable +fun PreviewUnarchiveMessage() = PreviewAction( + id = 6, + type = Unarchive, + target = Message, + name = Replies.Archived.reply2.name, + timeOffsetMillis = 5_000_000L +) + +@Preview(showBackground = true) +@Composable +fun PreviewDeleteMessage() = PreviewAction( + id = 7, + type = Delete, + target = Message, + name = Replies.OnTheRadar.reply3.name, + timeOffsetMillis = 6_000_000L +) + +@Preview(showBackground = true) +@Composable +fun PreviewScheduledMessage() = PreviewAction( + id = 8, + type = Scheduled, + target = Message, + name = Replies.OnTheRadar.reply4.name, + timeOffsetMillis = 7_000_000L +) + +@Preview(showBackground = true) +@Composable +fun PreviewOpenedNotificationMessage() = PreviewAction( + id = 9, + type = OpenedNotification, + target = Message, + name = Replies.OnTheRadar.reply5.name, + timeOffsetMillis = 8_000_000L +) + +@Preview(showBackground = true) +@Composable +fun PreviewOpenMessage() = PreviewAction( + id = 10, + type = Open, + target = Message, + name = Replies.OnTheRadar.reply1.name, + timeOffsetMillis = 9_000_000L +) + +@Preview(showBackground = true) +@Composable +fun PreviewCreateTheme() = PreviewAction( + id = 11, + type = Create, + target = Theme, + name = null, + timeOffsetMillis = 10_000_000L +) + +@Preview(showBackground = true) +@Composable +fun PreviewCreateLanguage() = PreviewAction( + id = 12, + type = Create, + target = Language, + name = null, + timeOffsetMillis = 11_000_000L +) + +@Preview(showBackground = true) +@Composable +fun PreviewCreateFeedback() = PreviewAction( + id = 13, + type = Create, + target = Feedback, + name = null, + timeOffsetMillis = 12_000_000L +) + +@Preview(showBackground = true) +@Composable +fun PreviewCreateRate() = PreviewAction( + id = 14, + type = Create, + target = Rate, + name = null, + timeOffsetMillis = 13_000_000L +) + @Preview(showBackground = true) @Composable -fun ActivityLogListItemDarkPreview() { - ReplyRadarPreviewWrapper( - darkTheme = true - ) { - ActivityLogListItem( - userAction = UserAction( - id = 1, - actionType = UserActionType.Create, - targetType = UserActionTargetType.Message, - targetName = Replies.OnTheRadar.reply1.name, - createdAt = Clock.System.now().toEpochMilliseconds() - ) +fun PreviewCreateMessageDark() = PreviewAction( + id = 1, + type = Create, + target = Message, + name = Replies.OnTheRadar.reply1.name, + darkTheme = true +) + +@Preview(showBackground = true) +@Composable +fun PreviewEditMessageDark() = PreviewAction( + id = 2, + type = Edit, + target = Message, + name = Replies.OnTheRadar.reply2.name, + timeOffsetMillis = 1_000_000L, + darkTheme = true +) + +@Preview(showBackground = true) +@Composable +fun PreviewResolveMessageDark() = PreviewAction( + id = 3, + type = Resolve, + target = Message, + name = Replies.Resolved.reply3.name, + timeOffsetMillis = 2_000_000L, + darkTheme = true +) + +@Preview(showBackground = true) +@Composable +fun PreviewReopenMessageDark() = PreviewAction( + id = 4, + type = Reopen, + target = Message, + name = Replies.Resolved.reply4.name, + timeOffsetMillis = 3_000_000L, + darkTheme = true +) + +@Preview(showBackground = true) +@Composable +fun PreviewArchiveMessageDark() = PreviewAction( + id = 5, + type = Archive, + target = Message, + name = Replies.Archived.reply1.name, + timeOffsetMillis = 4_000_000L, + darkTheme = true +) + +@Preview(showBackground = true) +@Composable +fun PreviewUnarchiveMessageDark() = PreviewAction( + id = 6, + type = Unarchive, + target = Message, + name = Replies.Archived.reply2.name, + timeOffsetMillis = 5_000_000L, + darkTheme = true +) + +@Preview(showBackground = true) +@Composable +fun PreviewDeleteMessageDark() = PreviewAction( + id = 7, + type = Delete, + target = Message, + name = Replies.OnTheRadar.reply3.name, + timeOffsetMillis = 6_000_000L, + darkTheme = true +) + +@Preview(showBackground = true) +@Composable +fun PreviewScheduledMessageDark() = PreviewAction( + id = 8, + type = Scheduled, + target = Message, + name = Replies.OnTheRadar.reply4.name, + timeOffsetMillis = 7_000_000L, + darkTheme = true +) + +@Preview(showBackground = true) +@Composable +fun PreviewOpenedNotificationMessageDark() = PreviewAction( + id = 9, + type = OpenedNotification, + target = Message, + name = Replies.OnTheRadar.reply5.name, + timeOffsetMillis = 8_000_000L, + darkTheme = true +) + +@Preview(showBackground = true) +@Composable +fun PreviewOpenMessageDark() = PreviewAction( + id = 10, + type = Open, + target = Message, + name = Replies.OnTheRadar.reply1.name, + timeOffsetMillis = 9_000_000L, + darkTheme = true +) + +@Preview(showBackground = true) +@Composable +fun PreviewCreateThemeDark() = PreviewAction( + id = 11, + type = Create, + target = Theme, + name = null, + timeOffsetMillis = 10_000_000L, + darkTheme = true +) + +@Preview(showBackground = true) +@Composable +fun PreviewCreateLanguageDark() = PreviewAction( + id = 12, + type = Create, + target = Language, + name = null, + timeOffsetMillis = 11_000_000L, + darkTheme = true +) + +@Preview(showBackground = true) +@Composable +fun PreviewCreateFeedbackDark() = PreviewAction( + id = 13, + type = Create, + target = Feedback, + name = null, + timeOffsetMillis = 12_000_000L, + darkTheme = true +) + +@Preview(showBackground = true) +@Composable +fun PreviewCreateRateDark() = PreviewAction( + id = 14, + type = Create, + target = Rate, + name = null, + timeOffsetMillis = 13_000_000L, + darkTheme = true +) + +@Composable +private fun PreviewAction( + id: Long, + type: UserActionType, + target: UserActionTargetType, + name: String? = null, + timeOffsetMillis: Long = 0L, + darkTheme: Boolean = false +) = ReplyRadarPreviewWrapper(darkTheme = darkTheme) { + ActivityLogListItem( + userAction = UserAction( + id = id, + actionType = type, + targetType = target, + targetName = name, + createdAt = Clock.System.now().toEpochMilliseconds() - timeOffsetMillis ) - } + ) } diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/shared/Shared.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/shared/Shared.kt index 173a00f..daef753 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/shared/Shared.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/shared/Shared.kt @@ -5,7 +5,7 @@ import com.rafaelfelipeac.replyradar.features.useractions.domain.model.UserActio import com.rafaelfelipeac.replyradar.features.useractions.domain.model.UserActionTargetType import com.rafaelfelipeac.replyradar.features.useractions.domain.model.UserActionType -val appVersion = "1.0.0 - Preview" +const val appVersion = "1.0.0 - Preview" sealed class Replies { From f193f3b3abab1030d25040a1c4209deaca573227 Mon Sep 17 00:00:00 2001 From: Rafael Cordeiro Date: Sat, 2 Aug 2025 14:48:49 -0300 Subject: [PATCH 15/21] Preview fixes. --- .../previews/components/ReplyTabPreview.kt | 142 +++++++++++++++++- .../screens/ReplyListScreenPreview.kt | 16 +- .../presentation/replylist/ReplyListScreen.kt | 5 +- 3 files changed, 152 insertions(+), 11 deletions(-) diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyTabPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyTabPreview.kt index 37b7fb9..8a62acf 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyTabPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyTabPreview.kt @@ -13,7 +13,7 @@ import com.rafaelfelipeac.replyradar.previews.shared.ReplyRadarPreviewWrapper @Preview(showBackground = true) @Composable -fun ReplyTabPreview() { +fun ReplyTabOnTheRadarPreview() { ReplyRadarPreviewWrapper(darkTheme = false) { TabRow( selectedTabIndex = 0, @@ -46,7 +46,7 @@ fun ReplyTabPreview() { @Preview(showBackground = true) @Composable -fun ReplyTabDarkPreview() { +fun ReplyTabDarkOnTheRadarPreview() { ReplyRadarPreviewWrapper( darkTheme = true ) { @@ -78,3 +78,141 @@ fun ReplyTabDarkPreview() { } } } + + +@Preview(showBackground = true) +@Composable +fun ReplyTabResolvedPreview() { + ReplyRadarPreviewWrapper(darkTheme = false) { + TabRow( + selectedTabIndex = 1, + containerColor = MaterialTheme.colorScheme.background, + indicator = { tabPositions -> + TabRowDefaults.SecondaryIndicator( + modifier = Modifier.tabIndicatorOffset(tabPositions[1]), + color = MaterialTheme.colorScheme.secondary + ) + } + ) { + ReplyTab( + selected = true, + onClick = {}, + text = PreviewStringsFake.replyListTabOnTheRadar + ) + ReplyTab( + selected = false, + onClick = {}, + text = PreviewStringsFake.replyListTabResolved + ) + ReplyTab( + selected = false, + onClick = {}, + text = PreviewStringsFake.replyListTabArchived + ) + } + } +} + +@Preview(showBackground = true) +@Composable +fun ReplyTabDarkResolvedPreview() { + ReplyRadarPreviewWrapper( + darkTheme = true + ) { + TabRow( + selectedTabIndex = 1, + containerColor = MaterialTheme.colorScheme.background, + indicator = { tabPositions -> + TabRowDefaults.SecondaryIndicator( + modifier = Modifier.tabIndicatorOffset(tabPositions[1]), + color = MaterialTheme.colorScheme.secondary + ) + } + ) { + ReplyTab( + selected = true, + onClick = {}, + text = PreviewStringsFake.replyListTabOnTheRadar + ) + ReplyTab( + selected = false, + onClick = {}, + text = PreviewStringsFake.replyListTabResolved + ) + ReplyTab( + selected = false, + onClick = {}, + text = PreviewStringsFake.replyListTabArchived + ) + } + } +} + + +@Preview(showBackground = true) +@Composable +fun ReplyTabArchivedPreview() { + ReplyRadarPreviewWrapper(darkTheme = false) { + TabRow( + selectedTabIndex = 2, + containerColor = MaterialTheme.colorScheme.background, + indicator = { tabPositions -> + TabRowDefaults.SecondaryIndicator( + modifier = Modifier.tabIndicatorOffset(tabPositions[2]), + color = MaterialTheme.colorScheme.secondary + ) + } + ) { + ReplyTab( + selected = true, + onClick = {}, + text = PreviewStringsFake.replyListTabOnTheRadar + ) + ReplyTab( + selected = false, + onClick = {}, + text = PreviewStringsFake.replyListTabResolved + ) + ReplyTab( + selected = false, + onClick = {}, + text = PreviewStringsFake.replyListTabArchived + ) + } + } +} + +@Preview(showBackground = true) +@Composable +fun ReplyTabDarkArchivedPreview() { + ReplyRadarPreviewWrapper( + darkTheme = true + ) { + TabRow( + selectedTabIndex = 2, + containerColor = MaterialTheme.colorScheme.background, + indicator = { tabPositions -> + TabRowDefaults.SecondaryIndicator( + modifier = Modifier.tabIndicatorOffset(tabPositions[2]), + color = MaterialTheme.colorScheme.secondary + ) + } + ) { + ReplyTab( + selected = true, + onClick = {}, + text = PreviewStringsFake.replyListTabOnTheRadar + ) + ReplyTab( + selected = false, + onClick = {}, + text = PreviewStringsFake.replyListTabResolved + ) + ReplyTab( + selected = false, + onClick = {}, + text = PreviewStringsFake.replyListTabArchived + ) + } + } +} diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/screens/ReplyListScreenPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/screens/ReplyListScreenPreview.kt index 61318cc..9febb94 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/screens/ReplyListScreenPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/screens/ReplyListScreenPreview.kt @@ -58,7 +58,7 @@ fun ReplyListScreenResolvedEmptyPreview() { state = ReplyListState( selectedTabIndex = 1, isLoading = false, - replies = emptyList() + resolvedReplies = emptyList() ), effect = emptyFlow(), onIntent = {}, @@ -78,7 +78,7 @@ fun ReplyListScreenResolvedPreview() { state = ReplyListState( selectedTabIndex = 1, isLoading = false, - replies = Replies.Resolved.replies + resolvedReplies = Replies.Resolved.replies ), effect = emptyFlow(), onIntent = {}, @@ -98,7 +98,7 @@ fun ReplyListScreenArchivedEmptyPreview() { state = ReplyListState( selectedTabIndex = 2, isLoading = false, - replies = emptyList() + archivedReplies = emptyList() ), effect = emptyFlow(), onIntent = {}, @@ -118,7 +118,7 @@ fun ReplyListScreenArchivedPreview() { state = ReplyListState( selectedTabIndex = 2, isLoading = false, - replies = Replies.Archived.replies + archivedReplies = Replies.Archived.replies ), effect = emptyFlow(), onIntent = {}, @@ -178,7 +178,7 @@ fun ReplyListScreenResolvedEmptyDarkPreview() { state = ReplyListState( selectedTabIndex = 1, isLoading = false, - replies = emptyList() + resolvedReplies = emptyList() ), effect = emptyFlow(), onIntent = {}, @@ -198,7 +198,7 @@ fun ReplyListScreenResolvedDarkPreview() { state = ReplyListState( selectedTabIndex = 1, isLoading = false, - replies = Replies.Resolved.replies + resolvedReplies = Replies.Resolved.replies ), effect = emptyFlow(), onIntent = {}, @@ -218,7 +218,7 @@ fun ReplyListScreenArchivedEmptyDarkPreview() { state = ReplyListState( selectedTabIndex = 2, isLoading = false, - replies = emptyList() + archivedReplies = emptyList() ), effect = emptyFlow(), onIntent = {}, @@ -238,7 +238,7 @@ fun ReplyListScreenArchivedDarkPreview() { state = ReplyListState( selectedTabIndex = 2, isLoading = false, - replies = Replies.Archived.replies + archivedReplies = Replies.Archived.replies ), effect = emptyFlow(), onIntent = {}, diff --git a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/ReplyListScreen.kt b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/ReplyListScreen.kt index 2f9910a..b029f18 100644 --- a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/ReplyListScreen.kt +++ b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/ReplyListScreen.kt @@ -115,7 +115,10 @@ fun ReplyListScreen( val strings = LocalReplyRadarStrings.current val notificationPermissionManager = LocalNotificationPermissionManager.current - val pagerState = rememberPagerState { PAGER_PAGE_COUNT } + val pagerState = rememberPagerState( + initialPage = state.selectedTabIndex, + pageCount = { PAGER_PAGE_COUNT } + ) val snackbarHostState = remember { SnackbarHostState() } val sheetState = rememberModalBottomSheetState( skipPartiallyExpanded = true From cb9f56ee5dbcb3df3feb541797ef63f5e3e28915 Mon Sep 17 00:00:00 2001 From: Rafael Cordeiro Date: Sat, 2 Aug 2025 14:54:05 -0300 Subject: [PATCH 16/21] Ktlint fixes. --- .../components/ActivityLogListItemPreview.kt | 2 -- .../components/PlatformDatePickerPreview.kt | 2 +- .../components/PlatformTimePickerPreview.kt | 6 +++--- .../ReplyBottomSheetContentPreview.kt | 8 ++------ .../previews/components/ReplyButtonPreview.kt | 2 +- .../ReplyConfirmationDialogPreview.kt | 18 +++++++++--------- .../components/ReplyOutlinedButtonPreview.kt | 2 +- .../components/ReplyRadarPlaceholderPreview.kt | 2 +- .../components/ReplySnackbarPreview.kt | 2 +- .../previews/components/ReplyTabPreview.kt | 4 +--- .../components/ReplyTextFieldPreview.kt | 2 +- .../screens/ActivityLogScreenPreview.kt | 1 - .../previews/screens/ReplyListScreenPreview.kt | 2 +- .../previews/screens/SettingsScreenPreview.kt | 4 ++-- .../shared/ReplyRadarPreviewWrapper.kt | 5 +---- .../presentation/ActivityLogScreen.kt | 5 +---- .../components/FloatingActionButton.kt | 5 +---- .../components/RepliesArchivedScreen.kt | 5 +---- .../components/RepliesOnTheRadarScreen.kt | 5 +---- .../components/RepliesResolvedScreen.kt | 5 +---- .../settings/presentation/SettingsScreen.kt | 5 +---- 21 files changed, 31 insertions(+), 61 deletions(-) diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ActivityLogListItemPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ActivityLogListItemPreview.kt index ea45aa2..76feaf4 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ActivityLogListItemPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ActivityLogListItemPreview.kt @@ -21,7 +21,6 @@ import com.rafaelfelipeac.replyradar.features.useractions.domain.model.UserActio import com.rafaelfelipeac.replyradar.features.useractions.domain.model.UserActionType.Resolve import com.rafaelfelipeac.replyradar.features.useractions.domain.model.UserActionType.Scheduled import com.rafaelfelipeac.replyradar.features.useractions.domain.model.UserActionType.Unarchive -import com.rafaelfelipeac.replyradar.features.useractions.domain.model.UserActionType.Unknown import com.rafaelfelipeac.replyradar.previews.shared.Replies import com.rafaelfelipeac.replyradar.previews.shared.ReplyRadarPreviewWrapper import kotlinx.datetime.Clock @@ -165,7 +164,6 @@ fun PreviewCreateRate() = PreviewAction( timeOffsetMillis = 13_000_000L ) - @Preview(showBackground = true) @Composable fun PreviewCreateMessageDark() = PreviewAction( diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/PlatformDatePickerPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/PlatformDatePickerPreview.kt index eb06629..3cab439 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/PlatformDatePickerPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/PlatformDatePickerPreview.kt @@ -3,8 +3,8 @@ package com.rafaelfelipeac.replyradar.previews.components import androidx.compose.runtime.Composable import androidx.compose.ui.tooling.preview.Preview import com.rafaelfelipeac.replyradar.core.datetime.PlatformDatePicker -import com.rafaelfelipeac.replyradar.previews.shared.fakes.PreviewStringsFake import com.rafaelfelipeac.replyradar.previews.shared.ReplyRadarPreviewWrapper +import com.rafaelfelipeac.replyradar.previews.shared.fakes.PreviewStringsFake @Preview(showBackground = true) @Composable diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/PlatformTimePickerPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/PlatformTimePickerPreview.kt index 437f801..808f0e4 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/PlatformTimePickerPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/PlatformTimePickerPreview.kt @@ -3,8 +3,8 @@ package com.rafaelfelipeac.replyradar.previews.components import androidx.compose.runtime.Composable import androidx.compose.ui.tooling.preview.Preview import com.rafaelfelipeac.replyradar.core.datetime.PlatformTimePicker -import com.rafaelfelipeac.replyradar.previews.shared.fakes.PreviewStringsFake import com.rafaelfelipeac.replyradar.previews.shared.ReplyRadarPreviewWrapper +import com.rafaelfelipeac.replyradar.previews.shared.fakes.PreviewStringsFake @Preview(showBackground = true) @Composable @@ -17,7 +17,7 @@ fun PlatformTimePickerPreview() { onDismiss = {}, confirmButtonText = PreviewStringsFake.replyListReminderTimePickerConfirmButton, dismissButtonText = PreviewStringsFake.replyListReminderTimePickerDismissButton, - pickerTimeTitle = PreviewStringsFake.replyListReminderTimePickerTitle, + pickerTimeTitle = PreviewStringsFake.replyListReminderTimePickerTitle ) } } @@ -33,7 +33,7 @@ fun PlatformTimePickerDarkPreview() { onDismiss = {}, confirmButtonText = PreviewStringsFake.replyListReminderTimePickerConfirmButton, dismissButtonText = PreviewStringsFake.replyListReminderTimePickerDismissButton, - pickerTimeTitle = PreviewStringsFake.replyListReminderTimePickerTitle, + pickerTimeTitle = PreviewStringsFake.replyListReminderTimePickerTitle ) } } diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyBottomSheetContentPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyBottomSheetContentPreview.kt index bf783aa..814806c 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyBottomSheetContentPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyBottomSheetContentPreview.kt @@ -16,7 +16,7 @@ fun ReplyBottomSheetContentPreview1() { ) { ReplyBottomSheetContent( replyBottomSheetState = ReplyBottomSheetState( - replyBottomSheetMode = ReplyBottomSheetMode.CREATE, + replyBottomSheetMode = ReplyBottomSheetMode.CREATE ), onSave = {}, onResolve = {}, @@ -24,8 +24,6 @@ fun ReplyBottomSheetContentPreview1() { onDelete = {}, onInvalidReminderValue = {} ) - - } } @@ -49,7 +47,6 @@ fun ReplyBottomSheetContentPreview2() { } } - @Preview(showBackground = true) @Composable fun ReplyBottomSheetContentDarkPreview1() { @@ -58,7 +55,7 @@ fun ReplyBottomSheetContentDarkPreview1() { ) { ReplyBottomSheetContent( replyBottomSheetState = ReplyBottomSheetState( - replyBottomSheetMode = ReplyBottomSheetMode.CREATE, + replyBottomSheetMode = ReplyBottomSheetMode.CREATE ), onSave = {}, onResolve = {}, @@ -69,7 +66,6 @@ fun ReplyBottomSheetContentDarkPreview1() { } } - @Preview(showBackground = true) @Composable fun ReplyBottomSheetContentDarkPreview2() { diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyButtonPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyButtonPreview.kt index 7ff2542..977397d 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyButtonPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyButtonPreview.kt @@ -21,7 +21,7 @@ fun ReplyButtonPreview() { modifier = Modifier .background(MaterialTheme.colorScheme.surface) .padding(8.dp) - ){ + ) { ReplyButton( modifier = Modifier, text = "Button", diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyConfirmationDialogPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyConfirmationDialogPreview.kt index 6dec5d0..5e01c0a 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyConfirmationDialogPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyConfirmationDialogPreview.kt @@ -4,9 +4,9 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.tooling.preview.Preview import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplyConfirmationDialog import com.rafaelfelipeac.replyradar.core.util.format -import com.rafaelfelipeac.replyradar.previews.shared.fakes.PreviewStringsFake import com.rafaelfelipeac.replyradar.previews.shared.Replies import com.rafaelfelipeac.replyradar.previews.shared.ReplyRadarPreviewWrapper +import com.rafaelfelipeac.replyradar.previews.shared.fakes.PreviewStringsFake @Preview @Composable @@ -17,10 +17,10 @@ fun ReplyConfirmationDialogPreview() { ReplyConfirmationDialog( title = PreviewStringsFake.replyListDeleteDialogTitle, description = - format( - PreviewStringsFake.replyListDeleteDialogDescription, - Replies.OnTheRadar.reply1.name - ), + format( + PreviewStringsFake.replyListDeleteDialogDescription, + Replies.OnTheRadar.reply1.name + ), confirm = PreviewStringsFake.replyListDeleteDialogConfirm, dismiss = PreviewStringsFake.replyListDeleteDialogDismiss, onDismiss = {}, @@ -38,10 +38,10 @@ fun ReplyConfirmationDialogDarkPreview() { ReplyConfirmationDialog( title = PreviewStringsFake.replyListDeleteDialogTitle, description = - format( - PreviewStringsFake.replyListDeleteDialogDescription, - Replies.OnTheRadar.reply1.name - ), + format( + PreviewStringsFake.replyListDeleteDialogDescription, + Replies.OnTheRadar.reply1.name + ), confirm = PreviewStringsFake.replyListDeleteDialogConfirm, dismiss = PreviewStringsFake.replyListDeleteDialogDismiss, onDismiss = {}, diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyOutlinedButtonPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyOutlinedButtonPreview.kt index fd4b93c..44d39e4 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyOutlinedButtonPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyOutlinedButtonPreview.kt @@ -9,8 +9,8 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplyOutlinedButton -import com.rafaelfelipeac.replyradar.previews.shared.fakes.PreviewStringsFake import com.rafaelfelipeac.replyradar.previews.shared.ReplyRadarPreviewWrapper +import com.rafaelfelipeac.replyradar.previews.shared.fakes.PreviewStringsFake import replyradar.composeapp.generated.resources.Res import replyradar.composeapp.generated.resources.ic_archive import replyradar.composeapp.generated.resources.ic_check diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyRadarPlaceholderPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyRadarPlaceholderPreview.kt index d818ad5..be5d459 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyRadarPlaceholderPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyRadarPlaceholderPreview.kt @@ -9,8 +9,8 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.tooling.preview.Preview import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplyRadarPlaceholder -import com.rafaelfelipeac.replyradar.previews.shared.fakes.PreviewStringsFake import com.rafaelfelipeac.replyradar.previews.shared.ReplyRadarPreviewWrapper +import com.rafaelfelipeac.replyradar.previews.shared.fakes.PreviewStringsFake @Preview(showBackground = true) @Composable diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplySnackbarPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplySnackbarPreview.kt index 6d8084d..0d16886 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplySnackbarPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplySnackbarPreview.kt @@ -11,8 +11,8 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import com.rafaelfelipeac.replyradar.core.theme.snackbarBackgroundColor -import com.rafaelfelipeac.replyradar.previews.shared.fakes.PreviewStringsFake import com.rafaelfelipeac.replyradar.previews.shared.ReplyRadarPreviewWrapper +import com.rafaelfelipeac.replyradar.previews.shared.fakes.PreviewStringsFake // ReplySnackbar can't be used directly in Preview because SnackbarHostState requires an active SnackbarData, // which is only created at runtime via showSnackbar() inside a coroutine. diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyTabPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyTabPreview.kt index 8a62acf..ddfa481 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyTabPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyTabPreview.kt @@ -8,8 +8,8 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.tooling.preview.Preview import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplyTab -import com.rafaelfelipeac.replyradar.previews.shared.fakes.PreviewStringsFake import com.rafaelfelipeac.replyradar.previews.shared.ReplyRadarPreviewWrapper +import com.rafaelfelipeac.replyradar.previews.shared.fakes.PreviewStringsFake @Preview(showBackground = true) @Composable @@ -79,7 +79,6 @@ fun ReplyTabDarkOnTheRadarPreview() { } } - @Preview(showBackground = true) @Composable fun ReplyTabResolvedPreview() { @@ -148,7 +147,6 @@ fun ReplyTabDarkResolvedPreview() { } } - @Preview(showBackground = true) @Composable fun ReplyTabArchivedPreview() { diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyTextFieldPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyTextFieldPreview.kt index 180060a..1f75a0e 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyTextFieldPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyTextFieldPreview.kt @@ -3,9 +3,9 @@ package com.rafaelfelipeac.replyradar.previews.components import androidx.compose.runtime.Composable import androidx.compose.ui.tooling.preview.Preview import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplyTextField -import com.rafaelfelipeac.replyradar.previews.shared.fakes.PreviewStringsFake import com.rafaelfelipeac.replyradar.previews.shared.Replies import com.rafaelfelipeac.replyradar.previews.shared.ReplyRadarPreviewWrapper +import com.rafaelfelipeac.replyradar.previews.shared.fakes.PreviewStringsFake @Preview(showBackground = true) @Composable diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/screens/ActivityLogScreenPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/screens/ActivityLogScreenPreview.kt index 40c4d22..0d4ccae 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/screens/ActivityLogScreenPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/screens/ActivityLogScreenPreview.kt @@ -39,7 +39,6 @@ fun ActivityLogScreenPreview() { } } - @Preview(showBackground = true) @Composable fun ActivityLogScreenEmptyDarkPreview() { diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/screens/ReplyListScreenPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/screens/ReplyListScreenPreview.kt index 9febb94..98353ec 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/screens/ReplyListScreenPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/screens/ReplyListScreenPreview.kt @@ -4,8 +4,8 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.tooling.preview.Preview import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.ReplyListScreen import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.ReplyListState -import com.rafaelfelipeac.replyradar.previews.shared.ReplyRadarPreviewWrapper import com.rafaelfelipeac.replyradar.previews.shared.Replies +import com.rafaelfelipeac.replyradar.previews.shared.ReplyRadarPreviewWrapper import kotlinx.coroutines.flow.emptyFlow @Preview(showBackground = true) diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/screens/SettingsScreenPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/screens/SettingsScreenPreview.kt index eb1dffc..5f0cabf 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/screens/SettingsScreenPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/screens/SettingsScreenPreview.kt @@ -20,7 +20,7 @@ fun SettingsScreenEnglishPreview() { state = SettingsState( theme = LIGHT, language = ENGLISH, - isLoading = false, + isLoading = false ), onBackClick = {}, onActivityLogClick = {}, @@ -40,7 +40,7 @@ fun SettingsScreenDarkEnglishPreview() { state = SettingsState( theme = DARK, language = ENGLISH, - isLoading = false, + isLoading = false ), onBackClick = {}, onActivityLogClick = {}, diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/shared/ReplyRadarPreviewWrapper.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/shared/ReplyRadarPreviewWrapper.kt index 745a4cb..e981746 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/shared/ReplyRadarPreviewWrapper.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/shared/ReplyRadarPreviewWrapper.kt @@ -9,10 +9,7 @@ import com.rafaelfelipeac.replyradar.previews.shared.fakes.FakeNotificationPermi import com.rafaelfelipeac.replyradar.previews.shared.fakes.PreviewStringsFake @Composable -fun ReplyRadarPreviewWrapper( - darkTheme: Boolean = false, - content: @Composable () -> Unit -) { +fun ReplyRadarPreviewWrapper(darkTheme: Boolean = false, content: @Composable () -> Unit) { CompositionLocalProvider( LocalReplyRadarStrings provides PreviewStringsFake, LocalNotificationPermissionManager provides FakeNotificationPermissionManager() diff --git a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/activitylog/presentation/ActivityLogScreen.kt b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/activitylog/presentation/ActivityLogScreen.kt index b2a19bd..61583f0 100644 --- a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/activitylog/presentation/ActivityLogScreen.kt +++ b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/activitylog/presentation/ActivityLogScreen.kt @@ -98,10 +98,7 @@ fun ActivityLogScreenRoot( @OptIn(ExperimentalMaterial3Api::class) @Composable -fun ActivityLogScreen( - state: ActivityLogState, - onBackClick: () -> Unit -) { +fun ActivityLogScreen(state: ActivityLogState, onBackClick: () -> Unit) { Scaffold( topBar = { TopAppBar( diff --git a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/FloatingActionButton.kt b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/FloatingActionButton.kt index 877ca38..efdfb9a 100644 --- a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/FloatingActionButton.kt +++ b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/FloatingActionButton.kt @@ -11,10 +11,7 @@ import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.Reply import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.ReplyListScreenIntent.ReplyListIntent.OnAddReplyClick @Composable -fun FloatingActionButton( - onIntent: (ReplyListScreenIntent) -> Unit = {}, - colorScheme: ColorScheme -) { +fun FloatingActionButton(onIntent: (ReplyListScreenIntent) -> Unit = {}, colorScheme: ColorScheme) { FloatingActionButton( onClick = { onIntent(OnAddReplyClick) }, containerColor = colorScheme.secondary diff --git a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/RepliesArchivedScreen.kt b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/RepliesArchivedScreen.kt index 4d514d5..eb165a4 100644 --- a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/RepliesArchivedScreen.kt +++ b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/RepliesArchivedScreen.kt @@ -11,10 +11,7 @@ import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.Reply import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.ReplyListState @Composable -fun RepliesArchivedScreen( - state: ReplyListState, - onIntent: (ReplyListScreenIntent) -> Unit -) { +fun RepliesArchivedScreen(state: ReplyListState, onIntent: (ReplyListScreenIntent) -> Unit) { if (state.archivedReplies.isEmpty()) { ReplyRadarPlaceholder(message = LocalReplyRadarStrings.current.replyListPlaceholderArchived) } else { diff --git a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/RepliesOnTheRadarScreen.kt b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/RepliesOnTheRadarScreen.kt index f6dd606..e8fb01e 100644 --- a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/RepliesOnTheRadarScreen.kt +++ b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/RepliesOnTheRadarScreen.kt @@ -14,10 +14,7 @@ import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.Reply import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.ReplyListViewModel.Companion.ERROR_GET_REPLIES @Composable -fun RepliesOnTheRadarScreen( - state: ReplyListState, - onIntent: (ReplyListScreenIntent) -> Unit -) { +fun RepliesOnTheRadarScreen(state: ReplyListState, onIntent: (ReplyListScreenIntent) -> Unit) { if (state.isLoading) { ReplyProgress() } else { diff --git a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/RepliesResolvedScreen.kt b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/RepliesResolvedScreen.kt index 017b769..96bd726 100644 --- a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/RepliesResolvedScreen.kt +++ b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/components/RepliesResolvedScreen.kt @@ -10,10 +10,7 @@ import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.Reply import com.rafaelfelipeac.replyradar.features.reply.presentation.replylist.ReplyListState @Composable -fun RepliesResolvedScreen( - state: ReplyListState, - onIntent: (ReplyListScreenIntent) -> Unit -) { +fun RepliesResolvedScreen(state: ReplyListState, onIntent: (ReplyListScreenIntent) -> Unit) { if (state.resolvedReplies.isEmpty()) { ReplyRadarPlaceholder(message = LocalReplyRadarStrings.current.replyListPlaceholderResolved) } else { diff --git a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/settings/presentation/SettingsScreen.kt b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/settings/presentation/SettingsScreen.kt index 021c471..7bec6ef 100644 --- a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/settings/presentation/SettingsScreen.kt +++ b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/settings/presentation/SettingsScreen.kt @@ -380,10 +380,7 @@ fun SettingsItem(text: String, description: String, icon: DrawableResource, onCl } @Composable -fun AppVersionFooter( - modifier: Modifier = Modifier, - appVersion: String -) { +fun AppVersionFooter(modifier: Modifier = Modifier, appVersion: String) { Box( modifier = modifier .fillMaxWidth() From 1cd0b6b6277b33f3015fd0115d74c6cf4883555d Mon Sep 17 00:00:00 2001 From: Rafael Cordeiro Date: Sat, 2 Aug 2025 14:57:44 -0300 Subject: [PATCH 17/21] Detekt fixes. --- .../shared/fakes/FakeNotificationPermissionManager.kt | 1 + .../reply/presentation/replylist/ReplyListScreen.kt | 6 ++---- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/shared/fakes/FakeNotificationPermissionManager.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/shared/fakes/FakeNotificationPermissionManager.kt index 2027b4f..9ab2efd 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/shared/fakes/FakeNotificationPermissionManager.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/shared/fakes/FakeNotificationPermissionManager.kt @@ -2,6 +2,7 @@ package com.rafaelfelipeac.replyradar.previews.shared.fakes import com.rafaelfelipeac.replyradar.core.notification.NotificationPermissionManager +@Suppress("EmptyFunctionBlock") class FakeNotificationPermissionManager : NotificationPermissionManager { override suspend fun ensureNotificationPermission(): Boolean = true override suspend fun goToAppSettings() {} diff --git a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/ReplyListScreen.kt b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/ReplyListScreen.kt index b029f18..6cc6837 100644 --- a/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/ReplyListScreen.kt +++ b/composeApp/src/commonMain/kotlin/com/rafaelfelipeac/replyradar/features/reply/presentation/replylist/ReplyListScreen.kt @@ -115,10 +115,8 @@ fun ReplyListScreen( val strings = LocalReplyRadarStrings.current val notificationPermissionManager = LocalNotificationPermissionManager.current - val pagerState = rememberPagerState( - initialPage = state.selectedTabIndex, - pageCount = { PAGER_PAGE_COUNT } - ) + val pagerState = + rememberPagerState(initialPage = state.selectedTabIndex, pageCount = { PAGER_PAGE_COUNT }) val snackbarHostState = remember { SnackbarHostState() } val sheetState = rememberModalBottomSheetState( skipPartiallyExpanded = true From b5ab67894aa3328457fc41fa4b196f2f6a641be2 Mon Sep 17 00:00:00 2001 From: Rafael Cordeiro Date: Sat, 2 Aug 2025 14:57:47 -0300 Subject: [PATCH 18/21] Detekt fixes. --- .../replyradar/previews/shared/fakes/PreviewStringsFake.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/shared/fakes/PreviewStringsFake.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/shared/fakes/PreviewStringsFake.kt index 5b141b5..b571e63 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/shared/fakes/PreviewStringsFake.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/shared/fakes/PreviewStringsFake.kt @@ -2,7 +2,7 @@ package com.rafaelfelipeac.replyradar.previews.shared.fakes import com.rafaelfelipeac.replyradar.core.strings.Strings -// ktlint-disable max-line-length +@Suppress("MaxLineLength") object PreviewStringsFake : Strings { override val appName = "Reply Radar" From f8dd9b4c01766c09581913471f9c3ef894e5c98a Mon Sep 17 00:00:00 2001 From: Rafael Cordeiro Date: Sat, 2 Aug 2025 14:59:02 -0300 Subject: [PATCH 19/21] Ktlint fixes. --- .../replyradar/previews/shared/fakes/PreviewStringsFake.kt | 1 + 1 file changed, 1 insertion(+) diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/shared/fakes/PreviewStringsFake.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/shared/fakes/PreviewStringsFake.kt index b571e63..cc5f8a1 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/shared/fakes/PreviewStringsFake.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/shared/fakes/PreviewStringsFake.kt @@ -2,6 +2,7 @@ package com.rafaelfelipeac.replyradar.previews.shared.fakes import com.rafaelfelipeac.replyradar.core.strings.Strings +// ktlint-disable max-line-length @Suppress("MaxLineLength") object PreviewStringsFake : Strings { override val appName = "Reply Radar" From 302556d341bd4cc707fe2aea6f77c1c37a441c6f Mon Sep 17 00:00:00 2001 From: Rafael Cordeiro Date: Sat, 2 Aug 2025 15:20:45 -0300 Subject: [PATCH 20/21] PR fixes. --- .../components/ReplyRadarPlaceholderPreview.kt | 6 +++--- .../previews/components/ReplyReminderPreview.kt | 4 ++-- .../previews/components/ReplyTabPreview.kt | 16 ++++++++-------- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyRadarPlaceholderPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyRadarPlaceholderPreview.kt index be5d459..5a370f3 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyRadarPlaceholderPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyRadarPlaceholderPreview.kt @@ -9,8 +9,8 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.tooling.preview.Preview import com.rafaelfelipeac.replyradar.core.common.ui.components.ReplyRadarPlaceholder +import com.rafaelfelipeac.replyradar.core.strings.LocalReplyRadarStrings import com.rafaelfelipeac.replyradar.previews.shared.ReplyRadarPreviewWrapper -import com.rafaelfelipeac.replyradar.previews.shared.fakes.PreviewStringsFake @Preview(showBackground = true) @Composable @@ -25,7 +25,7 @@ fun ReplyRadarPlaceholderPreview() { contentAlignment = Alignment.Center ) { ReplyRadarPlaceholder( - message = PreviewStringsFake.replyListPlaceholderOnTheRadar + message = LocalReplyRadarStrings.current.replyListPlaceholderOnTheRadar ) } } @@ -44,7 +44,7 @@ fun ReplyRadarPlaceholderDarkPreview() { contentAlignment = Alignment.Center ) { ReplyRadarPlaceholder( - message = PreviewStringsFake.replyListPlaceholderOnTheRadar + message = LocalReplyRadarStrings.current.replyListPlaceholderOnTheRadar ) } } diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyReminderPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyReminderPreview.kt index fe70461..8b96af5 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyReminderPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyReminderPreview.kt @@ -22,7 +22,7 @@ fun ReplyReminderPreview() { selectedDate = now.date, onSelectedTimeChange = {}, onSelectedDateChange = {}, - closeKeyboard = { null } + closeKeyboard = { } ) } } @@ -41,7 +41,7 @@ fun ReplyReminderDarkPreview() { selectedDate = now.date, onSelectedTimeChange = {}, onSelectedDateChange = {}, - closeKeyboard = { null } + closeKeyboard = { } ) } } diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyTabPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyTabPreview.kt index ddfa481..c7f6e5b 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyTabPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/components/ReplyTabPreview.kt @@ -94,12 +94,12 @@ fun ReplyTabResolvedPreview() { } ) { ReplyTab( - selected = true, + selected = false, onClick = {}, text = PreviewStringsFake.replyListTabOnTheRadar ) ReplyTab( - selected = false, + selected = true, onClick = {}, text = PreviewStringsFake.replyListTabResolved ) @@ -129,12 +129,12 @@ fun ReplyTabDarkResolvedPreview() { } ) { ReplyTab( - selected = true, + selected = false, onClick = {}, text = PreviewStringsFake.replyListTabOnTheRadar ) ReplyTab( - selected = false, + selected = true, onClick = {}, text = PreviewStringsFake.replyListTabResolved ) @@ -162,7 +162,7 @@ fun ReplyTabArchivedPreview() { } ) { ReplyTab( - selected = true, + selected = false, onClick = {}, text = PreviewStringsFake.replyListTabOnTheRadar ) @@ -172,7 +172,7 @@ fun ReplyTabArchivedPreview() { text = PreviewStringsFake.replyListTabResolved ) ReplyTab( - selected = false, + selected = true, onClick = {}, text = PreviewStringsFake.replyListTabArchived ) @@ -197,7 +197,7 @@ fun ReplyTabDarkArchivedPreview() { } ) { ReplyTab( - selected = true, + selected = false, onClick = {}, text = PreviewStringsFake.replyListTabOnTheRadar ) @@ -207,7 +207,7 @@ fun ReplyTabDarkArchivedPreview() { text = PreviewStringsFake.replyListTabResolved ) ReplyTab( - selected = false, + selected = true, onClick = {}, text = PreviewStringsFake.replyListTabArchived ) From 48a3e905f86c8a93f24738c3107204778b2c9526 Mon Sep 17 00:00:00 2001 From: Rafael Cordeiro Date: Sat, 2 Aug 2025 15:40:56 -0300 Subject: [PATCH 21/21] PR fixes. --- .../replyradar/previews/screens/ReplyListScreenPreview.kt | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/screens/ReplyListScreenPreview.kt b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/screens/ReplyListScreenPreview.kt index 98353ec..d35ddaf 100644 --- a/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/screens/ReplyListScreenPreview.kt +++ b/composeApp/src/androidMain/kotlin/com/rafaelfelipeac/replyradar/previews/screens/ReplyListScreenPreview.kt @@ -8,6 +8,11 @@ import com.rafaelfelipeac.replyradar.previews.shared.Replies import com.rafaelfelipeac.replyradar.previews.shared.ReplyRadarPreviewWrapper import kotlinx.coroutines.flow.emptyFlow +// Note: We're not using @PreviewParameter here due to limitations in Compose Preview when used in Kotlin Multiplatform (KMP). +// Although @PreviewParameter is ideal for generating multiple previews from a provider, it causes runtime errors (NPE) +// in KMP projects because the IDE tries to invoke the function without a parameter. +// As a workaround, we use separate @Preview-annotated functions with hardcoded configurations instead. + @Preview(showBackground = true) @Composable fun ReplyListScreenOnTheRadarEmptyPreview() {