- Fixed: 'estibot_appraisal' is not a DomainAuction field
- Dynadot now saves 100 auctions to DB
- Total active auctions: 511 (was 386)
Sample data:
- embedgooglemap.net: $10,200 (51 bids)
- 9454.com: $2,550 (73 bids)
- swosh.com: $2,550 (31 bids)
- Remove all hardcoded 'bg-black' backgrounds from Terminal pages
- Let global background with emerald glow shine through
- Redesign TLD detail page to match Market/Radar/Intel style
- Use consistent StatCards, glassmorphism containers, and spacing
- Improve Quick Check section on TLD detail page
- Unify Watchlist and Listing page backgrounds for consistency
Changes:
- Fixed hover/tooltip issue: Tooltips now only trigger on the specific element, not the entire row.
- Added explicit 'Details' link to TLD table in INTEL view.
- Added clickable TLD badges in INTEL view.
- Standardized Tooltip implementation across all views.
- Ensured consistent 'Award-Winning' style for all interactive elements.
Changes:
- TerminalLayout:
- Added 'hideHeaderSearch' prop to remove top bar elements
- Header is now non-sticky and transparent when search is hidden for seamless integration
- RADAR (Dashboard):
- Removed top bar search/shortcuts
- Implemented 'Hero Style' Universal Search:
- Floating design with backdrop blur
- Dynamic emerald glow on focus
- Animated icons and clean typography
- Integrated results dropdown
- Content flows seamlessly from top
- MARKET:
- Integrated header into content (removed sticky behavior)
- Removed duplicate search/shortcuts from top bar
Changes:
- MARKET: Re-introduced 'Emerald Glow' background effect (Landing Page style)
- NAVIGATION: Complete redesign of Sidebar to match Award-Winning style
- Darker, cleaner background (zinc-950)
- Ultra-thin borders (white/5)
- New active state: subtle emerald glow line + text color (no blocky backgrounds)
- Simplified Logo section
- Modernized User Profile card
Changes:
- Added custom animated Tooltip component for Low Noise / High Density
- Tooltips added to: Score, Price, Time, Source, Actions, Headers
- Redesigned 'Monitor' button:
- Changed icon to 'Eye' (Watch)
- Made it round and distinct from primary action
- Added significant spacing (mr-4) from 'Buy' button
- Enhanced Mobile UX:
- Larger touch targets (h-9 to h-10 equivalents)
- Better button active states (scale-95)
- General Polish:
- Refined hover states and shadows
- Improved accessibility with cursor hints
Changes:
- Redesigned Metric Grid with trend indicators
- New separated Control Bar for search & filters
- High-end Data Grid with ultra-thin borders and hover effects
- Custom SVG 'Score Ring' component for Pounce Score
- Modern typography and spacing
- Removed 'clutter' badges, replaced with minimal indicators
- All columns now sortable (Domain, Score, Price, Time, Source)
- Click column header to sort asc/desc
- New professional header with icon, title, and live stats
- Cleaner, more compact design
- Better mobile responsiveness
- Improved filter bar layout
- Removed old folders: dashboard, pricing, auctions, marketplace, portfolio, alerts, seo
- Removed CommandCenterLayout.tsx (replaced by TerminalLayout)
- Fixed all internal links to use new terminal routes
- Updated keyboard shortcuts for new module names
- Fixed welcome page next steps
- Fixed landing page feature links
- Fixed radar page stat cards and links
LISTINGS PAGE:
- Added missing Sparkles import
PORTFOLIO PAGE:
- Changed dropdown menu to open downward (top-full mt-1)
instead of upward for better visibility
SEO PAGE:
- Added cleanDomain() helper to sanitize input
- Removes whitespace, protocol, www, and trailing slashes
- Fixes 'hushen. app' -> 'hushen.app' input issue
PRICING PAGE:
- Removed accent highlight from 'TLDs Tracked' StatCard
All StatCards now have consistent styling without
green accent highlights.
COMMAND CENTER HEADER:
- Changed from fixed h-16/h-18 to py-5/py-6 for more breathing room
- More vertical padding gives titles more presence
LANDING PAGE HERO SECTION:
- Reduced top padding from pt-32/40/48 to pt-24/32/36
- Smaller puma logo: w-32/40/48 (was w-40/52/64)
- Smaller headline: 2rem-4rem (was 2.5rem-6.5rem)
- More compact spacing overall
- Reduced max-width from 5xl to 4xl for better focus
DOMAIN CHECKER (more prominent):
- Removed px-4 wrapper, full max-w-2xl
- Always-visible glow effect (opacity-60, opacity-100 on focus)
- Larger padding: py-5/6 (was py-4/5)
- Ring-2 on focus (was ring-1)
- Shadow-2xl with accent shadow
- Button: bg-accent instead of bg-foreground
- Button text: 'Hunt' instead of 'Check'
- Larger icons on desktop
- Accent-colored example domains
- Added glow wrapper in landing page
RESULT:
- Search field is now the visual center of the hero
- More compact, action-focused above-the-fold
- Better hierarchy: logo → headline → search
LAYOUT CHANGES:
1. CommandCenterLayout header now uses max-w-7xl:
- Header width matches content width exactly
- Added mx-auto for centering
- Cleaner, more consistent visual alignment
2. Main content area:
- max-w-7xl and centering now in layout wrapper
- Consistent padding: py-6 sm:py-8
3. PageContainer simplified:
- Removed max-w-7xl mx-auto (now in parent)
- Just provides space-y-6 for child spacing
4. Header bar improvements:
- Slightly reduced height: h-16 sm:h-18
- Better button styling (hover states)
- Truncation for long titles on mobile
- Icons slightly larger for better visibility
RESULT:
All Command Center pages now have perfectly aligned
header and content with the same max-width (max-w-7xl).
PROBLEM: Redirect parameters were getting lost during user flows
FIXES APPLIED:
1. Register Page:
- Default redirect: /command/dashboard (was /dashboard)
- Stores redirect in localStorage before email verification
- Preserves redirect when linking to login page
2. Login Page:
- Checks localStorage for stored redirect (from registration)
- Clears stored redirect after successful login
- Uses useState for dynamic redirect handling
3. OAuth Callback:
- Default redirect: /command/dashboard (was /dashboard)
- Backend OAuth endpoints also updated
4. Fixed all /dashboard → /command/dashboard links:
- pricing/page.tsx
- page.tsx (landing page)
- AdminLayout.tsx
- DomainChecker.tsx
- command/dashboard/page.tsx
- Header.tsx (simplified check)
5. Backend OAuth:
- Default redirect_path: /command/dashboard
NEW USER JOURNEY:
Pricing → Register → Email Verify → Login → Pricing → Stripe
↓
Welcome Page
↓
Dashboard
The redirect is preserved throughout:
- Query param ?redirect=/pricing passed through register/login
- Stored in localStorage during email verification gap
- Cleaned up after successful login
STRIPE FLOW CLARIFICATION:
- Stripe does NOT create users
- Users must register FIRST with email/password
- Then they can upgrade via Stripe checkout
- This is by design for security and flexibility
NEW WELCOME PAGE (/command/welcome):
- Celebratory confetti animation on arrival
- Plan-specific welcome message (Trader/Tycoon)
- Features unlocked section with icons
- Next steps with quick links to key features
- Link to documentation and support
UPDATED USER JOURNEY:
1. Pricing Page (/pricing)
↓ Click plan button
2. (If not logged in) → Register → Back to Pricing
↓ Click plan button
3. Stripe Checkout (external)
↓ Payment successful
4. Welcome Page (/command/welcome?plan=trader)
- Shows unlocked features
- Guided next steps
↓ 'Go to Dashboard'
5. Dashboard (/command/dashboard)
CANCEL FLOW:
- Stripe Cancel → /pricing?cancelled=true
- Shows friendly banner: 'No worries! Card not charged.'
- Dismissible with X button
- URL cleaned up automatically
BACKEND UPDATES:
- Default success URL: /command/welcome?plan={plan}
- Default cancel URL: /pricing?cancelled=true
- Portal return URL: /command/settings (not /dashboard)
This creates a complete, professional onboarding experience
that celebrates the upgrade and guides users to get started.
CHANGED font-display → font-semibold:
Command Center Pages:
- alerts/page.tsx: Matches count, notifications, modal title
- marketplace/page.tsx: Listing price
- portfolio/page.tsx: Valuation price
- listings/page.tsx: Price display, modal titles (2)
- seo/page.tsx: Feature title, SEO score, backlinks count
Components (used in Command Center):
- CommandCenterLayout.tsx: Page title
- AdminLayout.tsx: Page title
- PremiumTable.tsx: StatCard value
KEPT serif font (as requested):
- Sidebar.tsx: POUNCE logo only
- Header.tsx: POUNCE logo (public pages)
- Footer.tsx: POUNCE logo
Now the Command Center uses only sans-serif fonts,
with the exception of the POUNCE logo in the navigation.
BEST VALUE LOGIC:
- 'Best' badge only shown when:
1. Cheapest registration price AND
2. No renewal trap (renewal <= 1.5x registration)
- New 'Cheap Start' badge for cheapest with renewal trap
Shows warning: 'Cheapest registration but high renewal costs'
TOOLTIPS ADDED:
Stats Cards:
- Buy (1y): 'Lowest first-year registration price...'
- Renew (1y): 'Annual renewal price after first year'
or 'Warning: Renewal is Xx the registration price'
- 1y Change: 'Price change over the last 12 months'
- 3y Change: 'Price change over the last 3 years'
Registrar Table Headers:
- Register: 'First year registration price'
- Renew: 'Annual renewal price'
- Transfer: 'Transfer from another registrar'
Registrar Table Cells:
- Registration price: 'First year: $X.XX'
- Renewal price: 'Annual renewal: $X.XX' or trap warning
- Transfer price: 'Transfer from another registrar: $X.XX'
- AlertTriangle icon: 'Renewal trap: Xx registration price'
- Best badge: 'Best overall value: lowest registration...'
- Cheap Start badge: 'Cheapest registration but high renewal...'
- Visit link: 'Register at {registrar}'
Applied to both:
- /command/pricing/[tld] (Command Center)
- /tld-pricing/[tld] (Public)
REMOVED:
- Alert/Notify button from both pages
- Bell icon and handleToggleAlert functions
- alertEnabled, alertLoading state
ADDED (matching table columns):
- Buy Price (1y) - was already there
- Renewal (1y) with trap warning
- 1y Change with color coding
- 3y Change with color coding
- Risk Assessment with badge (dot + reason text)
COMMAND CENTER (/command/pricing/[tld]):
- StatCards: Buy, Renew, 1y Change, 3y Change
- Risk Assessment section with badge
- Renewal Trap warning when ratio > 2x
- Real chart data from history.history API
PUBLIC (/tld-pricing/[tld]):
- Same stats in Quick Stats grid
- Risk Assessment for authenticated users
- Shimmer placeholders for non-authenticated
- Real chart data from history.history API
Both pages now show ALL info from the overview table:
✅ TLD name
✅ Trend (chart + badge)
✅ Buy (1y)
✅ Renew (1y) with trap
✅ 1y Change
✅ 3y Change
✅ Risk Level + Reason