Updated plan file

Edited UI in Lovable
This commit is contained in:
gpt-engineer-app[bot]
2026-02-03 07:38:01 +00:00
parent b331aa1a7d
commit 0ce30e6ee8

216
.lovable/plan.md Normal file
View File

@@ -0,0 +1,216 @@
# Eventify Backoffice - Implementation Plan
## Overview
A beautiful admin command center using the **Neumorphic Blue Theme** design system with React + Vite, featuring a full navigation shell with dashboard home and placeholder pages for all modules.
---
## 1. Design System Foundation
### Tailwind Configuration
- Extend `tailwind.config.ts` with custom neumorphic shadows:
- `shadow-neu` - Raised elements (cards, buttons)
- `shadow-neu-inset` - Pressed/input fields
- `shadow-neu-hover` - Elevated hover states
- `shadow-neu-flat` - Subtle depth
- Add custom colors: `neu-base`, `neu-surface`, `neu-raised`, `neu-inset`
- Configure Deep Blue, Royal Blue, Ocean Blue, Sky Blue, Ice Blue palette
---
## 2. Core Layout Components
### AppLayout (Shell)
- **Fixed Sidebar** (264px width):
- Eventify logo and "BACKOFFICE" label
- Navigation items with neumorphic buttons:
- Dashboard (Home icon)
- Partner Management (Users icon)
- Events (Calendar icon)
- Users (User icon)
- Financials (DollarSign icon)
- Settings (Settings icon)
- Active state with Royal Blue background
- Hover effects with `shadow-neu-hover`
### Top Bar
- Page title with description
- Global search input (neumorphic inset style)
- Notification bell (neumorphic icon button with badge)
- Admin profile avatar with dropdown
---
## 3. Dashboard Home Page
### Metrics Grid (4 cards in responsive grid)
Using the reusable **DashboardMetricCard** component:
1. **Total Platform Revenue**
- Value: ₹24,50,000
- Growth indicator: +12.5% MoM
- Icon: TrendingUp (green)
2. **Active Partners**
- Value: 156
- Subtitle: 12 pending approval
- Icon: Users
3. **Live Events**
- Value: 43
- Subtitle: 8 starting today
- Icon: Calendar
4. **Ticket Sales Volume**
- Value: 12,847
- Growth indicator: +8.3% this week
- Icon: Ticket
### Action Items Section (Priority Queue)
Neumorphic card containing urgent items from Partner Controls:
- **Partner Approval Queue**: "5 Partners awaiting KYC verification" → Link to review
- **Flagged Events**: "3 Events reported for review" → Link to moderation
- **Pending Payouts**: "₹8,45,000 ready for release" → Link to financials
- **Stripe Issues**: "2 Connected accounts need attention" → Link to fix
Each item shows count badge, description, and action button.
### Revenue Analytics Section
- **Revenue vs Payouts Chart** placeholder
- Static SVG bar chart visualization
- Legend: Platform Revenue (blue) vs Partner Payouts (green)
- Time period: Last 7 days
### Recent Activity Feed
- Compact list showing latest platform activities
- Examples: "New partner registered", "Event approved", "Payout completed"
- Timestamps and status indicators
---
## 4. Navigation Pages (Placeholders)
Each page will have:
- Consistent top bar with title
- "Coming Soon" neumorphic card
- Relevant icon and brief description
### Partner Management
- Placeholder with stats preview
- Quick access buttons for KYC queue
### Events
- Placeholder with calendar icon
- Event count summary
### Users
- Placeholder with user stats
### Financials
- Placeholder with revenue summary
### Settings
- Placeholder with configuration options
---
## 5. Reusable Components
### DashboardMetricCard
- Accepts: `title`, `value`, `subtitle`, `icon`, `trend`
- Neumorphic styling with icon container
- Hover elevation effect
### ActionItemCard
- Accepts: `title`, `count`, `description`, `actionLabel`, `href`
- Warning/attention styling
- Badge with count
### NeuButton (Primary/Secondary/Icon variants)
- Primary: Blue background with white text
- Secondary: Neumorphic surface with blue text
- Icon: Square neumorphic button
### NeuInput
- Inset shadow styling
- Focus ring animation
- Label support
---
## 6. API-Ready Architecture
### Data Interfaces
All components will use TypeScript interfaces ready for API integration:
```typescript
interface DashboardMetrics {
totalRevenue: number;
revenueGrowth: number;
activePartners: number;
pendingPartners: number;
liveEvents: number;
eventsToday: number;
ticketSales: number;
ticketGrowth: number;
}
interface ActionItem {
id: string;
type: 'kyc' | 'flagged' | 'payout' | 'stripe';
count: number;
description: string;
}
```
### Hooks Structure
- `useDashboardMetrics()` - Ready to fetch from API
- `useActionItems()` - Ready to fetch pending actions
- Static mock data initially, easily replaceable
---
## 7. File Structure
```
src/
├── components/
│ ├── layout/
│ │ ├── AppLayout.tsx # Main shell with sidebar
│ │ ├── Sidebar.tsx # Navigation sidebar
│ │ └── TopBar.tsx # Header with search/profile
│ ├── dashboard/
│ │ ├── DashboardMetricCard.tsx
│ │ ├── ActionItemsPanel.tsx
│ │ └── RevenueChart.tsx
│ └── ui/
│ ├── NeuButton.tsx
│ └── NeuInput.tsx
├── pages/
│ ├── Dashboard.tsx # Main dashboard
│ ├── Partners.tsx # Partner management
│ ├── Events.tsx # Events management
│ ├── Users.tsx # User management
│ ├── Financials.tsx # Financial overview
│ └── Settings.tsx # Platform settings
├── types/
│ └── dashboard.ts # TypeScript interfaces
└── data/
└── mockData.ts # Static demo data
```
---
## Visual Design Summary
- **Background**: `#E8EFF8` (neu-base) - Soft blue-gray
- **Cards**: `#DFE9F5` (neu-surface) with `shadow-neu`
- **Text**: `#0F1E3D` (Deep Blue) primary
- **Accents**: `#1E3A8A` (Royal Blue) for active states
- **Interactive**: `#3B82F6` (Ocean Blue) for links/buttons
- **Rounded corners**: `rounded-xl` (12px) and `rounded-2xl` (16px)
- **Smooth transitions**: All interactive elements animate on hover/press