- Renamed /intel to /discover
- Updated styles to match dark/cinematic landing page theme
- Updated Header, Footer, and Sitemap
- Added redirects from /intel and /tld-pricing to /discover
- Optimized SEO metadata for new paths
- Calculate time_remaining live from end_time ISO string (UTC)
instead of using static backend string. This ensures time is
always accurate even if page stays open for hours.
- Remove /intelligence redirect page (was only a redirect to /tld-pricing)
- Add getSecondsUntilEnd() and calcTimeRemaining() helpers
PUBLIC PAGE (/tld-pricing):
- Added renewal price column with trap warning (⚠️ when >2x)
- Added 1y trend % column with color coding
- Added risk level badges (🟢🟡🔴)
- Blur effect for non-authenticated users on premium columns
- All data from real backend API (not simulated)
PUBLIC DETAIL PAGE (/tld-pricing/[tld]):
- Already existed with full features
- Shows price history chart, registrar comparison, domain check
COMMAND CENTER (/command/pricing):
- Full access to all data without blur
- Category tabs: All, Tech, Geo, Budget, Premium
- Sparklines for trend visualization
- Risk-based sorting option
COMMAND CENTER DETAIL (/command/pricing/[tld]):
- NEW: Professional detail page with CommandCenterLayout
- Price history chart with period selection (1M, 3M, 1Y, ALL)
- Renewal trap warning banner
- Registrar comparison table with trap indicators
- Quick domain availability check
- TLD info grid (type, registry, introduced, registrars)
- Price alert toggle
CLEANUP:
- /intelligence → redirects to /tld-pricing (backwards compat)
- Removed duplicate code
All TLD Pricing data now flows from backend with:
- Real renewal prices from registrar data
- Calculated 1y/3y trends per TLD
- Risk level and reason from backend
BACKEND CHANGES (tld_prices.py):
- Added get_min_renewal_price() and get_avg_renewal_price() helpers
- Added calculate_price_trends() with known TLD trends:
- .ai: +15%/1y, +45%/3y (AI boom)
- .com: +7%/1y, +14%/3y (registry increases)
- .xyz: -10%/1y (promo-driven)
- etc.
- Added calculate_risk_level() returning low/medium/high + reason
- Extended /overview endpoint to return:
- min_renewal_price
- avg_renewal_price
- price_change_7d, price_change_1y, price_change_3y
- risk_level, risk_reason
FRONTEND CHANGES:
- Updated api.ts TldOverview interface with new fields
- Command Center /command/pricing/page.tsx:
- Now uses api.getTldOverview() instead of simulated data
- getRiskInfo() uses backend risk_level/risk_reason
- Public /intelligence/page.tsx:
- Same updates - uses real backend data
This ensures TLD Pricing works correctly:
- Public page: Real data + blur for premium columns
- Command Center: Real data with all columns visible
- Admin: TLD Pricing tab with correct stats
CHANGES:
- Auctions page now uses public layout (Header/Footer) instead of CommandCenterLayout
- Intelligence page now uses public layout (Header/Footer) instead of CommandCenterLayout
- Both pages accessible without login
- Login CTA banner shown to non-authenticated users
- Opportunities tab locked for non-authenticated users (shows ?)
- Price alerts feature requires login
- Consistent layout between both public pages:
- Same hero section with title and refresh button
- Same 4-column stats grid
- Same CTA banner design
- Same filter/search layout
- Same table component
- Same pagination design
USER BACKEND:
- Created PremiumTable component with elegant gradient styling
- All pages now use consistent max-w-7xl width via PageContainer
- Auctions page integrated into CommandCenterLayout with full functionality
- Intelligence page updated with PremiumTable and StatCards
- Added keyboard shortcuts system (press ? to show help):
- G: Dashboard, W: Watchlist, P: Portfolio, A: Auctions
- I: Intelligence, S: Settings, N: Add domain, Cmd+K: Search
ADMIN BACKEND:
- Created separate AdminLayout with dedicated sidebar (red theme)
- Admin sidebar with navigation tabs and shortcut hints
- Integrated keyboard shortcuts for admin:
- O: Overview, U: Users, B: Blog, Y: System, D: Back to dashboard
- All tables use consistent PremiumTable component
- Professional stat cards and status badges
COMPONENTS:
- PremiumTable: Elegant table with sorting, selection, loading states
- Badge: Versatile status badge with variants and dot indicator
- StatCard: Consistent stat display with optional accent styling
- PageContainer: Enforces max-w-7xl for consistent page width
- TableActionButton: Consistent action buttons for tables
- PlatformBadge: Color-coded platform indicators for auctions
- Fix Command Center loading on mobile (add mobile sidebar menu)
- Rename 'Market' to 'Auctions' in navigation (clearer naming)
- Add Vanity Filter for public auctions (hide spam domains)
- Premium TLDs only for public (.com, .io, .ai, etc.)
- Max 15 chars, max 1 hyphen, max 2 digits
- No random consonant strings
- Improve pricing page differentiation
- Highlight 'Smart spam filter' for Trader
- Show 'Curated list' vs 'Raw feed'
- Add sublabels for key features
- Add background effects to Command Center
- Improve responsive design
- New Sidebar component with collapsible navigation
- New CommandCenterLayout for logged-in users
- Separate routes: /watchlist, /portfolio, /market, /intelligence
- Dashboard with Activity Feed and Market Pulse
- Traffic light status indicators for domain status
- Updated Header for public/logged-in state separation
- Settings page uses new Command Center layout