feat: web UI scaffold with embedded SPA and multi-stage Docker build #16

Merged
bvandeusen merged 262 commits from dev into main 2026-04-22 14:23:02 -04:00
Showing only changes of commit dd7c5544bf - Show all commits
@@ -131,8 +131,20 @@ fun SettingsScreen(
} }
} }
if (showSignOutConfirm) { if (showSignOutConfirm) {
SignOutConfirmDialog(
onConfirm = {
showSignOutConfirm = false
viewModel.signOut()
},
onDismiss = { showSignOutConfirm = false },
)
}
}
@Composable
private fun SignOutConfirmDialog(onConfirm: () -> Unit, onDismiss: () -> Unit) {
AlertDialog( AlertDialog(
onDismissRequest = { showSignOutConfirm = false }, onDismissRequest = onDismiss,
title = { Text("Sign out?") }, title = { Text("Sign out?") },
text = { text = {
Text( Text(
@@ -142,10 +154,7 @@ fun SettingsScreen(
}, },
confirmButton = { confirmButton = {
Button( Button(
onClick = { onClick = onConfirm,
showSignOutConfirm = false
viewModel.signOut()
},
colors = ButtonDefaults.buttonColors( colors = ButtonDefaults.buttonColors(
containerColor = MaterialTheme.colorScheme.errorContainer, containerColor = MaterialTheme.colorScheme.errorContainer,
contentColor = MaterialTheme.colorScheme.onErrorContainer, contentColor = MaterialTheme.colorScheme.onErrorContainer,
@@ -153,11 +162,10 @@ fun SettingsScreen(
) { Text("Sign out") } ) { Text("Sign out") }
}, },
dismissButton = { dismissButton = {
TextButton(onClick = { showSignOutConfirm = false }) { Text("Cancel") } TextButton(onClick = onDismiss) { Text("Cancel") }
}, },
) )
} }
}
@Composable @Composable
private fun NavTile( private fun NavTile(