import{g as o,i as l,u as g,s as f}from"./savedVenues-CqTNNALH.js";const a="saved",u="plec_wishlists";function c(){if(typeof window>"u")return[];try{const t=localStorage.getItem(u);if(!t)return[];const e=JSON.parse(t);return Array.isArray(e)?e:[]}catch{return[]}}function d(t){if(!(typeof window>"u"))try{localStorage.setItem(u,JSON.stringify(t)),window.dispatchEvent(new CustomEvent("savedVenuesChanged"))}catch(e){console.warn("Failed to persist wishlists",e)}}function m(){return`wl_${Date.now()}_${Math.random().toString(36).slice(2,9)}`}async function h(){const t=[];try{const s=await o(),n=s[0],i=(n==null?void 0:n.imageUrl)??(n==null?void 0:n.image);t.push({id:a,name:"Saved",itemCount:s.length,coverImageUrl:i,isDefault:!0})}catch{t.push({id:a,name:"Saved",itemCount:0,isDefault:!0})}const e=c();for(const s of e)t.push({id:s.id,name:s.name,itemCount:s.listingIds.length,coverImageUrl:s.coverImageUrl,isDefault:!1});return t}async function I(t){const e=[];try{await l(t)&&e.push(a)}catch{}const s=c();for(const n of s)n.listingIds.includes(t)&&e.push(n.id);return e}async function w(t,e,s){if(t===a){await f(e),window.dispatchEvent(new CustomEvent("savedVenuesChanged"));return}const n=c(),i=n.find(r=>r.id===t);i&&(i.listingIds.includes(e)||(i.listingIds.push(e),s!=null&&s.coverImageUrl&&!i.coverImageUrl&&(i.coverImageUrl=s.coverImageUrl),d(n)))}async function S(t,e){if(t===a){await g(e),window.dispatchEvent(new CustomEvent("savedVenuesChanged"));return}const s=c(),n=s.find(i=>i.id===t);n&&(n.listingIds=n.listingIds.filter(i=>i!==e),n.listingIds.length===0&&(n.coverImageUrl=void 0),d(s))}async function y(t,e){const s=c(),n=m(),i=e!=null&&e.addListingId?[e.addListingId]:[],r={id:n,name:t.trim()||"New wishlist",listingIds:i,createdAt:new Date().toISOString(),coverImageUrl:e==null?void 0:e.coverImageUrl};return s.push(r),d(s),{id:n,name:r.name,itemCount:r.listingIds.length,coverImageUrl:r.coverImageUrl,isDefault:!1}}function U(t){if(t===a)return[];const e=c().find(s=>s.id===t);return(e==null?void 0:e.listingIds)??[]}export{a as D,h as a,w as b,y as c,U as d,I as g,S as r};