foundary-test-1770684712/apps/studio-ui/src/App.tsx
jordan 51a0f09d17
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
Add components: app-react/studio-ui, service/studio-api
2026-02-10 01:23:53 +00:00

114 lines
3.2 KiB
TypeScript

import { DashboardShell, Sidebar, Header, type NavItem } from '@foundary-test-1770684712/layout';
import {
Button,
Card,
CardHeader,
CardTitle,
CardDescription,
CardContent,
Badge,
Home,
Users,
Settings,
BarChart3,
} from '@foundary-test-1770684712/ui';
const navItems: NavItem[] = [
{ label: 'Dashboard', href: '/', icon: Home, active: true },
{ label: 'Analytics', href: '/analytics', icon: BarChart3 },
{ label: 'Users', href: '/users', icon: Users, badge: '12' },
{ label: 'Settings', href: '/settings', icon: Settings },
];
function App() {
return (
<DashboardShell
sidebar={
<Sidebar
logo={
<span className="font-semibold text-lg">foundary-test-1770684712</span>
}
items={navItems}
footer={
<div className="text-sm text-[var(--text-muted)]">
v0.0.1
</div>
}
/>
}
header={
<Header
title="Dashboard"
showSearch
searchPlaceholder="Search..."
/>
}
>
<div className="space-y-6">
{/* Welcome card */}
<Card>
<CardHeader>
<CardTitle>Welcome to studio-ui</CardTitle>
<CardDescription>
This is part of the{' '}
<code className="bg-[var(--surface-200)] px-1.5 py-0.5 rounded text-sm">
foundary-test-1770684712
</code>{' '}
monorepo, using the shared UI library and layout components.
</CardDescription>
</CardHeader>
<CardContent>
<div className="flex gap-3">
<Button>Get Started</Button>
<Button variant="outline">Documentation</Button>
</div>
</CardContent>
</Card>
{/* Stats cards */}
<div className="grid grid-cols-1 md:grid-cols-3 gap-4">
<Card>
<CardHeader className="pb-2">
<CardDescription>Total Users</CardDescription>
<CardTitle className="text-3xl">1,234</CardTitle>
</CardHeader>
<CardContent>
<Badge variant="success">+12% from last month</Badge>
</CardContent>
</Card>
<Card>
<CardHeader className="pb-2">
<CardDescription>Active Sessions</CardDescription>
<CardTitle className="text-3xl">567</CardTitle>
</CardHeader>
<CardContent>
<Badge variant="info">Live</Badge>
</CardContent>
</Card>
<Card>
<CardHeader className="pb-2">
<CardDescription>API Requests</CardDescription>
<CardTitle className="text-3xl">89.2k</CardTitle>
</CardHeader>
<CardContent>
<Badge variant="warning">High traffic</Badge>
</CardContent>
</Card>
</div>
{/* Edit hint */}
<p className="text-sm text-[var(--text-muted)]">
Edit this file at{' '}
<code className="bg-[var(--surface-200)] px-1.5 py-0.5 rounded">
apps/studio-ui/src/App.tsx
</code>
</p>
</div>
</DashboardShell>
);
}
export default App;