import { config } from "@/lib/config"; import { Card, CardHeader } from "@/components/ui/card"; import Image from "next/image"; import { getFollowerCounts } from "@/lib/followers"; import { LinkCard } from "@/components/LinkCard"; import { getRedisClient } from "@/lib/redis"; import { headers } from "next/headers"; import { Users } from "lucide-react"; import { Kbd } from "@/components/ui/kbd"; export default async function Home() { const counts = await getFollowerCounts(); const headersList = await headers(); const ip = headersList.get("x-forwarded-for") || headersList.get("x-real-ip") || "unknown"; let visitorCount = 0; try { const redis = await getRedisClient(); if (ip !== "unknown") { await redis.sadd("erika:unique_visitors", ip); } visitorCount = await redis.scard("erika:unique_visitors"); } catch (e) { console.error("Failed to track visitor:", e); } const jsonLd = { "@context": "https://schema.org", "@type": "ProfilePage", name: config.profile.name, description: config.profile.desc, url: "https://erika.sudloh.com", mainEntity: { "@type": "Person", name: config.profile.name, image: "https://erika.sudloh.com/avatar.webp", sameAs: config.links.map((l) => l.link), }, }; return (