feat: Complete Command Center redesign + fix notify API
Some checks failed
CI / Frontend Lint & Type Check (push) Has been cancelled
CI / Frontend Build (push) Has been cancelled
CI / Backend Lint (push) Has been cancelled
CI / Backend Tests (push) Has been cancelled
CI / Docker Build (push) Has been cancelled
CI / Security Scan (push) Has been cancelled
Deploy / Build & Push Images (push) Has been cancelled
Deploy / Deploy to Server (push) Has been cancelled
Deploy / Notify (push) Has been cancelled

DASHBOARD REDESIGN (Award-winning UI):
- New hero section with gradient icon and tier badge
- Modern stats grid with gradient backgrounds
- Redesigned domain cards with improved spacing
- Better visual hierarchy and typography
- Smooth animations and transitions
- Quick links section at bottom
- Redesigned all modals with rounded corners
- Better color system for ROI indicators
- Improved mobile responsiveness

API FIX:
- Fixed PATCH /domains/{id}/notify endpoint
- Now accepts body with 'notify' field instead of query param
- Resolves 422 Unprocessable Entity error

UI IMPROVEMENTS:
- Added BellOff icon for disabled notifications
- Better loading states with descriptive text
- Improved empty states with larger icons
- Gradient backgrounds for positive/negative values
- Better button hover states
This commit is contained in:
yves.gugger
2025-12-09 09:13:51 +01:00
parent 2214d65f15
commit b2c773b94c
2 changed files with 509 additions and 383 deletions

View File

@ -3,6 +3,7 @@ from datetime import datetime
from math import ceil
from fastapi import APIRouter, HTTPException, status, Query
from pydantic import BaseModel
from sqlalchemy import select, func
from app.api.deps import Database, CurrentUser
@ -212,10 +213,15 @@ async def refresh_domain(
return domain
class NotifyUpdate(BaseModel):
"""Schema for updating notification settings."""
notify: bool
@router.patch("/{domain_id}/notify", response_model=DomainResponse)
async def update_notification_settings(
domain_id: int,
notify_on_available: bool,
data: NotifyUpdate,
current_user: CurrentUser,
db: Database,
):
@ -234,7 +240,7 @@ async def update_notification_settings(
detail="Domain not found",
)
domain.notify_on_available = notify_on_available
domain.notify_on_available = data.notify
await db.commit()
await db.refresh(domain)

File diff suppressed because it is too large Load Diff