diff --git a/app/src/main/java/com/infomaniak/swisstransfer/ui/screen/main/MainScreen.kt b/app/src/main/java/com/infomaniak/swisstransfer/ui/screen/main/MainScreen.kt index eb92ddd2d..5d38e8d87 100644 --- a/app/src/main/java/com/infomaniak/swisstransfer/ui/screen/main/MainScreen.kt +++ b/app/src/main/java/com/infomaniak/swisstransfer/ui/screen/main/MainScreen.kt @@ -18,18 +18,18 @@ package com.infomaniak.swisstransfer.ui.screen.main -import android.content.res.Configuration import androidx.compose.runtime.Composable import androidx.compose.runtime.derivedStateOf import androidx.compose.runtime.getValue import androidx.compose.runtime.remember -import androidx.compose.ui.tooling.preview.Preview import androidx.navigation.compose.currentBackStackEntryAsState import androidx.navigation.compose.rememberNavController import com.infomaniak.swisstransfer.ui.navigation.MainNavigation import com.infomaniak.swisstransfer.ui.navigation.MainNavigation.SentDestination import com.infomaniak.swisstransfer.ui.navigation.NavigationDestination.Companion.toDestination import com.infomaniak.swisstransfer.ui.theme.SwissTransferTheme +import com.infomaniak.swisstransfer.ui.utils.PreviewMobile +import com.infomaniak.swisstransfer.ui.utils.PreviewTablet @Composable fun MainScreen() { @@ -49,27 +49,11 @@ fun MainScreen() { } } -@Preview(name = "LightMode") -@Preview(name = "DarkMode", uiMode = Configuration.UI_MODE_NIGHT_YES or Configuration.UI_MODE_TYPE_NORMAL) +@PreviewMobile +@PreviewTablet @Composable private fun MainScreenPreview() { SwissTransferTheme { MainScreen() } } - -@Preview(device = "spec:parent=pixel_8_pro,orientation=landscape") -@Composable -private fun MainScreenPortraitPreview() { - SwissTransferTheme { - MainScreen() - } -} - -@Preview(device = "spec:id=reference_tablet,shape=Normal,width=1280,height=800,unit=dp,dpi=240") -@Composable -private fun MainScreenTabletPreview() { - SwissTransferTheme { - MainScreen() - } -} diff --git a/app/src/main/java/com/infomaniak/swisstransfer/ui/utils/MultiplePreview.kt b/app/src/main/java/com/infomaniak/swisstransfer/ui/utils/MultiplePreview.kt new file mode 100644 index 000000000..b92316085 --- /dev/null +++ b/app/src/main/java/com/infomaniak/swisstransfer/ui/utils/MultiplePreview.kt @@ -0,0 +1,70 @@ +/* + * Infomaniak SwissTransfer - Android + * Copyright (C) 2024 Infomaniak Network SA + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.infomaniak.swisstransfer.ui.utils + +import android.content.res.Configuration +import androidx.compose.ui.tooling.preview.Preview + +// Mobile +@Preview( + name = "(1) Mobile portrait light", + group = "Mobile", +) +@Preview( + name = "(2) Mobile portrait dark", + group = "Mobile", + uiMode = Configuration.UI_MODE_NIGHT_YES or Configuration.UI_MODE_TYPE_NORMAL, +) +@Preview( + name = "(3) Mobile landscape light", + group = "Mobile", + device = "spec:parent=pixel_5,orientation=landscape", +) +@Preview( + name = "(4) Mobile landscape dark", + group = "Mobile", + uiMode = Configuration.UI_MODE_NIGHT_YES or Configuration.UI_MODE_TYPE_NORMAL, + device = "spec:parent=pixel_5,orientation=landscape", +) +annotation class PreviewMobile + +// Tablet +@Preview( + name = "(1) Tablet portrait light", + group = "Tablet", + device = "spec:id=reference_tablet,shape=Normal,width=1280,height=800,unit=dp,dpi=240", +) +@Preview( + name = "(2) Tablet portrait dark", + group = "Tablet", + uiMode = Configuration.UI_MODE_NIGHT_YES or Configuration.UI_MODE_TYPE_NORMAL, + device = "spec:id=reference_tablet,shape=Normal,width=1280,height=800,unit=dp,dpi=240", +) +@Preview( + name = "(3) Tablet landscape light", + group = "Tablet", + device = "spec:id=reference_tablet,shape=Normal,width=1280,height=800,unit=dp,dpi=240", +) +@Preview( + name = "(4) Tablet landscape dark", + group = "Tablet", + uiMode = Configuration.UI_MODE_NIGHT_YES or Configuration.UI_MODE_TYPE_NORMAL, + device = "spec:id=reference_tablet,shape=Normal,width=1280,height=800,unit=dp,dpi=240", +) +annotation class PreviewTablet