feat: show date in alarm card when set

Display formatted date (e.g. 'Do., 26.02.2026') in alarm list card
when alarm has a specific date. Date shown in primary color between
time and label.
This commit is contained in:
Helios 2026-02-24 16:27:44 +01:00
parent f498ecdef4
commit 2c850dbd0b
No known key found for this signature in database
GPG key ID: C8259547CD8309B5

View file

@ -55,7 +55,10 @@ import androidx.compose.ui.unit.dp
import androidx.compose.ui.window.Dialog import androidx.compose.ui.window.Dialog
import androidx.compose.ui.window.DialogProperties import androidx.compose.ui.window.DialogProperties
import androidx.core.content.ContextCompat import androidx.core.content.ContextCompat
import java.time.LocalDate
import java.time.format.DateTimeFormatter
import java.util.Calendar import java.util.Calendar
import java.util.Locale
import androidx.hilt.navigation.compose.hiltViewModel import androidx.hilt.navigation.compose.hiltViewModel
import androidx.lifecycle.compose.collectAsStateWithLifecycle import androidx.lifecycle.compose.collectAsStateWithLifecycle
import com.example.helios_alarm_clock.data.AlarmEntity import com.example.helios_alarm_clock.data.AlarmEntity
@ -262,6 +265,17 @@ fun AlarmCard(
fontWeight = FontWeight.Light, fontWeight = FontWeight.Light,
color = MaterialTheme.colorScheme.onSurface color = MaterialTheme.colorScheme.onSurface
) )
if (!alarm.date.isNullOrBlank()) {
val formattedDate = runCatching {
val parsed = LocalDate.parse(alarm.date, DateTimeFormatter.ISO_LOCAL_DATE)
parsed.format(DateTimeFormatter.ofPattern("EEE, dd.MM.yyyy", Locale.GERMAN))
}.getOrElse { alarm.date }
Text(
text = formattedDate,
style = MaterialTheme.typography.bodyMedium,
color = MaterialTheme.colorScheme.primary
)
}
if (alarm.label.isNotBlank()) { if (alarm.label.isNotBlank()) {
Text( Text(
text = alarm.label, text = alarm.label,