"use client" import Link from "next/link"; import { SiForgejo, SiJellyfin, SiOllama, SiVaultwarden } from "react-icons/si"; import { TbMail, TbKey, TbServer, TbArrowRight, TbTool } from "react-icons/tb"; import { Nav } from "@/components/core/nav"; import { useEffect, useState } from "react"; interface Service { id: string; name: string; description: string; priceStatus: string; joinLink?: string; enabled: boolean; } const getServiceIcon = (serviceName: string) => { switch (serviceName.toLowerCase()) { case 'git': return SiForgejo; case 'tv': return SiJellyfin; case 'ai': return SiOllama; case 'mail': case 'email': return TbMail; case 'hosting': return TbServer; case 'pass': return SiVaultwarden; case 'keybox': return TbKey; default: return TbTool; } }; export default function Home() { const [services, setServices] = useState([]); const [loading, setLoading] = useState(true); useEffect(() => { fetchServices(); }, []); const fetchServices = async () => { try { const response = await fetch("/api/services"); if (response.ok) { const data = await response.json(); setServices(data.services.slice(0, 6)); } } catch (error) { console.error("Error fetching services:", error); } finally { setLoading(false); } }; return (
); }