Spaces:
Running
Running
|
Download REDESIGN_PLAN.md from sitcod3/BRIDGE_Modul-S_prod: direct link, hf CLI and curl.
- Browser
- Download file 4.1 kB
-
https://huggingface.co/spaces/sitcod3/BRIDGE_Modul-S_prod/resolve/main/REDESIGN_PLAN.md
- Command line
-
hf download hf://spaces/sitcod3/BRIDGE_Modul-S_prod/REDESIGN_PLAN.md
-
curl -L -o REDESIGN_PLAN.md https://huggingface.co/spaces/sitcod3/BRIDGE_Modul-S_prod/resolve/main/REDESIGN_PLAN.md
4.1 kB
REDESIGN_PLAN.md
1. Current Structure
- Frontend: React 19, Vite, React Router DOM, Tailwind CSS (v4), Motion, React Query, React Hook Form, Zod.
- Backend: Express server (
server.ts) acting as a BFF proxy, serving API routes and Vite middleware in dev / static in production. - Routing: Client-side routing via React Router DOM.
- Data Fetching:
@tanstack/react-query&axios.
2. Rebuild Plan per Screen
- AI Dashboard (
/): Main AI chat interface. Implement SSE streaming for chat with typed events (message,ui_block). Render rich UI blocks (company_list,contact_list). Research progress overlay. - Campaigns (
/campaigns): List with status badges, cursor pagination, activate/pause actions, create modal. - Campaign Detail (
/campaigns/:id): Analytics charts, schedule editor, sending-status diagnostics. - Unibox (
/unibox, was/inbox): Two-pane thread list + thread view. Mobile-responsive stacking. - Account Health (
/accounts, was/email-accounts): Sending accounts status, warmup toggles, vitals tests. - CRM / Contacts (
/contacts, was/leads): Tabs (all / from_research / csv). Deep-link param parsing (?tab=from_research&job=<id>). - Reporting (
/reporting, was/analytics): Workspace-wide KPIs, date filtering, CSV export. - Settings (
/settings): Instantly connection panel (admin-only), webhook settings. - Auth (
/login): Login layout for short-lived JWT/sessions. - Notifications (
/notifications): Webhook-driven activity feed. - Admin (
/admin): Users & roles management, audit log table.
3. Component Guidelines
- Strict max ~20KB file size per component.
- Design Tokens: Defined in
index.cssvia Tailwind variables (dark-first, off-black, desaturated accent). - Typography: Unique font (will use Geist or similar, falling back to standard if unavailable, tabular-nums for metrics).
- Motion:
motion/reactfor AnimatePresence, staggered lists.
4. Migration Order
- Design Tokens & Shell: Update
index.css,index.html(app name, fonts),AppLayout.tsx. - Backend Proxy & Webhook Receiver: Enhance
server.tswith rate-limiting, backoff logic, and correct proxy endpoints for Instantly API v2. - Core API Client: Build
lib/instantly/client.tswith retries and jitter. - Screens Implementation:
Dashboard(SSE & UI blocks)Contacts(Fixing URL param & research filter bugs)Campaigns&CampaignDetailUniboxAccountsReportingSettingsAuth,Admin,Notifications
- Testing & QA: Responsive design, WCAG contrast, mock mode.
- Dockerizing & Polish: Update
Dockerfile,README.md.
5. Audit Bugs to Fix
- Wrong-column research filter: Filter on
research_job_id = 'lead-list:<jobId>'. - Missing polling interval: Use
refetchInterval: 5000in React Query for active research jobs. - Missing URL param support: Use
useSearchParamsto parse?tab=from_research&job=<id>and set initial state. - Missing SSE ui_block handler: Parse
ui_blockin SSE stream and render specific React components instead of text. - Missing "View results" link: Ensure overlay deep-links to
/contacts?tab=from_research&job=<id>. - Cache not invalidated: Call
queryClient.invalidateQuerieswhen research completes. - Monster components: Keep files modular (
<20KB). Split large widgets. - No error handling for polling: Add retry logic, timeout, and exponential backoff.
- Two repository variants: Unified here.
- Hardcoded magic strings: Extract to
src/constants/index.ts. - Missing error boundary: Create and wrap overlays in
<ErrorBoundary />. - Inconsistent query cache TTL: Centralize in
src/config/query.ts. - Console logs disabled: Use proper error tracking (mocked Sentry) and leave
console.error/warn. - Unused backup files: N/A in current clean state.
- Missing TypeScript strict flags: Verified
tsconfig.jsonhasstrictmode (will ensure strictNullChecks).