package dev.lonami.talaria.ui import androidx.compose.foundation.Image import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.material.Card import androidx.compose.material.Switch import androidx.compose.material.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import dev.lonami.talaria.R import dev.lonami.talaria.data.DialogSource import dev.lonami.talaria.model.Dialog import dev.lonami.talaria.ui.theme.TalariaTheme @Composable fun DialogCard(dialog: Dialog) { Card( modifier = Modifier .fillMaxWidth() .padding(8.dp, 16.dp) ) { Row { Image( painter = painterResource(R.drawable.ic_launcher_foreground), contentDescription = stringResource(R.string.profile_photo), ) Column(modifier = Modifier.weight(1.0f)) { Text(dialog.title, fontWeight = FontWeight.Bold) Text(dialog.lastMessage) } Switch(dialog.pinned, enabled = false, onCheckedChange = null) } } } @Composable fun DialogList(dialogs: List) { LazyColumn { items(dialogs.size) { DialogCard(dialogs[it]) } } } @Preview @Composable fun DialogPreview() { TalariaTheme { DialogList( DialogSource.loadDialogs() ) } }