'use client' import { useEffect, useState } from 'react' import { Card } from '@/components/ui/card' import { getConfig } from '@/lib/config' import { Badge } from '@/components/ui/badge' export function SystemInfo() { const [config, setConfig] = useState<{ version: string latestVersion?: string | null hasUpdate?: boolean } | null>(null) const [isLoading, setIsLoading] = useState(true) useEffect(() => { const loadConfig = async () => { try { const cfg = await getConfig() setConfig(cfg) } catch (error) { console.error('Failed to load config:', error) } finally { setIsLoading(false) } } loadConfig() }, []) if (isLoading) { return (

System Information

Loading...
) } return (

System Information

{/* Current Version */}
Current Version {config?.version || 'Unknown'}
{/* Latest Version */} {config?.latestVersion && (
Latest Version {config.latestVersion}
)} {/* Update Status */}
Status {config?.hasUpdate ? ( Update Available ) : config?.latestVersion ? ( Up to Date ) : ( Unknown )}
{/* GitHub Repository Link */} {config?.hasUpdate && (
View on GitHub
)} {/* Version Check Failed Message */} {!config?.latestVersion && config?.version && (
Unable to check for updates. GitHub may be unreachable.
)}
) }