Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Unverified Commit 7b473d64 authored by Wolf-Martell Montwé's avatar Wolf-Martell Montwé
Browse files

Add FolderListItem

parent a2533e87
Loading
Loading
Loading
Loading
+25 −0
Original line number Original line Diff line number Diff line
package app.k9mail.core.ui.compose.designsystem.atom.icon
package app.k9mail.core.ui.compose.designsystem.atom.icon


import androidx.compose.material.icons.automirrored.outlined.ArrowBack
import androidx.compose.material.icons.automirrored.outlined.ArrowBack
import androidx.compose.material.icons.automirrored.outlined.Send
import androidx.compose.material.icons.filled.Cancel
import androidx.compose.material.icons.filled.Cancel
import androidx.compose.material.icons.filled.CheckCircle
import androidx.compose.material.icons.filled.CheckCircle
import androidx.compose.material.icons.filled.Outbox
import androidx.compose.material.icons.filled.Outbox
import androidx.compose.material.icons.filled.Star
import androidx.compose.material.icons.filled.Star
import androidx.compose.material.icons.filled.VisibilityOff
import androidx.compose.material.icons.filled.VisibilityOff
import androidx.compose.material.icons.outlined.AccountCircle
import androidx.compose.material.icons.outlined.AccountCircle
import androidx.compose.material.icons.outlined.Archive
import androidx.compose.material.icons.outlined.Check
import androidx.compose.material.icons.outlined.Check
import androidx.compose.material.icons.outlined.Delete
import androidx.compose.material.icons.outlined.Drafts
import androidx.compose.material.icons.outlined.ErrorOutline
import androidx.compose.material.icons.outlined.ErrorOutline
import androidx.compose.material.icons.outlined.ExpandLess
import androidx.compose.material.icons.outlined.ExpandLess
import androidx.compose.material.icons.outlined.ExpandMore
import androidx.compose.material.icons.outlined.ExpandMore
import androidx.compose.material.icons.outlined.Folder
import androidx.compose.material.icons.outlined.Inbox
import androidx.compose.material.icons.outlined.Inbox
import androidx.compose.material.icons.outlined.Info
import androidx.compose.material.icons.outlined.Info
import androidx.compose.material.icons.outlined.Menu
import androidx.compose.material.icons.outlined.Menu
import androidx.compose.material.icons.outlined.Report
import androidx.compose.material.icons.outlined.Security
import androidx.compose.material.icons.outlined.Security
import androidx.compose.material.icons.outlined.Send
import androidx.compose.material.icons.outlined.Visibility
import androidx.compose.material.icons.outlined.Visibility
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.ImageVector
import app.k9mail.core.ui.compose.designsystem.atom.icon.filled.Dot
import app.k9mail.core.ui.compose.designsystem.atom.icon.filled.Dot
@@ -40,12 +47,21 @@ object Icons {
        val AccountCircle: ImageVector
        val AccountCircle: ImageVector
            get() = MaterialIcons.Outlined.AccountCircle
            get() = MaterialIcons.Outlined.AccountCircle


        val Archive: ImageVector
            get() = MaterialIcons.Outlined.Archive

        val ArrowBack: ImageVector
        val ArrowBack: ImageVector
            get() = MaterialIcons.AutoMirrored.Outlined.ArrowBack
            get() = MaterialIcons.AutoMirrored.Outlined.ArrowBack


        val Check: ImageVector
        val Check: ImageVector
            get() = MaterialIcons.Outlined.Check
            get() = MaterialIcons.Outlined.Check


        val Delete: ImageVector
            get() = MaterialIcons.Outlined.Delete

        val Drafts: ImageVector
            get() = MaterialIcons.Outlined.Drafts

        val ErrorOutline: ImageVector
        val ErrorOutline: ImageVector
            get() = MaterialIcons.Outlined.ErrorOutline
            get() = MaterialIcons.Outlined.ErrorOutline


@@ -55,6 +71,9 @@ object Icons {
        val ExpandLess: ImageVector
        val ExpandLess: ImageVector
            get() = MaterialIcons.Outlined.ExpandLess
            get() = MaterialIcons.Outlined.ExpandLess


        val Folder: ImageVector
            get() = MaterialIcons.Outlined.Folder

        val Inbox: ImageVector
        val Inbox: ImageVector
            get() = MaterialIcons.Outlined.Inbox
            get() = MaterialIcons.Outlined.Inbox


@@ -70,6 +89,12 @@ object Icons {
        val Security: ImageVector
        val Security: ImageVector
            get() = MaterialIcons.Outlined.Security
            get() = MaterialIcons.Outlined.Security


        val Send: ImageVector
            get() = MaterialIcons.AutoMirrored.Outlined.Send

        val Report: ImageVector
            get() = MaterialIcons.Outlined.Report

        val Visibility: ImageVector
        val Visibility: ImageVector
            get() = MaterialIcons.Outlined.Visibility
            get() = MaterialIcons.Outlined.Visibility


+1 −1
Original line number Original line Diff line number Diff line
@@ -3,7 +3,7 @@ package app.k9mail.feature.navigation.drawer.ui
import androidx.compose.runtime.Composable
import androidx.compose.runtime.Composable
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.tooling.preview.Preview
import app.k9mail.core.ui.compose.designsystem.PreviewWithTheme
import app.k9mail.core.ui.compose.designsystem.PreviewWithTheme
import app.k9mail.feature.navigation.drawer.ui.account.FakeData.DISPLAY_ACCOUNT
import app.k9mail.feature.navigation.drawer.ui.FakeData.DISPLAY_ACCOUNT


@Composable
@Composable
@Preview(showBackground = true)
@Preview(showBackground = true)
+18 −1
Original line number Original line Diff line number Diff line
package app.k9mail.feature.navigation.drawer.ui.account
package app.k9mail.feature.navigation.drawer.ui


import app.k9mail.core.mail.folder.api.Folder
import app.k9mail.core.mail.folder.api.FolderType
import app.k9mail.feature.navigation.drawer.domain.entity.DisplayAccount
import app.k9mail.feature.navigation.drawer.domain.entity.DisplayAccount
import app.k9mail.legacy.account.Account
import app.k9mail.legacy.account.Account
import app.k9mail.legacy.account.Identity
import app.k9mail.legacy.account.Identity
import app.k9mail.legacy.ui.folder.DisplayFolder


internal object FakeData {
internal object FakeData {


@@ -34,4 +37,18 @@ internal object FakeData {
        unreadMessageCount = 0,
        unreadMessageCount = 0,
        starredMessageCount = 0,
        starredMessageCount = 0,
    )
    )

    val FOLDER = Folder(
        id = 1,
        name = "Folder Name",
        type = FolderType.REGULAR,
        isLocalOnly = false,
    )

    val DISPLAY_FOLDER = DisplayFolder(
        folder = FOLDER,
        isInTopGroup = false,
        unreadMessageCount = 14,
        starredMessageCount = 5,
    )
}
}
+3 −3
Original line number Original line Diff line number Diff line
@@ -3,9 +3,9 @@ package app.k9mail.feature.navigation.drawer.ui.account
import androidx.compose.runtime.Composable
import androidx.compose.runtime.Composable
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.tooling.preview.Preview
import app.k9mail.core.ui.compose.designsystem.PreviewWithThemes
import app.k9mail.core.ui.compose.designsystem.PreviewWithThemes
import app.k9mail.feature.navigation.drawer.ui.account.FakeData.DISPLAY_NAME
import app.k9mail.feature.navigation.drawer.ui.FakeData.DISPLAY_NAME
import app.k9mail.feature.navigation.drawer.ui.account.FakeData.EMAIL_ADDRESS
import app.k9mail.feature.navigation.drawer.ui.FakeData.EMAIL_ADDRESS
import app.k9mail.feature.navigation.drawer.ui.account.FakeData.LONG_TEXT
import app.k9mail.feature.navigation.drawer.ui.FakeData.LONG_TEXT


@Composable
@Composable
@Preview(showBackground = true)
@Preview(showBackground = true)
+76 −0
Original line number Original line Diff line number Diff line
package app.k9mail.feature.navigation.drawer.ui.folder

import androidx.compose.runtime.Composable
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

@Composable
@Preview(showBackground = true)
fun FolderListItemPreview() {
    PreviewWithThemes {
        FolderListItem(
            displayFolder = DISPLAY_FOLDER,
            selected = false,
            showStarredCount = false,
            onClick = {},
        )
    }
}

@Composable
@Preview(showBackground = true)
fun FolderListItemSelectedPreview() {
    PreviewWithThemes {
        FolderListItem(
            displayFolder = DISPLAY_FOLDER,
            selected = true,
            showStarredCount = false,
            onClick = {},
        )
    }
}

@Composable
@Preview(showBackground = true)
fun FolderListItemWithStarredPreview() {
    PreviewWithThemes {
        FolderListItem(
            displayFolder = DISPLAY_FOLDER,
            selected = false,
            showStarredCount = true,
            onClick = {},
        )
    }
}

@Composable
@Preview(showBackground = true)
fun FolderListItemWithStarredSelectedPreview() {
    PreviewWithThemes {
        FolderListItem(
            displayFolder = DISPLAY_FOLDER,
            selected = true,
            showStarredCount = true,
            onClick = {},
        )
    }
}

@Composable
@Preview(showBackground = true)
fun FolderListItemWithInboxFolderPreview() {
    PreviewWithThemes {
        FolderListItem(
            displayFolder = DISPLAY_FOLDER.copy(
                folder = DISPLAY_FOLDER.folder.copy(
                    type = FolderType.INBOX,
                ),
            ),
            selected = false,
            showStarredCount = true,
            onClick = {},
        )
    }
}
Loading