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({