learning_ai_common_plat/dashboards/ux-lab/lovable-notify-states-kit/PROMPT.md

2.9 KiB

Lovable — Notifications + UI States Kit

GitHub repo: saravanakumardb/temp_lovable-notify-states-kit

Push Instructions

  • Push directly to main — do NOT open a PR
  • Only modify files in this repo

Rules

  • No console.log
  • No network calls — mock data / localStorage only
  • No hardcoded colors — no hex, no rgb/rgba/hsl, no bg-[#123456] Tailwind classes
  • Do NOT commit .env*, .next/, node_modules/, .vercel/
  • pnpm only
  • pnpm run check must pass (tsc --noEmit + eslint)
  • pnpm run build must pass (next build --webpack)

CSS Token Contract

Define in src/app/globals.css under :root (add .dark override):

  • --ux-bg — page background
  • --ux-surface — card/panel surface
  • --ux-surface-2 — elevated surface
  • --ux-border — borders
  • --ux-text — primary text
  • --ux-text-muted — secondary text
  • --ux-accent — primary accent
  • --ux-accent-foreground — text on accent
  • --ux-danger — destructive/error
  • --ux-warning — warning
  • --ux-success — success
  • --ux-ring — focus ring
  • --ux-shadow — shadows

Use only via Tailwind: bg-[var(--ux-surface)], text-[var(--ux-text)], border-[var(--ux-border)]

Component Architecture

  • Reusable components → src/components/
  • Pages in src/app/** compose components only
  • Components must NOT import from src/app/**

Stack

  • Next.js 16 App Router, React 19, TypeScript strict
  • TailwindCSS v4, pnpm

Goal

Build a UI/UX-rich Notifications + UI States Kit reusable across dashboards/admin-web, dashboards/tracker-web, and product web dashboards. Design-led: prioritize interaction polish, spacing, typography, accessibility.

Pages

  • / overview landing + links
  • /toasts toast system demos
  • /banners inline banner demos
  • /states loading/empty/error patterns
  • /dialogs confirm dialog patterns
  • /forms validation + helper text patterns

App Shell

Left sidebar nav, top bar: theme toggle, "Shortcuts" button

Toast System

  • Variants: info, success, warning, error
  • Title + optional description, optional action button (Undo), optional progress bar
  • Stacking/queue (max visible + overflow count)
  • Dismiss: close button, timeout
  • Position demo: top-right, bottom-right, bottom-center
  • ARIA live region (polite info/success, assertive error); toasts must not steal focus

Banners

Inline page-level banners: info/success/warn/error variants, optional Retry action, dismissible

Skeleton primitives (text, avatar, card), EmptyState (icon + title + CTA), ErrorState (retry + copy JSON) Demos: table loading, card grid loading, detail drawer loading

Dialogs

Destructive confirm, non-destructive confirm — focus trap + Esc close

Forms

Required fields + inline errors, disabled state, helper text, success state

Verification

pnpm install && pnpm run check && pnpm run build