"use client"; import { useAvatarOutfits } from "@/hooks/roblox/useAvatarOutfits"; import { Button } from "@/components/ui/button"; import { cn, proxyFetch } from "@/lib/utils"; import LazyLoadedImage from "../util/LazyLoadedImage"; import { StupidHoverThing } from "../util/MiscStuff"; import { loadThumbnails } from "@/lib/thumbnailLoader"; import { useCurrentAccount } from "@/hooks/roblox/useCurrentAccount"; import { useEffect } from "react"; type OutfitSelectorProps = { setVisible: (visible: boolean) => void; updateOutfit: ( outfit: { id: number }, acc: { id: number } ) => Promise; }; export function OutfitSelector({ setVisible, updateOutfit }: OutfitSelectorProps) { const outfits = useAvatarOutfits(); const acc = useCurrentAccount(); useEffect(() => { if (!outfits) return; loadThumbnails( outfits.map((a) => ({ type: "Outfit", targetId: a.id, format: "webp", size: "420x420" })) ).catch(() => {}); }, [acc, outfits]); if (!outfits || !acc) return null; return (
))}
); }