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

Unverified Commit 794ee9cf authored by Wolf-Martell Montwé's avatar Wolf-Martell Montwé
Browse files

Add SettingItem

parent 4a97c52e
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -11,11 +11,12 @@ import androidx.compose.material3.LocalContentColor as Material3LocalContentColo
fun Icon(
    imageVector: ImageVector,
    modifier: Modifier = Modifier,
    contentDescription: String? = null,
    tint: Color? = null,
) {
    Material3Icon(
        imageVector = imageVector,
        contentDescription = null,
        contentDescription = contentDescription,
        modifier = modifier,
        tint = tint ?: Material3LocalContentColor.current,
    )
+16 −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

@Composable
@Preview(showBackground = true)
fun SettingItemPreview() {
    PreviewWithThemes {
        SettingItem(
            label = "Setting",
            onClick = {},
        )
    }
}
+40 −0
Original line number Diff line number Diff line
package app.k9mail.feature.navigation.drawer.ui.setting

import androidx.compose.foundation.clickable
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.width
import androidx.compose.foundation.shape.CircleShape
import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import app.k9mail.core.ui.compose.designsystem.atom.Surface
import app.k9mail.core.ui.compose.designsystem.atom.icon.Icon
import app.k9mail.core.ui.compose.designsystem.atom.icon.Icons
import app.k9mail.core.ui.compose.theme2.MainTheme

@Composable
internal fun SettingItem(
    label: String,
    onClick: () -> Unit,
    modifier: Modifier = Modifier,
) {
    Box(
        modifier = modifier.width(MainTheme.sizes.large),
        contentAlignment = Alignment.Center,
    ) {
        Surface(
            modifier = Modifier.padding(vertical = MainTheme.spacings.oneHalf),
            color = MainTheme.colors.surfaceContainer,
            shape = CircleShape,
        ) {
            Icon(
                imageVector = Icons.Outlined.Settings,
                contentDescription = label,
                modifier = Modifier
                    .clickable(onClick = onClick)
                    .padding(MainTheme.spacings.oneHalf),
            )
        }
    }
}