"use client"; import { Tooltip, TooltipContent, TooltipTrigger, } from "@/components/ui/tooltip"; import type { OnlineServer, ServerResponse } from "@/lib/types/mh-server"; import { cn } from "@/lib/utils"; import { useState, useEffect } from "react"; export default function IconDisplay(props: { server: OnlineServer | ServerResponse; className?: string; }) { return ( {props.server.icon != null ? props.server.icon.toLowerCase() : "oak_sign"} {props.server.icon == null && ( (this is the icon that loads in the lobby, the icon has not been picked) )} ); } export function IconDisplayClient(props: { server: string }) { const [icon, setIcon] = useState(""); useEffect(() => { fetch(`https://api.minehut.com/server/${props.server}?byName=true`).then( (b) => b.json().then((c) => setIcon(c.server.icon)) ); }, [props.server]); return ( <> {icon !== "" && ( {icon != null ? icon.toLowerCase() : "oak_sign"} {icon == null && (default icon)} )} > ); }