- Add stunning landing page with hero, features, and CTA sections - Update login/signup pages with dark theme and brand gradients - Enhance Sidebar with improved navigation and brand colors - Update AppHeader with search bar, notifications, and user menu - Add reusable UI components (Button, Card, Input, Badge) - Add API health and status endpoints - Apply official BlackRoad brand colors (#FF1D6C hot pink, #F5A623 amber, #2979FF electric blue, #9C27B0 violet) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
43 lines
1.1 KiB
TypeScript
43 lines
1.1 KiB
TypeScript
import { NextResponse } from 'next/server';
|
|
|
|
export const runtime = 'edge';
|
|
|
|
interface ServiceStatus {
|
|
name: string;
|
|
status: 'operational' | 'degraded' | 'down';
|
|
latency?: number;
|
|
}
|
|
|
|
export async function GET() {
|
|
const services: ServiceStatus[] = [
|
|
{ name: 'api', status: 'operational', latency: 12 },
|
|
{ name: 'database', status: 'operational', latency: 8 },
|
|
{ name: 'auth', status: 'operational', latency: 15 },
|
|
{ name: 'agents', status: 'operational', latency: 45 },
|
|
{ name: 'monitoring', status: 'operational', latency: 22 },
|
|
];
|
|
|
|
const overallStatus = services.every((s) => s.status === 'operational')
|
|
? 'operational'
|
|
: services.some((s) => s.status === 'down')
|
|
? 'major_outage'
|
|
: 'partial_outage';
|
|
|
|
const response = {
|
|
status: overallStatus,
|
|
services,
|
|
timestamp: new Date().toISOString(),
|
|
page: {
|
|
name: 'BlackRoad OS',
|
|
url: 'https://status.blackroad.io',
|
|
},
|
|
};
|
|
|
|
return NextResponse.json(response, {
|
|
status: 200,
|
|
headers: {
|
|
'Cache-Control': 'public, s-maxage=60, stale-while-revalidate=30',
|
|
},
|
|
});
|
|
}
|