Backend (Scheduler):
- Add check_domains_by_frequency() for tier-based scanning
- Scout: Daily checks (at configured hour)
- Trader: Hourly checks (every :00)
- Tycoon: 10-minute real-time checks
- Smart tier filtering to avoid duplicate checks
Frontend (Pricing):
- All feature text now white (text-foreground)
Frontend (Settings/Billing):
- Show current plan with visual stats (domains, interval, portfolio)
- Display check frequency in human-readable format
- Full plan comparison table
- Green checkmarks for active features
- Upgrade CTA for free users
Admin Panel:
- User Detail Modal with full profile info
- Bulk tier upgrade for multiple users
- User export to CSV
- Price Alerts overview tab
- Domain Health Check trigger
- Email Test functionality
- Scheduler Status with job info and last runs
- Activity Log for admin actions
- Blog management tab with CRUD
Blog System:
- BlogPost model with full content management
- Public API: list, featured, categories, single post
- Admin API: create, update, delete, publish/unpublish
- Frontend blog listing page with categories
- Frontend blog detail page with styling
- View count tracking
OAuth:
- Google OAuth integration
- GitHub OAuth integration
- OAuth callback handling
- Provider selection on login/register
Other improvements:
- Domain checker with check_all_domains function
- Admin activity logging
- Breadcrumbs component
- Toast notification component
- Various UI/UX improvements
SETTINGS FIXES:
- Profile save now calls real API (PUT /auth/me)
- Updates store after successful profile save
- Notification preferences now functional with state
- Save preferences button added
- Preferences stored in localStorage
- Proper loading/saving states
DASHBOARD FIX:
- Portfolio data loads on mount (not just when tab active)
- Tab counts now show correct numbers
- Both Watchlist and Portfolio counts visible immediately
API:
- Added updateMe() method in api.ts
DASHBOARD:
- Reverted status icons to simple dots with pulse animation
- Changed max-width from 5xl to 7xl (matching tld-pricing)
- All colors back to accent/green (no cyan/emerald/etc)
- Stats cards use accent color for positive values
- Monitoring domains show pulsing green dot
- Added proper spacing (pt-28/32, pb-20/24)
SETTINGS:
- Updated to match dashboard style (max-w-7xl)
- Same padding and spacing
- rounded-2xl for modern look
- Accent green for highlights
- Pulsing dots for active alerts
- Consistent border and bg colors
BACKEND FIX:
- Added CurrentUserOptional alias to deps.py for backward compatibility
TONE OF VOICE UPDATES:
- Auctions: 'Live Auctions. One Feed. Strike first.'
- Careers: 'Build tools. For hunters.'
- Blog: 'The Hunt Report' - Market intel for hunters
- Settings: 'Your account. Your rules.'
- Forgot Password: Cleaner, direct copy
Settings Page:
- Horizontal scrollable tabs on mobile (< lg breakpoint)
- Vertical sidebar on desktop (lg+)
- Hide plan info card on mobile (visible in billing tab)
Header:
- Added Settings link in mobile menu for authenticated users
Global CSS:
- Added scrollbar-hide utility class
- Added smooth scrolling for touch devices
- Added touch-pan-x for horizontal scroll areas
- Removed tap highlight on mobile
- select-none utility class
Dashboard Improvements:
- Portfolio: Sell Domain Modal mit Profit-Vorschau
- Portfolio: Edit Domain Modal für alle Felder
- Watchlist: Notification Toggle Button (Bell Icon)
- Neue Handler-Funktionen für alle Aktionen
New Pages:
- /settings - Profile, Notifications, Billing, Security
- /blog/[slug] - Blog Detail Page mit Share-Buttons
- /unsubscribe - Newsletter Unsubscribe Seite
Navigation Updates:
- Settings Icon im Header für eingeloggte User
- Unsubscribe Link im Footer (Legal Section)
API Additions:
- updateDomainNotify() für Watchlist-Benachrichtigungen