1import{I as l}from"./index.js";const i="dinesurf:campaign-audience";function c(){try{return JSON.parse(sessionStorage.getItem(i)||"null")}catch{return null}}const g=l("guestbook",{state:()=>({isLoading:!1,selectedAll:!1,filters:{},tags:[],guestList:[],pageData:{current_page:1,total:0,per_page:10},selectedGuestsStats:{total:0,withEmail:0,withPhone:0},campaignAudience:c(),campaignSeed:null}),getters:{selected:t=>t.guestList.filter(e=>e.selected),selectedIds:t=>t.guestList.filter(e=>e.selected).map(e=>e.id)},actions:{setFilters(t){this.$patch({filters:t})},setCampaignAudience(){const t=this.selectedIds.length?[...this.selectedIds]:[...this.filters.ids??[]],e={filters:{...this.filters},ids:t,selectedAll:this.selectedAll,count:this.selectedGuestsStats.withEmail??0};this.campaignAudience=e;try{sessionStorage.setItem(i,JSON.stringify(e))}catch{}},clearCampaignAudience(){this.campaignAudience=null;try{sessionStorage.removeItem(i)}catch{}},setCampaignSeed(t){this.campaignSeed=t},clearCampaignSeed(){this.campaignSeed=null},toggleAll(t){this.selectedAll=t,this.filters.ids=[],this.guestList.forEach(e=>{e.selected=t}),t&&this.getGuestStats()},isSelected(t){var e;return(e=this.guestList.find(a=>a===t))==null?void 0:e.selected},toggleOne(t){this.guestList[t].selected=!this.guestList[t].selected,this.selectedGuestsStats.total=this.guestList.filter(e=>e.selected).length,this.selectedGuestsStats.withEmail=this.guestList.filter(e=>e.selected&&e.guest.email).length,this.selectedGuestsStats.withPhone=this.guestList.filter(e=>e.selected&&e.guest.phone).length},async fetchGuests(t="reset"){try{this.$patch({isLoading:!0}),t=="reset"&&(this.pageData.current_page=1);const{q:e,...a}=this.filters,s=await this.$api.guestbook.getGuests({...a,...e&&{q:e},page:this.pageData.current_page,per_page:this.pageData.per_page});this.$patch({guestList:[...t=="reset"?[]:this.guestList,...s.data.data],pageData:{current_page:s.data.current_page,per_page:s.data.per_page,total:s.data.total}})}finally{this.$patch({isLoading:!1})}},async resetFilters(){},async fetchTags(){const t=await this.$api.guestbook.getTags();t!=null&&t.data&&Array.isArray(t.data)&&(this.tags=t.data)},async getGuestStats(){var t,e,a;try{this.$patch({isLoading:!0});const s=await this.$api.guestbook.getGuestsCount(this.filters);this.$patch({selectedGuestsStats:{total:(t=s==null?void 0:s.data)==null?void 0:t.total,withEmail:(e=s==null?void 0:s.data)==null?void 0:e.with_email,withPhone:(a=s==null?void 0:s.data)==null?void 0:a.with_phone}})}finally{this.$patch({isLoading:!1})}},async loadMore(){this.pageData.current_page++,await this.fetchGuests("append")}}});export{g as useGuestbookStore};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.