- deal-dashboard: Overview stats, won/lost ratio, revenue forecast - deal-detail: Full deal with products, activities, participants, timeline - deal-grid: Sortable deal list with filters - pipeline-kanban: Drag-drop pipeline board - pipeline-analytics: Conversion rates, velocity, bottleneck analysis - pipeline-funnel: Visual funnel with stage metrics - person-detail: Contact card with deals, activities, files - person-grid: Contact directory with search - org-detail: Organization with people, deals, activities - org-grid: Organization directory - activity-dashboard: Activity calendar/list with completion tracking - activity-calendar: Monthly calendar view - lead-inbox: Lead list with labels and quick actions - product-catalog: Product list with pricing - goal-tracker: Goals with progress bars - revenue-dashboard: Revenue analytics, forecasting - email-inbox: Mail threads with preview - deals-timeline: Timeline of deal progression - search-results: Universal search - won-deals: Closed-won deals celebration view All apps use React with dark theme. Self-contained with inline shared components. Each app has App.tsx, index.html, and vite.config.ts. Ports 3000-3019 for dev servers.
32 lines
902 B
JavaScript
32 lines
902 B
JavaScript
#!/usr/bin/env node
|
|
|
|
/**
|
|
* Build script for React apps (placeholder)
|
|
*
|
|
* In a full implementation, this would:
|
|
* 1. Scan src/ui/react-app/ for app directories
|
|
* 2. Bundle each React app with Vite
|
|
* 3. Embed bundles as base64 in dist/apps.json
|
|
*
|
|
* For now, this is a placeholder to satisfy the build process.
|
|
*/
|
|
|
|
import { writeFileSync, mkdirSync } from 'fs';
|
|
import { dirname } from 'path';
|
|
import { fileURLToPath } from 'url';
|
|
|
|
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
const outputPath = `${__dirname}/../dist/apps.json`;
|
|
|
|
// Create dist directory if it doesn't exist
|
|
try {
|
|
mkdirSync(dirname(outputPath), { recursive: true });
|
|
} catch (err) {
|
|
// Directory already exists
|
|
}
|
|
|
|
// Write empty apps registry (will be populated when React apps are created)
|
|
writeFileSync(outputPath, JSON.stringify({ apps: [] }, null, 2));
|
|
|
|
console.log('Apps build complete (placeholder)');
|