Loading feature/navigation/drawer/src/debug/kotlin/app/k9mail/feature/navigation/drawer/ui/folder/FolderListItemPreview.kt +8 −0 Original line number Diff line number Diff line package app.k9mail.feature.navigation.drawer.ui.folder import androidx.compose.runtime.Composable import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.tooling.preview.Preview import app.k9mail.core.mail.folder.api.FolderType import app.k9mail.core.ui.compose.designsystem.PreviewWithThemes import app.k9mail.feature.navigation.drawer.ui.FakeData.DISPLAY_FOLDER import app.k9mail.feature.navigation.drawer.ui.FakeData.UNIFIED_FOLDER import app.k9mail.legacy.ui.folder.FolderNameFormatter @Composable @Preview(showBackground = true) Loading @@ -16,6 +18,7 @@ internal fun FolderListItemPreview() { selected = false, showStarredCount = false, onClick = {}, folderNameFormatter = FolderNameFormatter(LocalContext.current.resources), ) } } Loading @@ -29,6 +32,7 @@ internal fun FolderListItemSelectedPreview() { selected = true, showStarredCount = false, onClick = {}, folderNameFormatter = FolderNameFormatter(LocalContext.current.resources), ) } } Loading @@ -42,6 +46,7 @@ internal fun FolderListItemWithStarredPreview() { selected = false, showStarredCount = true, onClick = {}, folderNameFormatter = FolderNameFormatter(LocalContext.current.resources), ) } } Loading @@ -55,6 +60,7 @@ internal fun FolderListItemWithStarredSelectedPreview() { selected = true, showStarredCount = true, onClick = {}, folderNameFormatter = FolderNameFormatter(LocalContext.current.resources), ) } } Loading @@ -72,6 +78,7 @@ internal fun FolderListItemWithInboxFolderPreview() { selected = false, showStarredCount = true, onClick = {}, folderNameFormatter = FolderNameFormatter(LocalContext.current.resources), ) } } Loading @@ -85,6 +92,7 @@ internal fun FolderListItemWithUnifiedFolderPreview() { selected = false, showStarredCount = false, onClick = {}, folderNameFormatter = FolderNameFormatter(LocalContext.current.resources), ) } } feature/navigation/drawer/src/main/kotlin/app/k9mail/feature/navigation/drawer/ui/folder/FolderList.kt +7 −0 Original line number Diff line number Diff line Loading @@ -6,11 +6,14 @@ import androidx.compose.foundation.layout.padding import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.foundation.lazy.items import androidx.compose.runtime.Composable import androidx.compose.runtime.remember import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalContext import app.k9mail.core.ui.compose.designsystem.atom.DividerHorizontal import app.k9mail.core.ui.compose.theme2.MainTheme import app.k9mail.feature.navigation.drawer.domain.entity.DisplayFolder import app.k9mail.feature.navigation.drawer.domain.entity.DisplayUnifiedFolder import app.k9mail.legacy.ui.folder.FolderNameFormatter import kotlinx.collections.immutable.ImmutableList @Composable Loading @@ -21,6 +24,9 @@ fun FolderList( showStarredCount: Boolean, modifier: Modifier = Modifier, ) { val resources = LocalContext.current.resources val folderNameFormatter = remember { FolderNameFormatter(resources) } LazyColumn( modifier = modifier .fillMaxWidth(), Loading @@ -35,6 +41,7 @@ fun FolderList( selected = folder == selectedFolder, showStarredCount = showStarredCount, onClick = onFolderClick, folderNameFormatter = folderNameFormatter, ) if (folder is DisplayUnifiedFolder) { DividerHorizontal( Loading feature/navigation/drawer/src/main/kotlin/app/k9mail/feature/navigation/drawer/ui/folder/FolderListItem.kt +11 −6 Original line number Diff line number Diff line Loading @@ -13,6 +13,7 @@ import app.k9mail.feature.navigation.drawer.domain.entity.DisplayAccountFolder import app.k9mail.feature.navigation.drawer.domain.entity.DisplayFolder import app.k9mail.feature.navigation.drawer.domain.entity.DisplayUnifiedFolder import app.k9mail.feature.navigation.drawer.domain.entity.DisplayUnifiedFolderType import app.k9mail.legacy.ui.folder.FolderNameFormatter @Composable fun FolderListItem( Loading @@ -20,10 +21,11 @@ fun FolderListItem( selected: Boolean, onClick: (DisplayFolder) -> Unit, showStarredCount: Boolean, folderNameFormatter: FolderNameFormatter, modifier: Modifier = Modifier, ) { NavigationDrawerItem( label = mapFolderName(displayFolder), label = mapFolderName(displayFolder, folderNameFormatter), selected = selected, onClick = { onClick(displayFolder) }, modifier = modifier, Loading @@ -43,11 +45,14 @@ fun FolderListItem( } @Composable private fun mapFolderName(folder: DisplayFolder): String { return when (folder) { is DisplayAccountFolder -> folder.folder.name is DisplayUnifiedFolder -> mapUnifiedFolderName(folder) else -> throw IllegalArgumentException("Unknown display folder type: $folder") private fun mapFolderName( displayFolder: DisplayFolder, folderNameFormatter: FolderNameFormatter, ): String { return when (displayFolder) { is DisplayAccountFolder -> folderNameFormatter.displayName(displayFolder.folder) is DisplayUnifiedFolder -> mapUnifiedFolderName(displayFolder) else -> throw IllegalArgumentException("Unknown display folder: $displayFolder") } } Loading Loading
feature/navigation/drawer/src/debug/kotlin/app/k9mail/feature/navigation/drawer/ui/folder/FolderListItemPreview.kt +8 −0 Original line number Diff line number Diff line package app.k9mail.feature.navigation.drawer.ui.folder import androidx.compose.runtime.Composable import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.tooling.preview.Preview import app.k9mail.core.mail.folder.api.FolderType import app.k9mail.core.ui.compose.designsystem.PreviewWithThemes import app.k9mail.feature.navigation.drawer.ui.FakeData.DISPLAY_FOLDER import app.k9mail.feature.navigation.drawer.ui.FakeData.UNIFIED_FOLDER import app.k9mail.legacy.ui.folder.FolderNameFormatter @Composable @Preview(showBackground = true) Loading @@ -16,6 +18,7 @@ internal fun FolderListItemPreview() { selected = false, showStarredCount = false, onClick = {}, folderNameFormatter = FolderNameFormatter(LocalContext.current.resources), ) } } Loading @@ -29,6 +32,7 @@ internal fun FolderListItemSelectedPreview() { selected = true, showStarredCount = false, onClick = {}, folderNameFormatter = FolderNameFormatter(LocalContext.current.resources), ) } } Loading @@ -42,6 +46,7 @@ internal fun FolderListItemWithStarredPreview() { selected = false, showStarredCount = true, onClick = {}, folderNameFormatter = FolderNameFormatter(LocalContext.current.resources), ) } } Loading @@ -55,6 +60,7 @@ internal fun FolderListItemWithStarredSelectedPreview() { selected = true, showStarredCount = true, onClick = {}, folderNameFormatter = FolderNameFormatter(LocalContext.current.resources), ) } } Loading @@ -72,6 +78,7 @@ internal fun FolderListItemWithInboxFolderPreview() { selected = false, showStarredCount = true, onClick = {}, folderNameFormatter = FolderNameFormatter(LocalContext.current.resources), ) } } Loading @@ -85,6 +92,7 @@ internal fun FolderListItemWithUnifiedFolderPreview() { selected = false, showStarredCount = false, onClick = {}, folderNameFormatter = FolderNameFormatter(LocalContext.current.resources), ) } }
feature/navigation/drawer/src/main/kotlin/app/k9mail/feature/navigation/drawer/ui/folder/FolderList.kt +7 −0 Original line number Diff line number Diff line Loading @@ -6,11 +6,14 @@ import androidx.compose.foundation.layout.padding import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.foundation.lazy.items import androidx.compose.runtime.Composable import androidx.compose.runtime.remember import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalContext import app.k9mail.core.ui.compose.designsystem.atom.DividerHorizontal import app.k9mail.core.ui.compose.theme2.MainTheme import app.k9mail.feature.navigation.drawer.domain.entity.DisplayFolder import app.k9mail.feature.navigation.drawer.domain.entity.DisplayUnifiedFolder import app.k9mail.legacy.ui.folder.FolderNameFormatter import kotlinx.collections.immutable.ImmutableList @Composable Loading @@ -21,6 +24,9 @@ fun FolderList( showStarredCount: Boolean, modifier: Modifier = Modifier, ) { val resources = LocalContext.current.resources val folderNameFormatter = remember { FolderNameFormatter(resources) } LazyColumn( modifier = modifier .fillMaxWidth(), Loading @@ -35,6 +41,7 @@ fun FolderList( selected = folder == selectedFolder, showStarredCount = showStarredCount, onClick = onFolderClick, folderNameFormatter = folderNameFormatter, ) if (folder is DisplayUnifiedFolder) { DividerHorizontal( Loading
feature/navigation/drawer/src/main/kotlin/app/k9mail/feature/navigation/drawer/ui/folder/FolderListItem.kt +11 −6 Original line number Diff line number Diff line Loading @@ -13,6 +13,7 @@ import app.k9mail.feature.navigation.drawer.domain.entity.DisplayAccountFolder import app.k9mail.feature.navigation.drawer.domain.entity.DisplayFolder import app.k9mail.feature.navigation.drawer.domain.entity.DisplayUnifiedFolder import app.k9mail.feature.navigation.drawer.domain.entity.DisplayUnifiedFolderType import app.k9mail.legacy.ui.folder.FolderNameFormatter @Composable fun FolderListItem( Loading @@ -20,10 +21,11 @@ fun FolderListItem( selected: Boolean, onClick: (DisplayFolder) -> Unit, showStarredCount: Boolean, folderNameFormatter: FolderNameFormatter, modifier: Modifier = Modifier, ) { NavigationDrawerItem( label = mapFolderName(displayFolder), label = mapFolderName(displayFolder, folderNameFormatter), selected = selected, onClick = { onClick(displayFolder) }, modifier = modifier, Loading @@ -43,11 +45,14 @@ fun FolderListItem( } @Composable private fun mapFolderName(folder: DisplayFolder): String { return when (folder) { is DisplayAccountFolder -> folder.folder.name is DisplayUnifiedFolder -> mapUnifiedFolderName(folder) else -> throw IllegalArgumentException("Unknown display folder type: $folder") private fun mapFolderName( displayFolder: DisplayFolder, folderNameFormatter: FolderNameFormatter, ): String { return when (displayFolder) { is DisplayAccountFolder -> folderNameFormatter.displayName(displayFolder.folder) is DisplayUnifiedFolder -> mapUnifiedFolderName(displayFolder) else -> throw IllegalArgumentException("Unknown display folder: $displayFolder") } } Loading