"use client"; import { usePoll } from "@/lib/use-poll"; import type { JellyfinStatus } from "@/lib/types"; import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"; import { StatusBadge } from "./status-badge"; import { CardSkeleton } from "@/components/skeleton"; import { EmptyState } from "@/components/empty-state"; export function JellyfinCard() { const { data } = usePoll("/api/jellyfin/status", 30000); return ( Jellyfin {!data ? ( ) : ( <>

Now Playing

{data.active_sessions.length > 0 ? (
{data.active_sessions.map((s, i) => (

{s.title}

{s.user} · {s.device}

))}
) : ( "} title="Nothing playing" description="Start something on Jellyfin" /> )}

Libraries

{data.libraries.map((lib) => (
{lib.name}
))}
{data.idle_sessions > 0 && (

{data.idle_sessions} idle session {data.idle_sessions > 1 ? "s" : ""}

)} )} ); }