Add email notification preference for task completion
- Add emailTaskCompleted field to NotificationPreference model - Add email preference toggle to notification settings UI (iOS & Android) - Add localized strings for email notifications section - Update ViewModel to support email preference updates 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -35,6 +35,7 @@ fun NotificationPreferencesScreen(
|
||||
var taskAssigned by remember { mutableStateOf(true) }
|
||||
var residenceShared by remember { mutableStateOf(true) }
|
||||
var warrantyExpiring by remember { mutableStateOf(true) }
|
||||
var emailTaskCompleted by remember { mutableStateOf(true) }
|
||||
|
||||
// Load preferences on first render
|
||||
LaunchedEffect(Unit) {
|
||||
@@ -51,6 +52,7 @@ fun NotificationPreferencesScreen(
|
||||
taskAssigned = prefs.taskAssigned
|
||||
residenceShared = prefs.residenceShared
|
||||
warrantyExpiring = prefs.warrantyExpiring
|
||||
emailTaskCompleted = prefs.emailTaskCompleted
|
||||
}
|
||||
}
|
||||
|
||||
@@ -294,6 +296,36 @@ fun NotificationPreferencesScreen(
|
||||
}
|
||||
}
|
||||
|
||||
// Email Notifications Section
|
||||
Text(
|
||||
stringResource(Res.string.notifications_email_section),
|
||||
style = MaterialTheme.typography.titleMedium,
|
||||
fontWeight = FontWeight.SemiBold,
|
||||
modifier = Modifier.padding(top = AppSpacing.md)
|
||||
)
|
||||
|
||||
Card(
|
||||
modifier = Modifier.fillMaxWidth(),
|
||||
shape = RoundedCornerShape(AppRadius.md),
|
||||
colors = CardDefaults.cardColors(
|
||||
containerColor = MaterialTheme.colorScheme.surfaceVariant
|
||||
)
|
||||
) {
|
||||
Column {
|
||||
NotificationToggle(
|
||||
title = stringResource(Res.string.notifications_email_task_completed),
|
||||
description = stringResource(Res.string.notifications_email_task_completed_desc),
|
||||
icon = Icons.Default.Email,
|
||||
iconTint = MaterialTheme.colorScheme.primary,
|
||||
checked = emailTaskCompleted,
|
||||
onCheckedChange = {
|
||||
emailTaskCompleted = it
|
||||
viewModel.updatePreference(emailTaskCompleted = it)
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
Spacer(modifier = Modifier.height(AppSpacing.xl))
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user