Add notification email preferences and theme to UserPreferences model

This commit is contained in:
fullsizemalt 2025-12-26 16:32:21 -08:00
parent 0548c58bd8
commit 2f905d7173
3 changed files with 34 additions and 7 deletions

View file

@ -338,6 +338,14 @@ class UserPreferences(SQLModel, table=True):
show_ratings: bool = Field(default=True)
show_comments: bool = Field(default=True)
# Theme preference (synced from frontend)
theme: str = Field(default="system", description="light, dark, or system")
# Email notification preferences
email_on_reply: bool = Field(default=True, description="Email when someone replies to your review")
email_on_chase: bool = Field(default=True, description="Email when your chase song is played")
email_digest: bool = Field(default=False, description="Weekly digest email")
user: User = Relationship(back_populates="preferences")
class Profile(SQLModel, table=True):

View file

@ -328,6 +328,10 @@ class UserPreferencesBase(SQLModel):
wiki_mode: bool = False
show_ratings: bool = True
show_comments: bool = True
theme: str = "system"
email_on_reply: bool = True
email_on_chase: bool = True
email_digest: bool = False
class UserPreferencesCreate(UserPreferencesBase):
pass
@ -336,6 +340,10 @@ class UserPreferencesUpdate(SQLModel):
wiki_mode: Optional[bool] = None
show_ratings: Optional[bool] = None
show_comments: Optional[bool] = None
theme: Optional[str] = None
email_on_reply: Optional[bool] = None
email_on_chase: Optional[bool] = None
email_digest: Optional[bool] = None
class UserPreferencesRead(UserPreferencesBase):
user_id: int

View file

@ -1,6 +1,6 @@
# Elmeg Platform Roadmap
**Last Updated:** 2023-12-23
**Last Updated:** 2025-12-26
---
@ -15,7 +15,7 @@
| Postal Mail Server | ✅ Running on tangible-aacorn |
| SMTP Host | `smtp.elmeg.xyz:25` |
| Web Dashboard | <https://postal.elmeg.xyz> |
| SPF Record | ✅ Configured |
| SPF Record | ✅ Fixed (ip4:159.69.219.254) |
| DKIM Record | ✅ Configured |
| DMARC Record | ✅ Configured |
| Return Path | ✅ Configured |
@ -34,7 +34,18 @@
---
## Recent Completions (Dec 23, 2023)
## Recent Completions (Dec 26, 2025)
| Feature | Status |
|---------|--------|
| Rating submission bug | ✅ Fixed |
| Hydration error fix | ✅ Fixed |
| Venues page (all 441) | ✅ Fixed |
| Cloudflare HTTP/3 disabled | ✅ Complete |
| SPF DNS record fixed | ✅ Complete |
| Password reset tested | ✅ Complete |
## Previous Completions (Dec 23, 2025)
| Feature | Status |
|---------|--------|
@ -135,8 +146,8 @@
### High Priority
- [ ] Test email verification flow end-to-end
- [ ] Test password reset flow end-to-end
- [x] Test email verification flow end-to-end
- [x] Test password reset flow end-to-end
### Medium Priority
@ -158,8 +169,8 @@
1. [x] Register test account to trigger verification email
2. [x] Registration UX shows "Check Your Email" message
3. [ ] Test password reset flow
4. [ ] Monitor email deliverability in Postal dashboard
3. [x] Test password reset flow
4. [x] Monitor email deliverability in Postal dashboard
### This Week