From a7ce4d17a17ea70b3c6804769e6ad13768bb9e95 Mon Sep 17 00:00:00 2001
From: fullsizemalt <106900403+fullsizemalt@users.noreply.github.com>
Date: Fri, 26 Dec 2025 17:02:23 -0800
Subject: [PATCH] Wire up notification preferences in settings UI
---
frontend/app/settings/page.tsx | 41 ++++++++---------------
frontend/contexts/preferences-context.tsx | 8 +++++
2 files changed, 22 insertions(+), 27 deletions(-)
diff --git a/frontend/app/settings/page.tsx b/frontend/app/settings/page.tsx
index 2cb90f2..5de53b6 100644
--- a/frontend/app/settings/page.tsx
+++ b/frontend/app/settings/page.tsx
@@ -244,7 +244,7 @@ export default function SettingsPage() {
-
+
@@ -307,7 +307,7 @@ export default function SettingsPage() {
-
+
@@ -545,7 +545,7 @@ function DisplaySection({ preferences, updatePreferences }: any) {
}
// Notifications Section
-function NotificationsSection() {
+function NotificationsSection({ preferences, updatePreferences }: any) {
return (
@@ -554,46 +554,33 @@ function NotificationsSection() {
Notifications
- Choose what updates you receive
+ Choose what email notifications you receive
{ }}
- comingSoon
+ description="Get an email when someone replies to your review or comment"
+ checked={preferences.email_on_reply ?? true}
+ onChange={(checked: boolean) => updatePreferences({ email_on_reply: checked })}
/>
{ }}
- comingSoon
- />
-
-
-
- { }}
- comingSoon
+ label="Chase Song Alerts"
+ description="Get an email when a song on your chase list gets played at a show"
+ checked={preferences.email_on_chase ?? true}
+ onChange={(checked: boolean) => updatePreferences({ email_on_chase: checked })}
/>
{ }}
- comingSoon
+ description="Receive a weekly email with site highlights and new shows"
+ checked={preferences.email_digest ?? false}
+ onChange={(checked: boolean) => updatePreferences({ email_digest: checked })}
/>
diff --git a/frontend/contexts/preferences-context.tsx b/frontend/contexts/preferences-context.tsx
index e677018..d41bcb5 100644
--- a/frontend/contexts/preferences-context.tsx
+++ b/frontend/contexts/preferences-context.tsx
@@ -7,6 +7,10 @@ interface Preferences {
wiki_mode: boolean
show_ratings: boolean
show_comments: boolean
+ theme: string
+ email_on_reply: boolean
+ email_on_chase: boolean
+ email_digest: boolean
}
interface PreferencesContextType {
@@ -19,6 +23,10 @@ const defaultPreferences: Preferences = {
wiki_mode: false,
show_ratings: true,
show_comments: true,
+ theme: "system",
+ email_on_reply: true,
+ email_on_chase: true,
+ email_digest: false,
}
const PreferencesContext = createContext({