"use client"; import { Spinner } from "@/components/ui/spinner"; import { useServers } from "@/lib/hooks/use-servers"; import ServerCard from "./server-card"; import { Separator } from "@/components/ui/separator"; import { Statistics } from "./statistics"; import InfiniteScroll from "react-infinite-scroll-component"; import { useInfiniteScrolling } from "@/lib/hooks/use-infinite-scrolling"; import { useEffect, useState } from "react"; import MiniMessage from "minimessage-js"; export function ServerList() { const { servers, loading, serverCount, playerCount } = useServers(); const { itemsLength, fetchMoreData, hasMoreData, data } = useInfiniteScrolling(servers); const [motdList, setMotdList] = useState<{ name: string; motd: string }[]>( [] ); useEffect(() => { const result: Array<{ name: string; motd: string }> = []; const mm = MiniMessage.miniMessage(); servers.forEach((c) => { try { result.push({ name: c.name, motd: mm.toHTML(mm.deserialize(c.motd)), }); } catch (e) { console.log(e); } }); setMotdList(result); }, [servers]); if (loading) return (
); return (

Statistics

Servers

} >
{data.map((c) => ( x.name === c.name)?.motd} /> ))}
); }