| 1 |
"use strict";(globalThis.webpackChunkbooktics=globalThis.webpackChunkbooktics||[]).push([[443],{3038:(e,t,i)=>{i.d(t,{A:()=>l});var o=i(47143),r=i(47767),c=i(40309),s=i(11534),a=i(56580),n=i(88802);const l=function(){const e=(0,o.useSelect)(e=>e(c.services).getServicesState(),[]),{setServicesState:t}=(0,o.useDispatch)(c.services),i=(0,a.useAdminLicense)(),{searchQuery:l,serviceList:d=[],total:u,singleService:p,selectedTeamMembers:m,selectedExtraServices:v=[],schedule:g}=e,b=(0,r.Zp)(),{id:f}=(0,r.g)(),h=async(e={})=>{e?.resetFilter&&(e={search:"",category_id:"",team_member_id:"",paged:"",per_page:""});const i={...l,...e};t({isFiltering:!0});try{const e=await(s.A?.service?.allServices(i));e?.success&&t({serviceList:e?.data?.items,total:e?.data?.total,searchQuery:i})}catch(e){console.error("Error fetching services:",e)}finally{return t({isFiltering:!1}),{complete:!0}}};return{createService:async e=>{try{t({isFiltering:!0});const i=await(s.A?.service?.createService(e));i?.success&&(t({serviceList:[i?.data,...d||[]],total:u+1}),b(`/services/update/${i?.data.id}`))}catch(e){console.error("Error creating service:",e)}finally{t({isFiltering:!1})}},updateService:async(e,o="deactive")=>{if(t({loadingServiceId:!0}),e?.custom_field){let t=Array.isArray(e?.custom_field?.fields)?e?.custom_field?.fields?.map(e=>"global"===e?.from?e:{...e,from:"service"}):void 0;e.custom_field={...e?.custom_field,fields:t}}try{const r={...p,...e,status:o,extra_services:v,team_member:m,schedule:e.enable_custom_schedule?g:{},show_end_time:Number(e.show_end_time)||!1};delete r.extra_service_details,i||(delete r.extra_services,delete r.custom_field);const c=await s.A.service.updateService(f,r);if(c?.success){const e=d?.map(e=>e?.id===c?.data?.id?c?.data:e);t({serviceList:e}),t({loadingServiceId:!1})}return c}catch(e){console.error("Error updating service:",e)}finally{t({loadingServiceId:!1})}},updateStatus:async({id:e,...i})=>{try{delete i.extra_service_details;const o=await(s.A?.service?.updateService(e,i));if(o?.success){const e=d?.map(e=>e.id===o.data.id?o.data:e);t({serviceList:e})}return o}catch(e){console.error("Error updating status:",e)}finally{t({loadingServiceId:null})}},getServices:h,deleteSingleService:async e=>{try{const i=await(s.A?.service?.deleteSingleService(e));return i?.success&&t({serviceList:d?.filter(t=>t.id!==e),total:u-1}),i}catch(e){console.error("Error deleting service:",e)}},bulkDeleteService:async(e=[])=>{try{const i=await(s.A?.service?.bulkDeleteService({ids:e}));if(i?.success&&(t({serviceList:d.filter(t=>!e.includes(t.id))}),e.length<u)){const{paged:e="",per_page:t=""}=l;h({paged:e,per_page:t})}}catch(e){console.error("Error bulk deleting services:",e)}finally{return{complete:!0}}},duplicateService:async e=>{try{t({isFiltering:!0});const i=await(s.A?.service?.cloneService(e));if(i?.success){const o=d.findIndex(t=>t.id===e);if(-1===o)throw new Error("Service not found for duplication.");const r=[...d.slice(0,o+1),i.data,...d.slice(o+1)];t({serviceList:r,total:u+1})}}catch(e){console.error("Error duplicating service:",e)}finally{t({isFiltering:!1})}},getSingleService:async()=>{try{const e=await s.A.service.singleService(f);e.success&&t({singleService:{...e?.data,custom_field:{...e?.data?.custom_field,fields:e?.data?.custom_field?.fields?.length?e?.data?.custom_field?.fields:n.defaultFields}}})}catch(e){console.log(e)}},onPaginationChange:(e,t)=>{h({paged:e,per_page:t})}}}},5001:(e,t,i)=>{i.d(t,{A:()=>r});var o=i(86087);function r({timeout:e=2e3}={}){const[t,i]=(0,o.useState)(null),[r,c]=(0,o.useState)(!1),[s,a]=(0,o.useState)(null),n=t=>{window.clearTimeout(s),a(window.setTimeout(()=>c(!1),e)),c(t)};return{copy:e=>{if("clipboard"in navigator)navigator.clipboard.writeText(e).then(()=>n(!0)).catch(e=>i(e));else{const t=document.createElement("textarea");t.value=e,document.body.appendChild(t),t.select();try{document.execCommand("copy"),n(!0)}catch(e){i(e)}finally{document.body.removeChild(t)}}},reset:()=>{c(!1),i(null),window.clearTimeout(s)},error:t,copied:r}}},27443:(e,t,i)=>{i.r(t),i.d(t,{default:()=>b});var o=i(51609),r=i(86087),c=i(84087),s=i(22564),a=i(56580),n=i(47143),l=i(40309),d=i(3038),u=i(79836);const{__}=wp?.i18n||{},p=({openShortCodeModal:e,setOpenShortCodeModal:t})=>{const[i]=s.Form.useForm(),{isMobile:c}=(0,a.useMediaQuery)(),{copy:p,copied:m}=(0,a.useClipboard)(),{getServices:v}=(0,d.A)(),[g,b]=(0,r.useState)(null),{serviceList:f}=(0,n.useSelect)(e=>e(l.services).getServicesState(),[]);(0,r.useEffect)(()=>{f||v()},[f]),(0,r.useEffect)(()=>{m&&g&&(window.wp?.hooks?.doAction("notification",{type:"success",message:__(`Copied Shortcode - ${g}`,"booktics")}),setTimeout(()=>{h()},500))},[m]);const h=()=>{b(null),i.resetFields(),t(!1)};return(0,o.createElement)(s.Modal,{open:e,title:__("Generate Shortcode","booktics"),width:c?360:600,onClose:h,onCancel:h},(0,o.createElement)(s.Flex,{gap:10,vertical:!0},(0,o.createElement)(s.Form,{layout:"vertical",form:i},(0,o.createElement)(s.FormItem,{label:__("Select service","booktics"),name:"serviceId"},(0,o.createElement)(s.SelectInput,{options:f?.map(e=>({label:e?.title,value:e?.id})),onChange:e=>{b(`[booktics-service-view id="${e}"]`)}}))),g&&e&&(0,o.createElement)(s.Flex,{vertical:!0,gap:10},(0,o.createElement)(s.Flex,{gap:5},(0,o.createElement)(u.rG,{value:g,readOnly:!0}),(0,o.createElement)(s.PrimaryButton,{text:__("Copy","booktics"),onClick:()=>p(g)})))))},m=i(59e3).A.div` |
| 10 |
`,{__:v}=wp?.i18n||{},g=({title:e,description:t,buttonText:i,onClick:r})=>(0,o.createElement)(m,null,(0,o.createElement)("div",null,(0,o.createElement)(s.Title,{text:v(e,"booktics"),level:5}),(0,o.createElement)(s.Description,{text:t})),(0,o.createElement)(s.PrimaryOutlinedButton,{text:v(i,"booktics"),onClick:r})),b=()=>{const{copy:e,copied:t}=(0,a.useClipboard)(),[i,n]=(0,r.useState)(!1);return(0,r.useEffect)(()=>{t&&window.wp?.hooks?.doAction("notification",{type:"success",message:v("Copied Shortcode - [booktics_booking_form]","booktics")})},[t]),(0,o.createElement)(o.Fragment,null,(0,o.createElement)(c.A,{title:v("Team members","booktics")}),(0,o.createElement)(s.ResponsiveContainer,null,(0,o.createElement)(s.Card,null,(0,o.createElement)(s.Flex,{gap:"10px",vertical:!0},(0,o.createElement)(g,{title:v("View All Services by Short Code","booktics"),description:v("Browse and manage all available services linked to a specific short code.","booktics"),buttonText:v("Copy Shortcode","booktics"),onClick:()=>e("[booktics_booking_form]")}),(0,o.createElement)(g,{title:v("Generate Short Code Based on Selected Service","booktics"),description:v("Select a service to generate a corresponding short code for easy reference and access.","booktics"),buttonText:v("Generate","booktics"),onClick:()=>n(!0)}))),(0,o.createElement)(p,{openShortCodeModal:i,setOpenShortCodeModal:n})))}},35371:(e,t,i)=>{i(51609),i(86087),i(88802),i(22564);const{__}=wp?.i18n||{}},56580:(e,t,i)=>{i.d(t,{useAdminLicense:()=>c.i,useClipboard:()=>o.A,useMediaQuery:()=>r.U,useSearchEmptyState:()=>s.A});var o=i(5001),r=(i(35371),i(93524)),c=i(90769),s=(i(66236),i(85681))},66236:(e,t,i)=>{i(47143)},79836:(e,t,i)=>{i.d(t,{Es:()=>g,QB:()=>u,Wb:()=>n,Xd:()=>b,Yz:()=>l,ee:()=>d,ff:()=>h,i5:()=>a,pj:()=>m,rG:()=>v,sI:()=>p});var o=i(59e3),r=i(22564),c=i(2812);const{Dropdown:s}=window?.booktics?.library||{},a=(0,o.A)(r.Flex)` |