256 Commits

Author SHA1 Message Date
254c2b2cf0 fix: Tooltip behavior & Links (INTEL, MARKET, RADAR)
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.
2025-12-11 08:08:28 +01:00
cfbc84387a feat: INTEL - Complete Redesign (Award-Winning Style)
Changes:
- Rebuilt INTEL (Analytics) page to match Market/Radar style
- Features:
  - 'Emerald Glow' background effect
  - High-end Stat Cards grid
  - Integrated header with 'Pill' style filters
  - Advanced Data Table with:
    - Renewal Trap warnings (Amber alert if >1.5x reg price)
    - Trend indicators (Sparklines/Arrows)
    - Risk Level meters (Visual bars)
- Mobile Optimization:
  - Elegant Card layout for small screens
  - Touch-friendly controls
2025-12-11 08:01:24 +01:00
0cb60fe776 feat: RADAR & MARKET - Content Integration & Award-Winning Search
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
2025-12-11 07:41:10 +01:00
7f2910e636 feat: RADAR - Complete Redesign (Award-Winning Style)
Changes:
- Rebuilt Dashboard/Radar page from scratch to match Market style
- Features:
  - New 'Ticker' component with clean, borderless design
  - High-end 'StatCard' grid
  - 'Universal Search' command center with emerald glow
  - Split view: Market Pulse vs Watchlist Activity
- Visuals:
  - Dark zinc-950/40 backgrounds
  - Ultra-thin borders (white/5)
  - Consistent tooltips and hover effects
- Mobile optimized layout
2025-12-11 07:33:59 +01:00
6da0eb4164 feat: MARKET & NAV - High-End Polish
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
2025-12-11 07:27:40 +01:00
8e2adfac0a feat: MARKET - Award-Winning Polish (Tooltips & UX)
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
2025-12-11 06:56:12 +01:00
e85a5a65a4 feat: MARKET - Final Polish & Mobile Optimization
Changes:
- Implemented responsive layout: Desktop Table vs Mobile Cards
- Desktop: Glassmorphism header, refined spacing, hover effects
- Mobile: Elegant 'Trading Card' layout with optimized touch targets
- Visual: New 'ScoreDisplay' component (Ring for Desktop, Badge for Mobile)
- UX: Sticky search bar on mobile, better empty states
- Polish: Improved typography, consistent borders, micro-interactions
2025-12-11 06:49:15 +01:00
2dbf4e2eb9 feat: MARKET - Complete UI Overhaul (Award-Winning Style)
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
2025-12-11 06:43:21 +01:00
08eeba998c feat: MARKET - Add sortable columns + new Live Feed header style
Changes:
- Sortable columns: Domain, Score, Price, Time Left, Source
- Click column header to sort (asc/desc toggle)
- New header: 'Live Market Feed' with live indicator
- Quick stats pills: total listings, high score count, ending soon
- Visual sort indicators (chevron up/down)
- Default sort: Score descending
2025-12-10 22:45:05 +01:00
b16ab0c33c feat: MARKET - Sortable columns + new header design
- 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
2025-12-10 22:38:53 +01:00
780abf4551 feat: MARKET page complete rebuild - Trading Dashboard design
- Clean, minimalist Trading Dashboard aesthetic
- Filter Bar: Hide Spam (default ON), Pounce Direct Only, TLD dropdown, Price dropdown
- Master Table with 6 columns as per concept:
  1. Domain (with 💎 icon for Pounce Direct)
  2. Pounce Score (0-100, color-coded: green >80, yellow 40-80, red <40)
  3. Price/Bid (with bid count)
  4. Status/Time ( Instant or ⏱️ countdown with urgency colors)
  5. Source (GoDaddy, Sedo, NameJet, DropCatch, Pounce)
  6. Action (Bid/Buy button + Track to Watchlist)
- Advanced Pounce Score algorithm with spam detection
- Professional dark theme with zinc/emerald color scheme
- Responsive grid layout
2025-12-10 22:30:13 +01:00
ab79415a8b docs: Update TERMINAL_REBUILD_PLAN.md - Phase 3 completed 2025-12-10 22:23:58 +01:00
2297ec5ef9 feat: Sprint 3 - Terminal screens rebuild according to concept
RADAR:
- Added Ticker component for live market movements
- Implemented Universal Search (simultaneous Whois + Auctions check)
- Quick Stats: 3 cards (Watching, Market, My Listings)
- Recent Alerts with Activity Feed

MARKET:
- Unified table with Pounce Score (0-100, color-coded)
- Hide Spam toggle (default: ON)
- Pounce Direct Only toggle
- Source badges (GoDaddy, Sedo, Pounce)
- Status/Time column with Instant vs Countdown

