diff --git a/AppImage/components/system-logs.tsx b/AppImage/components/system-logs.tsx index 8bd9989..2d5fcb3 100644 --- a/AppImage/components/system-logs.tsx +++ b/AppImage/components/system-logs.tsx @@ -27,6 +27,7 @@ import { Menu, Terminal, CalendarDays, + Clock, } from "lucide-react" import { useState, useEffect } from "react" @@ -93,6 +94,7 @@ export function SystemLogs() { const [searchTerm, setSearchTerm] = useState("") const [levelFilter, setLevelFilter] = useState("all") const [serviceFilter, setServiceFilter] = useState("all") + const [timeRange, setTimeRange] = useState("1") // Default 1 minute for fast loading const [activeTab, setActiveTab] = useState("logs") const [selectedLog, setSelectedLog] = useState(null) @@ -115,7 +117,7 @@ export function SystemLogs() { useEffect(() => { fetchAllData() - }, []) + }, [timeRange]) // Re-fetch when time range changes const fetchAllData = async () => { try { @@ -155,7 +157,7 @@ export function SystemLogs() { const fetchSystemLogs = async (): Promise => { try { - const apiUrl = getApiUrl("/api/logs") + const apiUrl = getApiUrl(`/api/logs?minutes=${timeRange}`) const response = await fetch(apiUrl, { method: "GET", @@ -294,6 +296,20 @@ export function SystemLogs() { } } + const getNotificationTypeColor = (type: string) => { + const lowerType = type.toLowerCase() + if (lowerType.includes("error") || lowerType.includes("critical") || lowerType.includes("alert")) { + return "bg-red-500/10 text-red-500 border-red-500/20" + } else if (lowerType.includes("warning") || lowerType.includes("warn")) { + return "bg-yellow-500/10 text-yellow-500 border-yellow-500/20" + } else if (lowerType.includes("success") || lowerType.includes("ok")) { + return "bg-green-500/10 text-green-500 border-green-500/20" + } else if (lowerType.includes("info")) { + return "bg-blue-500/10 text-blue-500 border-blue-500/20" + } + return "bg-gray-500/10 text-gray-500 border-gray-500/20" + } + const logCounts = { total: logs.length, error: logs.filter((log) => ["error", "critical", "emergency", "alert"].includes(log.level)).length, @@ -552,6 +568,22 @@ export function SystemLogs() { + +