import { useContext } from "react";
import { AvatarContext, AvatarInformation } from "./AvatarProvider";

export function useAvatars(publicKey: string, allDecode: boolean = false) : AvatarInformation[] {
    const context : any = useContext(AvatarContext);
    if(!context){
        throw new Error("useAvatars must be used within an AvatarProvider");
    }
    /**
     * Load avatar to cache
     */
    context.loadAvatarsFromCacheByPublicKey(publicKey, allDecode);

    return context.decodedAvatarsCache.find((entry: any) => entry.publicKey === publicKey)?.avatars || [];
}