@@ -204,6 +262,12 @@ function ServiceSection({ title, services }: { title: string, services: ServiceC
{services.map((service) => {
+ const serviceMetrics = metrics[service.monitorName || service.name] || {
+ status: 'pending',
+ responseTime: 0,
+ certDaysRemaining: 0
+ }
+
// Get background color based on service
const bgColor = (() => {
switch (service.name) {
@@ -283,9 +347,16 @@ function ServiceSection({ title, services }: { title: string, services: ServiceC
className="transition-transform hover:scale-105"
>
-
- {service.icon}
- {service.name}
+
+
+
{service.icon}
+
{service.name}
+
+
{service.description}
@@ -300,6 +371,7 @@ function ServiceSection({ title, services }: { title: string, services: ServiceC
}
function App() {
+ const { metrics, loading, error } = useMetrics(import.meta.env.VITE_UPTIME_API_KEY)
const systemServices = services.filter(s => s.category === 'system')
const mediaServices = services.filter(s => s.category === 'media')
const monitoringServices = services.filter(s => s.category === 'monitoring')
@@ -313,12 +385,12 @@ function App() {
Kent.pw Homepage
-
-
-
-
-
-
+
+
+
+
+
+
)
}
diff --git a/src/components/ui/tooltip.tsx b/src/components/ui/tooltip.tsx
new file mode 100644
index 0000000..218d183
--- /dev/null
+++ b/src/components/ui/tooltip.tsx
@@ -0,0 +1,30 @@
+import * as React from "react"
+import * as TooltipPrimitive from "@radix-ui/react-tooltip"
+
+import { cn } from "@/lib/utils"
+
+const TooltipProvider = TooltipPrimitive.Provider
+
+const Tooltip = TooltipPrimitive.Root
+
+const TooltipTrigger = TooltipPrimitive.Trigger
+
+const TooltipContent = React.forwardRef<
+ React.ElementRef