feat(contacts): per-type title format in the special-dates section

The "Title format" row was only editable for Birthdays; move it into each
per-type card so Anniversaries and Other dates get their own editable template
too (the dialog was already keyed by type). Each enabled type card now reads
toggle → title format → reminders.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-07-01 12:54:11 +02:00
parent cbb241bc4d
commit 52816b327a

View File

@@ -1147,7 +1147,8 @@ private fun SpecialDatesScreen(
)
if (state.enabled) {
// Per-type card: the toggle, and while on, its calendar-wide reminder.
// Per-type card: the toggle, and while on, its title format and its
// calendar-wide reminder.
SpecialDateType.entries.forEachIndexed { index, type ->
Spacer(Modifier.height(if (index == 0) 24.dp else 16.dp))
val on = type in state.types
@@ -1168,6 +1169,12 @@ private fun SpecialDatesScreen(
},
)
if (on) {
GroupedRow(
title = stringResource(R.string.settings_special_dates_template),
summary = state.titleTemplates[type].orEmpty(),
position = Position.Middle,
onClick = { editTemplate = type },
)
GroupedRow(
title = stringResource(R.string.settings_special_dates_reminders),
summary = reminderChoiceLabel(specialDatesReminderMinutes(state.reminderChoices[type])),
@@ -1177,14 +1184,6 @@ private fun SpecialDatesScreen(
}
}
Spacer(Modifier.height(24.dp))
GroupedRow(
title = stringResource(R.string.settings_special_dates_template),
summary = state.titleTemplates[SpecialDateType.Birthday].orEmpty(),
position = Position.Alone,
onClick = { editTemplate = SpecialDateType.Birthday },
)
Spacer(Modifier.height(24.dp))
GroupedRow(
title = stringResource(R.string.settings_special_dates_show_age),