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

Unverified Commit 2a619372 authored by Wolf-Martell Montwé's avatar Wolf-Martell Montwé
Browse files

Add SettingList and SettingListItem

parent a7389ebd
Loading
Loading
Loading
Loading
+18 −0
Original line number Diff line number Diff line
package app.k9mail.feature.navigation.drawer.ui.setting

import androidx.compose.runtime.Composable
import androidx.compose.ui.tooling.preview.Preview
import app.k9mail.core.ui.compose.designsystem.PreviewWithThemes
import app.k9mail.core.ui.compose.designsystem.atom.icon.Icons

@Composable
@Preview(showBackground = true)
fun SettingListItemPreview() {
    PreviewWithThemes {
        SettingListItem(
            label = "Settings",
            onClick = {},
            imageVector = Icons.Outlined.Settings,
        )
    }
}
+29 −0
Original line number Diff line number Diff line
package app.k9mail.feature.navigation.drawer.ui.setting

import androidx.compose.runtime.Composable
import androidx.compose.ui.tooling.preview.Preview
import app.k9mail.core.ui.compose.designsystem.PreviewWithTheme

@Composable
@Preview(showBackground = true)
fun SettingListPreview() {
    PreviewWithTheme {
        SettingList(
            onAccountSelectorClick = {},
            onManageFoldersClick = {},
            showAccountSelector = false,
        )
    }
}

@Composable
@Preview(showBackground = true)
fun SettingListShowAccountSelectorPreview() {
    PreviewWithTheme {
        SettingList(
            onAccountSelectorClick = {},
            onManageFoldersClick = {},
            showAccountSelector = true,
        )
    }
}
+4 −0
Original line number Diff line number Diff line
@@ -17,6 +17,8 @@ class FolderDrawer(
    override val parent: AppCompatActivity,
    private val openAccount: (account: Account) -> Unit,
    private val openFolder: (folderId: Long) -> Unit,
    private val openManageFolders: () -> Unit,
    private val openSettings: () -> Unit,
    createDrawerListener: () -> DrawerLayout.DrawerListener,
) : NavigationDrawer, KoinComponent {

@@ -38,6 +40,8 @@ class FolderDrawer(
                DrawerView(
                    openAccount = openAccount,
                    openFolder = openFolder,
                    openManageFolders = openManageFolders,
                    openSettings = openSettings,
                    closeDrawer = { close() },
                )
            }
+2 −2
Original line number Diff line number Diff line
@@ -66,7 +66,7 @@ private const val EN_SPACE = "\u2000"
@Suppress("MagicNumber", "TooManyFunctions", "LongParameterList")
class LegacyDrawer(
    override val parent: AppCompatActivity,
    private val openFolders: () -> Unit,
    private val openManageFolders: () -> Unit,
    private val openUnifiedInbox: () -> Unit,
    private val openFolder: (folderId: Long) -> Unit,
    private val openAccount: (account: Account) -> Boolean,
@@ -352,7 +352,7 @@ class LegacyDrawer(
    private fun handleItemClickListener(drawerItem: IDrawerItem<*>) {
        when (drawerItem.identifier) {
            DRAWER_ID_PREFERENCES -> openSettings()
            DRAWER_ID_FOLDERS -> openFolders()
            DRAWER_ID_FOLDERS -> openManageFolders()
            DRAWER_ID_UNIFIED_INBOX -> openUnifiedInbox()
            else -> {
                val folder = drawerItem.tag as Folder
+11 −8
Original line number Diff line number Diff line
package app.k9mail.feature.navigation.drawer.ui

import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.padding
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.platform.testTag
import app.k9mail.core.ui.compose.designsystem.atom.DividerHorizontal
import app.k9mail.core.ui.compose.designsystem.atom.Surface
import app.k9mail.core.ui.compose.theme2.MainTheme
import app.k9mail.feature.navigation.drawer.ui.DrawerContract.Event
import app.k9mail.feature.navigation.drawer.ui.DrawerContract.State
import app.k9mail.feature.navigation.drawer.ui.account.AccountView
import app.k9mail.feature.navigation.drawer.ui.folder.FolderList
import app.k9mail.feature.navigation.drawer.ui.setting.SettingList

@Composable
fun DrawerContent(
@@ -28,11 +26,7 @@ fun DrawerContent(
    ) {
        Column(
            modifier = Modifier
                .fillMaxSize()
                .padding(
                    vertical = MainTheme.spacings.oneHalf,
                ),
            verticalArrangement = Arrangement.spacedBy(MainTheme.spacings.default),
                .fillMaxSize(),
        ) {
            state.selectedAccount?.let {
                AccountView(
@@ -51,7 +45,16 @@ fun DrawerContent(
                    onEvent(Event.OnFolderClick(folder))
                },
                showStarredCount = state.config.showStarredCount,
                modifier = Modifier.weight(1f),
            )
            Column {
                DividerHorizontal()
                SettingList(
                    onAccountSelectorClick = { onEvent(Event.OnAccountSelectorClick) },
                    onManageFoldersClick = { onEvent(Event.OnManageFoldersClick) },
                    showAccountSelector = state.showAccountSelector,
                )
            }
        }
    }
}
Loading