"use client" import Image from "next/image" import { useEffect, useState } from "react" import CharacterCard from "../card/characterCard" import useLocaleStore from "@/stores/localeStore" import useAvatarStore from "@/stores/avatarStore" import { useTranslations } from "next-intl" export default function AvatarBar({ onClose }: { onClose?: () => void }) { const [listElement, setListElement] = useState>({ "fire": false, "ice": false, "imaginary": false, "physical": false, "quantum": false, "thunder": false, "wind": false }) const [listPath, setListPath] = useState>({ "knight": false, "mage": false, "priest": false, "rogue": false, "shaman": false, "warlock": false, "warrior": false, "memory": false }) const { listAvatar, setAvatarSelected, setSkillSelected, setFilter, filter } = useAvatarStore() const transI18n = useTranslations("DataPage") const { locale } = useLocaleStore() useEffect(() => { setFilter({ ...filter, locale: locale, element: Object.keys(listElement).filter((key) => listElement[key]), path: Object.keys(listPath).filter((key) => listPath[key]) }) // eslint-disable-next-line react-hooks/exhaustive-deps }, [locale, listElement, listPath]) return (
setFilter({ ...filter, name: e.target.value, locale: locale })} />
{Object.keys(listElement).map((key, index) => (
{ setListElement((prev) => ({ ...prev, [key]: !prev[key] })) }} className="hover:bg-gray-600 grid items-center justify-items-center cursor-pointer rounded-md shadow-lg" style={{ backgroundColor: listElement[key] ? "#374151" : "#6B7280" }}> {key}
))}
{Object.keys(listPath).map((key, index) => (
{ setListPath((prev) => ({ ...prev, [key]: !prev[key] })) }} className="hover:bg-gray-600 grid items-center justify-items-center rounded-md shadow-lg cursor-pointer" style={{ backgroundColor: listPath[key] ? "#374151" : "#6B7280" }} > {key}
))}
    {listAvatar.map((item, index) => (
    { setAvatarSelected(item); setSkillSelected(null) if (onClose) onClose() }}>
    ))}
) }