INTEL:
- Added Cheapest At column (Best Registrar Finder)
- Renamed to Intel
- Inflation Monitor with renewal trap warnings

WATCHLIST:
- Tabs: Watching / My Portfolio
- Health Status Ampel (🟢🟡🔴)
- Improved status display

LISTING:
- Scout paywall (only Trader/Tycoon can list)
- Tier limits: Trader=5, Tycoon=50
- DNS Verification workflow
2025-12-10 22:21:35 +01:00
55380f793b docs: Update TERMINAL_REBUILD_PLAN.md - Sprint 1, 2 & 4 completed 2025-12-10 22:02:37 +01:00
5b200a21bc cleanup: Remove old Command Center files and fix all references
- 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
2025-12-10 21:59:56 +01:00
1b1aea6f07 refactor: Terminal Module Restructure (Sprint 2)
- RADAR: dashboard → /terminal/radar
- MARKET: auctions + marketplace → /terminal/market
- INTEL: pricing → /terminal/intel
- WATCHLIST: watchlist + portfolio → /terminal/watchlist
- LISTING: listings → /terminal/listing

All redirects configured for backwards compatibility.
Updated sidebar navigation with new module names.
2025-12-10 21:44:36 +01:00
bde898e62f refactor: Rename Command Center to Terminal (Sprint 1)
- Renamed /command/* routes to /terminal/*
- Renamed CommandCenterLayout to TerminalLayout
- Updated all internal links
- Added permanent redirects from /command/* to /terminal/*
- Updated Sidebar navigation
- Added concept docs (pounce_*.md)
2025-12-10 21:39:53 +01:00
58718f6169 docs: Add Terminal rebuild plan with detailed checklists 2025-12-10 21:23:03 +01:00
9e668540f8 fix: Cast ItemWrapper to any to fix type error 2025-12-10 20:37:02 +01:00
683fe45aff fix: Remove unnecessary condition in PremiumTable SearchInput 2025-12-10 20:34:09 +01:00
0717a8dd66 fix: Cast sortBy to correct type in tld-pricing page 2025-12-10 20:32:04 +01:00
156df8d519 fix: Another AlertTriangle title fix in tld-pricing 2025-12-10 20:29:46 +01:00
d82a58417e fix: Wrap AlertTriangle with span for title in tld-pricing 2025-12-10 20:27:05 +01:00
92b11943a6 fix: Correct API method calls in market page 2025-12-10 20:25:51 +01:00
1b45d23c66 fix: Wrap handleAddDomain in arrow function 2025-12-10 20:24:32 +01:00
d9ae011433 fix: Wrap Badge with span for className 2025-12-10 20:23:09 +01:00
f577d66f40 fix: Wrap icon with span for title 2025-12-10 20:21:45 +01:00
e5ce54cf3b fix: Remove valuation_formula 2025-12-10 20:20:18 +01:00
da319ecc38 fix: Add Bell import 2025-12-10 20:18:45 +01:00
09f27bef8a fix: Use correct addDomain method 2025-12-10 20:17:05 +01:00
a8629b8cdf fix: Quick fixes for TypeScript errors (selectable, request) 2025-12-10 20:14:13 +01:00
4cb5f42d90 docs: Complete documentation overhaul for v2.0
README.md - Full rewrite:
- New feature overview (Command Center, Marketplace, Alerts)
- Updated project structure with all new files/directories
- Complete server deployment guide
- Environment variables for all features
- API endpoint documentation for new routes
- UI component reference
- Troubleshooting guide

DATABASE_MIGRATIONS.md - Expanded:
- All 6 new tables with full SQL schemas
- Indexes for performance
- Environment variables (Moz API, Stripe)
- Verification queries
- Rollback instructions
- Scheduler job reference

Tables documented:
1. domain_listings (For Sale marketplace)
2. listing_inquiries (Buyer messages)
3. listing_views (Analytics)
4. sniper_alerts (Personalized alerts)
5. sniper_alert_matches (Matched auctions)
6. domain_seo_data (SEO cache for Tycoon)
2025-12-10 17:07:23 +01:00
8d5bd95147 fix: Multiple Command Center improvements
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.
2025-12-10 17:02:01 +01:00
4a0b230e1f fix: Add missing Search import to dashboard page 2025-12-10 16:54:11 +01:00
4eb0714542 fix: Remove duplicate ChevronDown import in PremiumTable 2025-12-10 16:53:02 +01:00
a653f98caf style: Improve Command Center header padding and hero section
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
2025-12-10 16:50:49 +01:00
c2062f6573 perf: Optimize all Command Center pages for performance
LAYOUT CONSISTENCY:
- Header and content now use same max-width (max-w-7xl)
- All pages use consistent PageContainer wrapper
- Unified spacing and padding

NEW REUSABLE COMPONENTS (PremiumTable.tsx):
- SearchInput: Consistent search box styling
- TabBar: Consistent tabs with counts and icons
- FilterBar: Flex container for filter rows
- SelectDropdown: Consistent dropdown styling
- ActionButton: Consistent button (primary/secondary/ghost)

PERFORMANCE OPTIMIZATIONS:

1. Watchlist Page:
   - useMemo for stats, filtered domains, columns
   - useCallback for all handlers
   - memo() for HealthReportModal

2. Auctions Page:
   - useMemo for tabs, sorted auctions
   - useCallback for handlers
   - Pure functions for calculations

3. TLD Pricing Page:
   - useMemo for filtered data, stats, columns
   - useCallback for data loading
   - memo() for Sparkline component

4. Portfolio Page:
   - useMemo for expiringSoonCount, subtitle
   - useCallback for all CRUD handlers
   - Uses new ActionButton

5. Alerts Page:
   - useMemo for stats
   - useCallback for all handlers
   - Uses new ActionButton

6. Marketplace/Listings Pages:
   - useMemo for filtered/sorted listings, stats
   - useCallback for data loading
   - Uses new components

7. Dashboard Page:
   - useMemo for computed values (greeting, subtitle, etc.)
   - useCallback for data loading

8. Settings Page:
   - Added TabBar import for future use
   - Added useCallback, useMemo imports

RESULT:
- Reduced unnecessary re-renders
- Memoized expensive calculations
- Consistent visual styling across all pages
- Better mobile responsiveness
2025-12-10 16:47:38 +01:00
249c82976d feat: Add reusable filter/search components for consistency
NEW COMPONENTS in PremiumTable.tsx:

1. SearchInput
   - Consistent search box styling across all pages
   - Left-aligned search icon
   - Clear button (X) when text entered
   - Props: value, onChange, placeholder, onClear

2. TabBar
   - Consistent tab styling with counts
   - Support for accent/warning/default colors
   - Optional icons
   - Wraps on mobile
   - Props: tabs[], activeTab, onChange

3. FilterBar
   - Simple flex container for filter rows
   - Responsive: stacks on mobile, row on desktop
   - Props: children

4. SelectDropdown
   - Consistent select styling
   - Custom chevron icon
   - Props: value, onChange, options[]

5. ActionButton
   - Consistent button styling
   - Variants: primary (accent), secondary (outlined), ghost
   - Sizes: default, small
   - Optional icon
   - Props: children, onClick, disabled, variant, size, icon

These components ensure visual consistency across all
Command Center pages for search, filtering, and actions.
2025-12-10 16:30:38 +01:00
a73d8d3897 refactor: Consistent max-width for Command Center header and content
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).
2025-12-10 16:29:28 +01:00
a41e28c420 fix: Seamless user journey for register/login/Stripe
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
2025-12-10 16:23:16 +01:00
bc8d9cc8a3 feat: Perfect onboarding journey after Stripe payment
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.
2025-12-10 16:17:29 +01:00
2f2a5218df fix: Remove serif font (font-display) from Command Center
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.
2025-12-10 16:10:37 +01:00
e0b53dd7fe fix: Smart 'Best' label + tooltips for TLD detail pages
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)
2025-12-10 16:00:34 +01:00
d8736eac88 refactor: TLD Detail pages - remove alerts, add all table data
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
2025-12-10 15:55:38 +01:00
64785e95ce fix: Make Public TLD Pricing table 1:1 identical to Command Center
CHANGES:
1. Sparkline: Now uses exact same SVG polyline implementation
   - Upward trend: orange polyline
   - Downward trend: accent polyline
   - Neutral: horizontal line

2. Risk Badge: Now shows dot + text label (like Command Center)
   - 'Stable', 'Renewal trap', etc. visible on desktop
   - Width changed from 80px → 130px

3. Actions column: Width changed from 40px → 80px

4. Pagination: Simplified to match Command Center styling
   - Removed icons from buttons
   - Uses tabular-nums for page counter

Both tables now render identically with same:
- Column widths
- Sparkline SVGs
- Risk badges with text
- Button styling
2025-12-10 15:47:12 +01:00
3c0d58f0d3 refactor: Rebuild TLD Pricing public page with PremiumTable
PUBLIC TLD PRICING PAGE:
- Replaced manual HTML table with PremiumTable component
- Now matches Command Center table exactly
- Same columns: TLD, Trend, Buy, Renew, 1y, 3y, Risk
- Consistent row hover effects and styling
- Simplified sparkline component
- Preview row for non-authenticated users (first row unblurred)
- Blurred data for other rows when not logged in

COMMAND TLD PRICING PAGE:
- Removed Bell icon and alert functionality from actions column
- Cleaned up unused imports (Bell, Link)
- Actions column now only shows ChevronRight arrow

CONSISTENCY ACHIEVED:
- Both tables use identical column structure
- Same renewal trap indicators
- Same risk level dots (no emojis)
- Same trend sparklines
- Same price formatting
2025-12-10 15:40:34 +01:00
bcb0afb7c5 fix: Dropdown menu opens upward + remove accent from StatCards
1. Portfolio dropdown menu:
   - Changed from 'top-full' to 'bottom-full'
   - Menu now opens upward to not get cut off by table

2. Removed green accent highlighting from StatCards:
   - Portfolio: Expiring Soon
   - Watchlist: Available
   - Auctions: Ending Soon
   - Marketplace: Verified Sellers
   - Alerts: Active Alerts
2025-12-10 15:31:53 +01:00
877e402df8 refactor: Simplify Portfolio page - remove unreliable data
SIMPLIFIED STATS:
- Removed: Total Invested, Est. Value, Profit/Loss
- Added: Expiring Soon (domains expiring in 30 days)
- Added: Need Attention (domains with health issues)
- Kept: Total Domains, Listed for Sale

SIMPLIFIED TABLE:
- Domain column: name + registrar
- Added column: simple date added
- Expires column: with color-coded expiry warnings (30d, expired)
- Health column: quick health status
- Actions: Three-dot dropdown menu

THREE-DOT MENU:
├── Health Check
├── Edit Details
├── ─────────────
├── List for Sale (accent color)
├── Visit Website
├── ─────────────
├── Record Sale
└── Remove (danger)

SIMPLIFIED SUBTITLE:
- Shows domain count + expiring soon count
- No more profit/loss display

This focuses on reliable, actionable data:
 Domain names (100% accurate)
 Expiry dates (user input)
 Health status (real-time check)
 Valuations (unreliable estimates)
 Profit/Loss (depends on estimates)
2025-12-10 15:27:50 +01:00
cb1f009dc3 fix: Health check API + Portfolio UX improvements
API FIX:
- quickHealthCheck now uses POST method (was GET)
- Fixes 'int_parsing' error for domain_id

PORTFOLIO UX:
1. Health Check now works correctly with POST /domains/health-check

2. Clear separation of List vs Sell:
   - 'List' button → Opens listing form (marketplace)
   - 'Sold?' button → Records completed sale (P&L tracking)

3. Improved Valuation Modal:
   - Shows 'Pounce Score Estimate' instead of just 'Estimated Value'
   - Color-coded confidence badge (high/medium/low)
   - Clear disclaimer about algorithmic estimate

4. Record Sale Modal:
   - Clear explanation of purpose (P&L tracking)
   - Hint to use 'List' button for marketplace

LISTINGS PAGE:
- Accepts ?domain= query parameter
- Auto-opens create modal with prefilled domain
- Seamless flow from Portfolio → List on Marketplace
2025-12-10 15:17:15 +01:00
05930ef441 feat: Add Health Monitoring to Portfolio page
PORTFOLIO HEALTH MONITORING:
- Added 'Health' column to portfolio table
- Health check button with SSL, DNS, HTTP analysis
- Full Health Report Modal with:
  - DNS Infrastructure (NS, A, MX records)
  - Website Status (reachable, HTTP status)
  - SSL Certificate (valid, expiry days)
  - Signals & Recommendations
- Uses quickHealthCheck API for any domain
- Status badges: Healthy, Weak, Parked, Critical

FEATURE STATUS CHECK:
 My Listings (/command/listings):
   - Create listings with domain verification
   - DNS-based verification
   - Public listing pages
   - Inquiry management

 Sniper Alerts (/command/alerts):
   - Custom filters (TLD, length, price, keywords)
   - No numbers/hyphens options
   - Email notification toggle
   - Test alert functionality
   - Match history

 SEO Juice (/command/seo):
   - Domain SEO analysis
   - Domain Authority, Backlinks
   - Notable links (Wikipedia, Gov, Edu)
   - Top backlinks list
   - Tycoon-only feature
2025-12-10 15:10:11 +01:00