PluginProbe
Booktics – Appointment Booking Calendar for Service Businesses / 1.0.0
Booktics – Appointment Booking Calendar for Service Businesses v1.0.0
1.0.29 1.0.28 1.0.27 1.0.26 1.0.25 1.0.24 1.0.23 1.0.22 1.0.21 1.0.20 1.0.19 trunk 1.0.0 1.0.1 1.0.10 1.0.11 1.0.12 1.0.13 1.0.14 1.0.15 1.0.16 1.0.17 1.0.18 1.0.2 1.0.3 All 31 releases
booktics / assets / build / chunks / js / 767.js

767.js in Booktics – Appointment Booking Calendar for Service Businesses 1.0.0, at assets/build/chunks/js/767.js

63 lines 4.0 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 "use strict";(globalThis.webpackChunkbooktics=globalThis.webpackChunkbooktics||[]).push([[767],{60767:(e,t,n)=>{n.r(t),n.d(t,{default:()=>v});var o=n(51609),a=n(47143),d=n(86087),r=n(84087),s=n(40309),l=n(22564),i=n(46714);const{__}=wp?.i18n||{},c=[{label:__("Modules","booktics"),value:"modules",icon:(0,o.createElement)(i.CategoryIcon,{width:18,height:18})}];var p=n(76369),u=n(59e3);const g=(0,u.A)(l.AdvancedCard)`
2 padding: 0px;
3 border: 1px solid #ebeef5;
4 position: relative;
5 overflow: hidden;
6 border-radius: 6px;
7 .ant-card-body {
8 padding: 0px;
9 }
10 `,m=(u.A.div`
11 .ant-segmented {
12 background-color: #f0f0f0;
13
14 .ant-segmented-item-selected {
15 border: 1px solid #22b855;
16 color: #22b855;
17 font-weight: 500;
18 font-size: 15px;
19 background-color: transparent;
20 }
21 }
22 `,u.A.div`
23 padding: 20px;
24 .bkt-svg-wrapper {
25 svg {
26 width: 60px;
27 height: 60px;
28 }
29 }
30 `),b=u.A.div`
31 padding: 20px;
32 border-top: 1px solid #ebeef5;
33 display: flex;
34 align-items: center;
35 justify-content: space-between;
36
37 .bkt-readmore-btn {
38 background-color: transparent;
39 padding-inline: 0;
40 color: #7a7a99;
41 &:hover {
42 background-color: transparent !important;
43 }
44 }
45 `,x=u.A.div`
46 position: absolute;
47 height: 85px;
48 width: 60px;
49 transform: rotate(-45deg);
50 border-top-left-radius: 6px;
51 border-top-right-radius: 6px;
52 top: -38px;
53 right: -22px;
54 background-color: #faad14;
55 color: #fff;
56 padding: 5px 16px;
57 .anticon {
58 position: absolute;
59 top: 38px;
60 left: 7px;
61 transform: rotate(45deg);
62 }
63 `,{__:f}=wp?.i18n||{},h=({addon:e})=>{const{updateAddon:t}=(0,p.A)(),[n,r]=(0,d.useState)("on"===e.status),{addonLoading:c}=(0,a.useSelect)(e=>e(s.addons).getAddonsState(),[]);return(0,o.createElement)(g,null,(0,o.createElement)(m,null,(0,o.createElement)(l.Flex,{align:"flex-start",justify:"space-between"},(0,o.createElement)("div",{className:"bkt-svg-wrapper",dangerouslySetInnerHTML:{__html:e.icon}}),e.is_pro&&"off"===e.status?(0,o.createElement)(x,null,(0,o.createElement)(i.ProLockIcon,null)):(0,o.createElement)(l.Switch,{checked:n,onClick:async n=>{const o={name:e.slug,status:n?"on":"off"};await t(o),r(n)},loading:c?.[e.slug]})),(0,o.createElement)(l.Title,{text:e.title,level:5}),(0,o.createElement)(l.Description,{text:e.description})),(0,o.createElement)(b,null,(0,o.createElement)(l.Button,{target:"_blank",href:e.doc_link,icon:(0,o.createElement)(i.ReadMoreIcon,null),className:"bkt-readmore-btn",type:"text",text:f("Read More","booktics")})))},{Segmented:k,Col:A,Row:E}=window?.booktics?.library||{},{__:w}=wp?.i18n||{},v=()=>{const[e,t]=(0,d.useState)("modules"),{addonList:n}=(0,a.useSelect)(e=>e(s.addons).getAddonsState(),[]),{getAddons:i}=(0,p.A)();return(0,d.useEffect)(()=>{n||i()},[]),n?(0,o.createElement)(o.Fragment,null,(0,o.createElement)(r.A,{title:w("Extensions","booktics")}),(0,o.createElement)(l.ResponsiveContainer,null,(0,o.createElement)(l.SecondaryMenu,{selectedView:"card",filteredTopMenu:(0,o.createElement)(k,{options:c,value:e,onChange:t,size:"large"})}),(0,o.createElement)(E,{gutter:[20,20]},n.map(e=>(0,o.createElement)(A,{xs:24,md:12,lg:6,xxl:6,key:e.demo_link},(0,o.createElement)(h,{addon:e})))))):(0,o.createElement)(l.RowSkeleton,null)}},76369:(e,t,n)=>{n.d(t,{A:()=>r});var o=n(47143),a=n(40309),d=n(93906);const r=()=>{const{setAddonsState:e}=(0,o.useDispatch)(a?.addons),{addonList:t,addonLoading:n}=(0,o.useSelect)(e=>e(a.addons).getAddonsState(),[]);return{getAddons:async()=>{try{const t=await d.A.addons.getAllAddons();t.success&&e({addonList:t?.data})}catch(e){console.log(e)}},updateAddon:async t=>{try{return e({addonLoading:{...n,[t.name]:!0}}),await d.A.addons.editAddon(t)}catch(e){console.log(e)}finally{e({addonLoading:{...n,[t.name]:!1}})}},isAddonActive:e=>{const n=t.find(t=>t.name===e);return"activated"===n?.status}}}}}]);