| import { Card, CardHeader, CardTitle, CardContent } from '@/components/ui/card' | |
| import { Label } from '@/components/ui/label' | |
| import { Badge } from '@/components/ui/badge' | |
| import { | |
| Settings as SettingsIcon, | |
| Server, | |
| Shield, | |
| Info | |
| } from 'lucide-react' | |
| export function Settings() { | |
| return ( | |
| <div className="min-h-screen bg-background"> | |
| {/* Header */} | |
| <div className="border-b bg-background/95 backdrop-blur supports-[backdrop-filter]:bg-background/60"> | |
| <div className="max-w-6xl mx-auto p-6"> | |
| <div className="flex items-center justify-between"> | |
| <div className="flex items-center gap-3"> | |
| <div className="w-8 h-8 bg-gray-600 rounded-lg flex items-center justify-center"> | |
| <SettingsIcon className="h-5 w-5 text-white" /> | |
| </div> | |
| <div> | |
| <h1 className="text-2xl font-bold">Settings</h1> | |
| <p className="text-sm text-muted-foreground"> | |
| Configure your application preferences and system settings | |
| </p> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div className="flex-1 p-6"> | |
| <div className="max-w-6xl mx-auto space-y-6"> | |
| {/* Server Settings */} | |
| <Card> | |
| <CardHeader> | |
| <CardTitle className="flex items-center gap-2"> | |
| <Server className="h-5 w-5" /> | |
| Server Configuration | |
| </CardTitle> | |
| </CardHeader> | |
| <CardContent className="space-y-4"> | |
| <div className="grid grid-cols-1 md:grid-cols-2 gap-4"> | |
| <div> | |
| <Label className="text-sm font-medium">Backend URL</Label> | |
| <div className="mt-1 p-2 bg-muted rounded-md text-sm font-mono"> | |
| {window.location.origin} | |
| </div> | |
| </div> | |
| <div> | |
| <Label className="text-sm font-medium">Frontend URL</Label> | |
| <div className="mt-1 p-2 bg-muted rounded-md text-sm font-mono"> | |
| {window.location.origin} | |
| </div> | |
| </div> | |
| </div> | |
| </CardContent> | |
| </Card> | |
| {/* Privacy & Security */} | |
| <Card> | |
| <CardHeader> | |
| <CardTitle className="flex items-center gap-2"> | |
| <Shield className="h-5 w-5" /> | |
| Privacy & Security | |
| </CardTitle> | |
| </CardHeader> | |
| <CardContent className="space-y-4"> | |
| <div className="p-3 bg-green-50 border border-green-200 rounded-md"> | |
| <div className="flex items-center gap-2 mb-2"> | |
| <Shield className="h-4 w-4 text-green-600" /> | |
| <span className="text-sm font-medium text-green-800">Local Processing</span> | |
| </div> | |
| <p className="text-xs text-green-700"> | |
| All AI processing happens locally on your machine. No data is sent to external servers. | |
| </p> | |
| </div> | |
| </CardContent> | |
| </Card> | |
| {/* System Information */} | |
| <Card> | |
| <CardHeader> | |
| <CardTitle className="flex items-center gap-2"> | |
| <Info className="h-5 w-5" /> | |
| System Information | |
| </CardTitle> | |
| </CardHeader> | |
| <CardContent className="space-y-4"> | |
| <div className="grid grid-cols-1 md:grid-cols-2 gap-4"> | |
| <div> | |
| <Label className="text-sm font-medium">Platform</Label> | |
| <div className="mt-1 flex items-center gap-2"> | |
| <Badge variant="outline">Local</Badge> | |
| <span className="text-sm text-muted-foreground">Privacy-focused AI</span> | |
| </div> | |
| </div> | |
| <div> | |
| <Label className="text-sm font-medium">Status</Label> | |
| <div className="mt-1"> | |
| <Badge variant="outline">Running</Badge> | |
| </div> | |
| </div> | |
| </div> | |
| </CardContent> | |
| </Card> | |
| </div> | |
| </div> | |
| </div> | |
| ) | |
| } | |