import { For, Show, createResource } from 'solid-js'; import AdminShell from '~/components/AdminShell'; const API = '/api/gateway'; async function fetchMetrics() { const res = await fetch(`${API}/api/admin/dashboard/metrics`); if (!res.ok) throw new Error('Failed to fetch dashboard metrics'); return res.json(); } const maxAmount = 80000; export default function AdminDashboard() { const [data] = createResource(fetchMetrics); const kpis = () => data()?.kpis || []; const trendSeries = () => data()?.trend_series?.map((d: any) => d.Freelancers) || [0, 0, 0, 0, 0, 0]; const revSeries = () => data()?.rev_series?.map((d: any) => d.Revenue) || [0, 0, 0, 0, 0, 0]; const leadRows = () => data()?.lead_rows || []; return (

Dashboard Overview

Welcome back! Here's what's happening with your platform today.

Loading metrics...
{(item: any) => (
{item.id === 'users' ? 'US' : item.id === 'companies' ? 'CP' : item.id === 'leads' ? 'LD' : 'CR'}
{item.trend}

{item.title}

{item.value}

{item.trendUp ? 'Increased from last month' : 'Decreased from last month'}

)}

Leads Trend

Monthly leads performance overview

{() =>
}
{(day) => {day}}

Revenue Overview

Monthly revenue vs expenses comparison

{() =>
}
{(value: number) => (
)}
{(week) => {week}}

Recent Leads

Latest customer inquiries and opportunities

{(row: any) => ( )}
Lead Title Customer Category Budget Status Date Action
{row.service} {row.client} {row.service} {row.value} {row.status} {row.date}
); }