import{b as a,h as y,u as h}from"./vendor-q1sfVHxQ.js";import{u as S}from"./useQuery-pLogcDCk.js";import{aI as b,i as l}from"./index-BB3C6ia3.js";import{u as B}from"./useMutation-BVMH2cjZ.js";import{a as u,b as c}from"./brand-info.qk-CXZBUvFx.js";const v=()=>{const[d,s]=a.useState(!1),o=y(),n=h(),g=b(),{data:t=new Set}=S({queryKey:u.likeBrands(),queryFn:c.getLikeBrands,enabled:l(),select:e=>new Set(e.map(i=>i.displayBrandNo))}),{mutate:r,isPending:m}=B({mutationFn:({brandNo:e,likeYn:i})=>c.toggleLikeBrand(e,i),onSettled:()=>{g.invalidateQueries({queryKey:u.likeBrands()})}}),f=a.useCallback(e=>!!e&&t.has(e),[t]),k=a.useCallback(e=>{if(e){if(!l()){s(!0);return}r({brandNo:e,likeYn:t.has(e)?"N":"Y"})}},[t,r]),p=a.useCallback(()=>{s(!1)},[]),L=a.useCallback(()=>{const e=`${n.pathname??""}${n.search??""}`;s(!1),o("/sign-in",{state:{from:e||"/"}})},[o,n]);return{isLiked:f,toggleLike:k,isToggling:m,showLoginModal:d,closeLoginModal:p,confirmLogin:L}};export{v as u};