PageSourceSearch

https://www.monalisabarbershop.gr/_next/static/chunks/f1b59a5d8a0fba1f.js?dpl=dpl_GWbRzd2WpqvMLWMbRUFDJwWgLE3m

js monalisabarbershop.gr collected 2026-10-02 01:02:38 UTC 54,837 bytes, 571 lines download raw bytes

1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,75771,98460,45848,20283,16163,29733,e=>{"use strict";var t=e.i(43476),a=e.i(21373),i=e.i(71645),n=e.i(46932),s=e.i(88653),r=e.i(18566);function o(){let e=(0,r.usePathname)(),[o,l]=(0,i.useState)(0),[m,c]=(0,i.useState)(null),[d,p]=(0,i.useState)(!1),[h,g]=(0,i.useState)(!0);if((0,i.useEffect)(()=>{let t,a;if("/"!==e&&"/en"!==e&&"/en/"!==e)return;let i=()=>{t=requestAnimationFrame(()=>{a=requestAnimationFrame(()=>{let e=document.getElementById("navbar-logo-img");if(!e)return;let t=e.getBoundingClientRect(),a=Math.min(460,.85*window.innerWidth),i=t.height/t.width,n=(window.innerWidth-a)/2,s=(window.innerHeight-a*i)/2;c({navTop:t.top,navLeft:t.left,navWidth:t.width,navHeight:t.height,dx:n-t.left,dy:s-t.top,scale:a/t.width})})})};return i(),window.addEventListener("resize",i),()=>{window.removeEventListener("resize",i),cancelAnimationFrame(t),cancelAnimationFrame(a)}},[e,d]),(0,i.useEffect)(()=>{if("/"===e||"/en"===e||"/en/"===e){p(!0),g(!0);let e=[setTimeout(()=>l(1),100),setTimeout(()=>l(2),3400),setTimeout(()=>l(3),4850),setTimeout(()=>{g(!1),p(!1)},6500)];return()=>e.forEach(clearTimeout)}p(!1)},[e]),!d)return null;let b=m?`translate(${m.dx}px, ${m.dy}px) scale(${m.scale})`:"translate(0, 0) scale(1)",x=b,f=0,u="blur(20px)",y="none";return 0===o?(x=m?`translate(${m.dx}px, ${m.dy+30}px) scale(${.95*m.scale})`:"translate(0, 30px) scale(0.95)",f=0):1===o?(x=b,f=1,u="blur(0px) drop-shadow(0 0 45px rgba(212,175,55,0.18))",y="all 2s cubic-bezier(0.16, 1, 0.3, 1)"):2===o?(x="translate(0, 0) scale(1)",f=1,u="blur(0px)",y="transform 1.4s cubic-bezier(0.65, 0, 0.35, 1), opacity 0.5s ease"):(f=0,y="opacity 0.4s ease"),(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(a.default,{id:"20406be633a0c202",dynamic:[o>=2?`
2          .glass-header-bar {
3            opacity: 1 !important;
4            visibility: visible !important;
5            z-index: 1000001 !important;
6            transition: opacity 0.8s ease-out !important;
7          }
8        `:"",o>=3?`
9          #navbar-logo-img {
10            opacity: 1 !important;
11            transition: opacity 0.5s ease 0.1s !important;
12          }
13          
14          .glass-header-bar {
15            pointer-events: auto !important;
16          }
17          
18          /* Syncing other navbar links (Phone, Email, etc) for POST-PAGE reveal */
19          .glass-header-bar .phone-item,
20          .glass-header-bar .email-item,
21          .glass-header-bar .location-item,
22          .glass-header-bar .booking-btn,
23          .glass-header-bar .header-center-section,
24          .glass-header-bar .modern-toggle-btn {
25            animation: navPostRevealRise 1s cubic-bezier(0.16, 1, 0.3, 1) both;
26            animation-delay: 0.5s; /* Wait slightly for page content reveal */
27          }
28          
29          .glass-header-bar .phone-item { animation-delay: 0.6s; }
30          .glass-header-bar .email-item { animation-delay: 0.7s; }
31          .glass-header-bar .location-item { animation-delay: 0.8s; }
32          .glass-header-bar .booking-btn { animation-delay: 0.9s; }
33          .glass-header-bar .modern-toggle-btn { animation-delay: 0.75s; }
34
35          @keyframes navPostRevealRise {
36            from { opacity: 0; transform: translateY(18px); }
37            to { opacity: 1; transform: translateY(0); }
38          }
39
40          /* Tagline Sync */
41          #logo-tagline {
42            position: absolute !important;
43            top: 110% !important;
44            left: 0 !important;
45            width: 100% !important;
46            display: flex !important;
47            justify-content: center !important;
48          }
49          #logo-tagline img {
50            animation: introTaglineLanded 0.9s cubic-bezier(0.16, 1, 0.3, 1) 0.8s forwards;
51          }
52          @keyframes introTaglineLanded {
53            from { opacity: 0; transform: translateY(-10px); }
54            to { opacity: 0.95; transform: translateY(0); }
55          }
56        `:`
57          .glass-header-bar * { opacity: 0 !important; }
58        `],children:".staggered-menu-header{z-index:1000000!important}.glass-header-bar{opacity:0!important;visibility:hidden!important;pointer-events:none!important;transition:opacity 1s ease-in-out!important}#navbar-logo-img{opacity:0!important}"}),(0,t.jsx)(s.AnimatePresence,{children:h&&(0,t.jsxs)(n.motion.div,{initial:{opacity:1},exit:{opacity:0,filter:"blur(20px)",transition:{duration:1.5,ease:"easeInOut"}},className:"fixed inset-0 z-[999995] bg-black flex items-center justify-center overflow-hidden",children:[(0,t.jsx)(n.motion.div,{className:"absolute inset-0 z-0 opacity-40",initial:{scale:1.1},animate:{scale:o>=2?1.4:1.15,opacity:o>=3?0:.4},transition:{duration:4,ease:"easeInOut"},style:{backgroundImage:"url(/monalisa-intro-bg.png)",backgroundSize:"cover",backgroundPosition:"center"}}),(0,t.jsx)("div",{className:a.default.dynamic([["20406be633a0c202",[o>=2?`
59          .glass-header-bar {
60            opacity: 1 !important;
61            visibility: visible !important;
62            z-index: 1000001 !important;
63            transition: opacity 0.8s ease-out !important;
64          }
65        `:"",o>=3?`
66          #navbar-logo-img {
67            opacity: 1 !important;
68            transition: opacity 0.5s ease 0.1s !important;
69          }
70          
71          .glass-header-bar {
72            pointer-events: auto !important;
73          }
74          
75          /* Syncing other navbar links (Phone, Email, etc) for POST-PAGE reveal */
76          .glass-header-bar .phone-item,
77          .glass-header-bar .email-item,
78          .glass-header-bar .location-item,
79          .glass-header-bar .booking-btn,
80          .glass-header-bar .header-center-section,
81          .glass-header-bar .modern-toggle-btn {
82            animation: navPostRevealRise 1s cubic-bezier(0.16, 1, 0.3, 1) both;
83            animation-delay: 0.5s; /* Wait slightly for page content reveal */
84          }
85          
86          .glass-header-bar .phone-item { animation-delay: 0.6s; }
87          .glass-header-bar .email-item { animation-delay: 0.7s; }
88          .glass-header-bar .location-item { animation-delay: 0.8s; }
89          .glass-header-bar .booking-btn { animation-delay: 0.9s; }
90          .glass-header-bar .modern-toggle-btn { animation-delay: 0.75s; }
91
92          @keyframes navPostRevealRise {
93            from { opacity: 0; transform: translateY(18px); }
94            to { opacity: 1; transform: translateY(0); }
95          }
96
97          /* Tagline Sync */
98          #logo-tagline {
99            position: absolute !important;
100            top: 110% !important;
101            left: 0 !important;
102            width: 100% !important;
103            display: flex !important;
104            justify-content: center !important;
105          }
106          #logo-tagline img {
107            animation: introTaglineLanded 0.9s cubic-bezier(0.16, 1, 0.3, 1) 0.8s forwards;
108          }
109          @keyframes introTaglineLanded {
110            from { opacity: 0; transform: translateY(-10px); }
111            to { opacity: 0.95; transform: translateY(0); }
112          }
113        `:`
114          .glass-header-bar * { opacity: 0 !important; }
115        `]]])+" absolute inset-0 z-1 pointer-events-none bg-[radial-gradient(circle_at_center,transparent_0%,rgba(0,0,0,0.85)_100%)]"}),(0,t.jsxs)("div",{className:a.default.dynamic([["20406be633a0c202",[o>=2?`
116          .glass-header-bar {
117            opacity: 1 !important;
118            visibility: visible !important;
119            z-index: 1000001 !important;
120            transition: opacity 0.8s ease-out !important;
121          }
122        `:"",o>=3?`
123          #navbar-logo-img {
124            opacity: 1 !important;
125            transition: opacity 0.5s ease 0.1s !important;
126          }
127          
128          .glass-header-bar {
129            pointer-events: auto !important;
130          }
131          
132          /* Syncing other navbar links (Phone, Email, etc) for POST-PAGE reveal */
133          .glass-header-bar .phone-item,
134          .glass-header-bar .email-item,
135          .glass-header-bar .location-item,
136          .glass-header-bar .booking-btn,
137          .glass-header-bar .header-center-section,
138          .glass-header-bar .modern-toggle-btn {
139            animation: navPostRevealRise 1s cubic-bezier(0.16, 1, 0.3, 1) both;
140            animation-delay: 0.5s; /* Wait slightly for page content reveal */
141          }
142          
143          .glass-header-bar .phone-item { animation-delay: 0.6s; }
144          .glass-header-bar .email-item { animation-delay: 0.7s; }
145          .glass-header-bar .location-item { animation-delay: 0.8s; }
146          .glass-header-bar .booking-btn { animation-delay: 0.9s; }
147          .glass-header-bar .modern-toggle-btn { animation-delay: 0.75s; }
148
149          @keyframes navPostRevealRise {
150            from { opacity: 0; transform: translateY(18px); }
151            to { opacity: 1; transform: translateY(0); }
152          }
153
154          /* Tagline Sync */
155          #logo-tagline {
156            position: absolute !important;
157            top: 110% !important;
158            left: 0 !important;
159            width: 100% !important;
160            display: flex !important;
161            justify-content: center !important;
162          }
163          #logo-tagline img {
164            animation: introTaglineLanded 0.9s cubic-bezier(0.16, 1, 0.3, 1) 0.8s forwards;
165          }
166          @keyframes introTaglineLanded {
167            from { opacity: 0; transform: translateY(-10px); }
168            to { opacity: 0.95; transform: translateY(0); }
169          }
170        `:`
171          .glass-header-bar * { opacity: 0 !important; }
172        `]]])+" relative z-[999998] flex flex-col items-center justify-center w-full h-full",children:[(0,t.jsx)(n.motion.div,{initial:{opacity:0,scale:.85}
172,animate:{opacity:+(1===o),scale:1===o?1:.9},transition:{duration:1.5,delay:.8},className:"absolute top-[75%] sm:top-[72%] md:top-[68%] w-full flex justify-center pointer-events-none px-6",children:(0,t.jsx)("img",{src:"/keepitfresh.png",alt:"",className:a.default.dynamic([["20406be633a0c202",[o>=2?`
173          .glass-header-bar {
174            opacity: 1 !important;
175            visibility: visible !important;
176            z-index: 1000001 !important;
177            transition: opacity 0.8s ease-out !important;
178          }
179        `:"",o>=3?`
180          #navbar-logo-img {
181            opacity: 1 !important;
182            transition: opacity 0.5s ease 0.1s !important;
183          }
184          
185          .glass-header-bar {
186            pointer-events: auto !important;
187          }
188          
189          /* Syncing other navbar links (Phone, Email, etc) for POST-PAGE reveal */
190          .glass-header-bar .phone-item,
191          .glass-header-bar .email-item,
192          .glass-header-bar .location-item,
193          .glass-header-bar .booking-btn,
194          .glass-header-bar .header-center-section,
195          .glass-header-bar .modern-toggle-btn {
196            animation: navPostRevealRise 1s cubic-bezier(0.16, 1, 0.3, 1) both;
197            animation-delay: 0.5s; /* Wait slightly for page content reveal */
198          }
199          
200          .glass-header-bar .phone-item { animation-delay: 0.6s; }
201          .glass-header-bar .email-item { animation-delay: 0.7s; }
202          .glass-header-bar .location-item { animation-delay: 0.8s; }
203          .glass-header-bar .booking-btn { animation-delay: 0.9s; }
204          .glass-header-bar .modern-toggle-btn { animation-delay: 0.75s; }
205
206          @keyframes navPostRevealRise {
207            from { opacity: 0; transform: translateY(18px); }
208            to { opacity: 1; transform: translateY(0); }
209          }
210
211          /* Tagline Sync */
212          #logo-tagline {
213            position: absolute !important;
214            top: 110% !important;
215            left: 0 !important;
216            width: 100% !important;
217            display: flex !important;
218            justify-content: center !important;
219          }
220          #logo-tagline img {
221            animation: introTaglineLanded 0.9s cubic-bezier(0.16, 1, 0.3, 1) 0.8s forwards;
222          }
223          @keyframes introTaglineLanded {
224            from { opacity: 0; transform: translateY(-10px); }
225            to { opacity: 0.95; transform: translateY(0); }
226          }
227        `:`
228          .glass-header-bar * { opacity: 0 !important; }
229        `]]])+" w-48 sm:w-60 md:w-[410px] h-auto brightness-110 drop-shadow-2xl"})}),m&&(0,t.jsx)("div",{style:{position:"absolute",top:`${m.navTop}px`,left:`${m.navLeft}px`,width:`${m.navWidth}px`,height:`${m.navHeight}px`,transformOrigin:"0 0",transform:x,opacity:f,filter:u,transition:y,zIndex:1000100},className:a.default.dynamic([["20406be633a0c202",[o>=2?`
230          .glass-header-bar {
231            opacity: 1 !important;
232            visibility: visible !important;
233            z-index: 1000001 !important;
234            transition: opacity 0.8s ease-out !important;
235          }
236        `:"",o>=3?`
237          #navbar-logo-img {
238            opacity: 1 !important;
239            transition: opacity 0.5s ease 0.1s !important;
240          }
241          
242          .glass-header-bar {
243            pointer-events: auto !important;
244          }
245          
246          /* Syncing other navbar links (Phone, Email, etc) for POST-PAGE reveal */
247          .glass-header-bar .phone-item,
248          .glass-header-bar .email-item,
249          .glass-header-bar .location-item,
250          .glass-header-bar .booking-btn,
251          .glass-header-bar .header-center-section,
252          .glass-header-bar .modern-toggle-btn {
253            animation: navPostRevealRise 1s cubic-bezier(0.16, 1, 0.3, 1) both;
254            animation-delay: 0.5s; /* Wait slightly for page content reveal */
255          }
256          
257          .glass-header-bar .phone-item { animation-delay: 0.6s; }
258          .glass-header-bar .email-item { animation-delay: 0.7s; }
259          .glass-header-bar .location-item { animation-delay: 0.8s; }
260          .glass-header-bar .booking-btn { animation-delay: 0.9s; }
261          .glass-header-bar .modern-toggle-btn { animation-delay: 0.75s; }
262
263          @keyframes navPostRevealRise {
264            from { opacity: 0; transform: translateY(18px); }
265            to { opacity: 1; transform: translateY(0); }
266          }
267
268          /* Tagline Sync */
269          #logo-tagline {
270            position: absolute !important;
271            top: 110% !important;
272            left: 0 !important;
273            width: 100% !important;
274            display: flex !important;
275            justify-content: center !important;
276          }
277          #logo-tagline img {
278            animation: introTaglineLanded 0.9s cubic-bezier(0.16, 1, 0.3, 1) 0.8s forwards;
279          }
280          @keyframes introTaglineLanded {
281            from { opacity: 0; transform: translateY(-10px); }
282            to { opacity: 0.95; transform: translateY(0); }
283          }
284        `:`
285          .glass-header-bar * { opacity: 0 !important; }
286        `]]]),children:(0,t.jsxs)("div",{className:a.default.dynamic([["20406be633a0c202",[o>=2?`
287          .glass-header-bar {
288            opacity: 1 !important;
289            visibility: visible !important;
290            z-index: 1000001 !important;
291            transition: opacity 0.8s ease-out !important;
292          }
293        `:"",o>=3?`
294          #navbar-logo-img {
295            opacity: 1 !important;
296            transition: opacity 0.5s ease 0.1s !important;
297          }
298          
299          .glass-header-bar {
300            pointer-events: auto !important;
301          }
302          
303          /* Syncing other navbar links (Phone, Email, etc) for POST-PAGE reveal */
304          .glass-header-bar .phone-item,
305          .glass-header-bar .email-item,
306          .glass-header-bar .location-item,
307          .glass-header-bar .booking-btn,
308          .glass-header-bar .header-center-section,
309          .glass-header-bar .modern-toggle-btn {
310            animation: navPostRevealRise 1s cubic-bezier(0.16, 1, 0.3, 1) both;
311            animation-delay: 0.5s; /* Wait slightly for page content reveal */
312          }
313          
314          .glass-header-bar .phone-item { animation-delay: 0.6s; }
315          .glass-header-bar .email-item { animation-delay: 0.7s; }
316          .glass-header-bar .location-item { animation-delay: 0.8s; }
317          .glass-header-bar .booking-btn { animation-delay: 0.9s; }
318          .glass-header-bar .modern-toggle-btn { animation-delay: 0.75s; }
319
320          @keyframes navPostRevealRise {
321            from { opacity: 0; transform: translateY(18px); }
322            to { opacity: 1; transform: translateY(0); }
323          }
324
325          /* Tagline Sync */
326          #logo-tagline {
327            position: absolute !important;
328            top: 110% !important;
329            left: 0 !important;
330            width: 100% !important;
331            display: flex !important;
332            justify-content: center !important;
333          }
334          #logo-tagline img {
335            animation: introTaglineLanded 0.9s cubic-bezier(0.16, 1, 0.3, 1) 0.8s forwards;
336          }
337          @keyframes introTaglineLanded {
338            from { opacity: 0; transform: translateY(-10px); }
339            to { opacity: 0.95; transform: translateY(0); }
340          }
341        `:`
342          .glass-header-bar * { opacity: 0 !important; }
343        `]]])+" relative w-full h-full flex items-center justify-center",children:[(0,t.jsx)("img",{src:"/monalisabarbershop-footer-dark.png",alt:"",style:{position:"absolute",width:"125%",height:"auto",objectFit:"contain",zIndex:2,opacity:+(o<2),transition:"opacity 0.6s ease-in-out, transform 1s ease",transform:o>=2?"scale(0.85)":"scale(1)",transformOrigin:"center center"},className:a.default.dynamic([["20406be633a0c202",[o>=2?`
344          .glass-header-bar {
345            opacity: 1 !important;
346            visibility: visible !important;
347            z-index: 1000001 !important;
348            transition: opacity 0.8s ease-out !important;
349          }
350        `:"",o>=3?`
351          #navbar-logo-img {
352            opacity: 1 !important;
353            transition: opacity 0.5s ease 0.1s !important;
354          }
355          
356          .glass-header-bar {
357            pointer-events: auto !important;
358          }
359          
360          /* Syncing other navbar links (Phone, Email, etc) for POST-PAGE reveal */
361          .glass-header-bar .phone-item,
362          .glass-header-bar .email-item,
363          .glass-header-bar .location-item,
364          .glass-header-bar .booking-btn,
365          .glass-header-bar .header-center-section,
366          .glass-header-bar .modern-toggle-btn {
367            animation: navPostRevealRise 1s cubic-bezier(0.16, 1, 0.3, 1) both;
368            animation-delay: 0.5s; /* Wait slightly for page content reveal */
369          }
370          
371          .glass-header-bar .phone-item { animation-delay: 0.6s; }
372          .glass-header-bar .email-item { animation-delay: 0.7s; }
373          .glass-header-bar .location-item { animation-delay: 0.8s; }
374          .glass-header-bar .booking-btn { animation-delay: 0.9s; }
375          .glass-header-bar .modern-toggle-btn { animation-delay: 0.75s; }
376
377          @keyframes navPostRevealRise {
378            from { opacity: 0; transform: translateY(18px); }
379            to { opacity: 1; transform: translateY(0); }
380          }
381
382          /* Tagline Sync */
383          #logo-tagline {
384            position: absolute !important;
385            top: 110% !important;
386            left: 0 !important;
387            width: 100% !important;
388            display: flex !important;
389            justify-content: center !important;
390          }
391          #logo-tagline img {
392            animation: introTaglineLanded 0.9s cubic-bezier(0.16, 1, 0.3, 1) 0.8s forwards;
393          }
394          @keyframes introTaglineLanded {
395            from { opacity: 0; transform: translateY(-10px); }
396            to { opacity: 0.95; transform: translateY(0); }
397          }
398        `:`
399          .glass-header-bar * { opacity: 0 !important; }
400        `]]])}),(0,t.jsx)("img",{src:"/monalisabarbershop-navbar-dark.png",alt:"",style:{position:"absolute",width:"100%",height:"100%",objectFit:"contain",zIndex:1,opacity:+(o>=2),transition:"opacity 0.5s ease"},className:a.default.dynamic([["20406be633a0c202",[o>=2?`
401          .glass-header-bar {
402            opacity: 1 !important;
403            visibility: visible !important;
404            z-index: 1000001 !important;
405            transition: opacity 0.8s ease-out !important;
406          }
407        `:"",o>=3?`
408          #navbar-logo-img {
409            opacity: 1 !important;
410            transition: opacity 0.5s ease 0.1s !important;
411          }
412          
413          .glass-header-bar {
414            pointer-events: auto !important;
415          }
416          
417          /* Syncing other navbar links (Phone, Email, etc) for POST-PAGE reveal */
418          .glass-header-bar .phone-item,
419          .glass-header-bar .email-item,
420          .glass-header-bar .location-item,
421          .glass-header-bar .booking-btn,
422          .glass-header-bar .header-center-section,
423          .glass-header-bar .modern-toggle-btn {
424            animation: navPostRevealRise 1s cubic-bezier(0.16, 1, 0.3, 1) both;
425            animation-delay: 0.5s; /* Wait slightly for page content reveal */
426          }
427          
428          .glass-header-bar .phone-item { animation-delay: 0.6s; }
429          .glass-header-bar .email-item { animation-delay: 0.7s; }
430          .glass-header-bar .location-item { animation-delay: 0.8s; }
431          .glass-header-bar .booking-btn { animation-delay: 0.9s; }
432          .glass-header-bar .modern-toggle-btn { animation-delay: 0.75s; }
433
434          @keyframes navPostRevealRise {
435            from { opacity: 0; transform: translateY(18px); }
436            to { opacity: 1; transform: translateY(0); }
437          }
438
439          /* Tagline Sync */
440          #logo-tagline {
441            position: absolute !important;
442            top: 110% !important;
443            left: 0 !important;
444            width: 100% !important;
445            display: flex !important;
446            justify-content: center !important;
447          }
448          #logo-tagline img {
449            animation: introTaglineLanded 0.9s cubic-bezier(0.16, 1, 0.3, 1) 0.8s forwards;
450          }
451          @keyframes introTaglineLanded {
452            from { opacity: 0; transform: translateY(-10px); }
453            to { opacity: 0.95; transform: translateY(0); }
454          }
455        `:`
456          .glass-header-bar * { opacity: 0 !important; }
457        `]]])}),(0,t.jsx)(n.motion.div,{className:"absolute inset-[-40%] bg-[#d4af37]/15 blur-[50px] rounded-full pointer-events-none",animate:2===o?{opacity:[0,1,0],scale:[.8,1.4,.8]}:{opacity:0}
457,transition:{duration:1.2}})]})})]}),(0,t.jsxs)(n.motion.div,{initial:{opacity:0},animate:{opacity:.32*(1===o)},transition:{delay:2.5},className:"absolute bottom-12 flex flex-col items-center",children:[(0,t.jsx)("div",{className:a.default.dynamic([["20406be633a0c202",[o>=2?`
458          .glass-header-bar {
459            opacity: 1 !important;
460            visibility: visible !important;
461            z-index: 1000001 !important;
462            transition: opacity 0.8s ease-out !important;
463          }
464        `:"",o>=3?`
465          #navbar-logo-img {
466            opacity: 1 !important;
467            transition: opacity 0.5s ease 0.1s !important;
468          }
469          
470          .glass-header-bar {
471            pointer-events: auto !important;
472          }
473          
474          /* Syncing other navbar links (Phone, Email, etc) for POST-PAGE reveal */
475          .glass-header-bar .phone-item,
476          .glass-header-bar .email-item,
477          .glass-header-bar .location-item,
478          .glass-header-bar .booking-btn,
479          .glass-header-bar .header-center-section,
480          .glass-header-bar .modern-toggle-btn {
481            animation: navPostRevealRise 1s cubic-bezier(0.16, 1, 0.3, 1) both;
482            animation-delay: 0.5s; /* Wait slightly for page content reveal */
483          }
484          
485          .glass-header-bar .phone-item { animation-delay: 0.6s; }
486          .glass-header-bar .email-item { animation-delay: 0.7s; }
487          .glass-header-bar .location-item { animation-delay: 0.8s; }
488          .glass-header-bar .booking-btn { animation-delay: 0.9s; }
489          .glass-header-bar .modern-toggle-btn { animation-delay: 0.75s; }
490
491          @keyframes navPostRevealRise {
492            from { opacity: 0; transform: translateY(18px); }
493            to { opacity: 1; transform: translateY(0); }
494          }
495
496          /* Tagline Sync */
497          #logo-tagline {
498            position: absolute !important;
499            top: 110% !important;
500            left: 0 !important;
501            width: 100% !important;
502            display: flex !important;
503            justify-content: center !important;
504          }
505          #logo-tagline img {
506            animation: introTaglineLanded 0.9s cubic-bezier(0.16, 1, 0.3, 1) 0.8s forwards;
507          }
508          @keyframes introTaglineLanded {
509            from { opacity: 0; transform: translateY(-10px); }
510            to { opacity: 0.95; transform: translateY(0); }
511          }
512        `:`
513          .glass-header-bar * { opacity: 0 !important; }
514        `]]])+" w-10 h-[1px] bg-white/25 mb-3"}),(0,t.jsx)("span",{className:a.default.dynamic([["20406be633a0c202",[o>=2?`
515          .glass-header-bar {
516            opacity: 1 !important;
517            visibility: visible !important;
518            z-index: 1000001 !important;
519            transition: opacity 0.8s ease-out !important;
520          }
521        `:"",o>=3?`
522          #navbar-logo-img {
523            opacity: 1 !important;
524            transition: opacity 0.5s ease 0.1s !important;
525          }
526          
527          .glass-header-bar {
528            pointer-events: auto !important;
529          }
530          
531          /* Syncing other navbar links (Phone, Email, etc) for POST-PAGE reveal */
532          .glass-header-bar .phone-item,
533          .glass-header-bar .email-item,
534          .glass-header-bar .location-item,
535          .glass-header-bar .booking-btn,
536          .glass-header-bar .header-center-section,
537          .glass-header-bar .modern-toggle-btn {
538            animation: navPostRevealRise 1s cubic-bezier(0.16, 1, 0.3, 1) both;
539            animation-delay: 0.5s; /* Wait slightly for page content reveal */
540          }
541          
542          .glass-header-bar .phone-item { animation-delay: 0.6s; }
543          .glass-header-bar .email-item { animation-delay: 0.7s; }
544          .glass-header-bar .location-item { animation-delay: 0.8s; }
545          .glass-header-bar .booking-btn { animation-delay: 0.9s; }
546          .glass-header-bar .modern-toggle-btn { animation-delay: 0.75s; }
547
548          @keyframes navPostRevealRise {
549            from { opacity: 0; transform: translateY(18px); }
550            to { opacity: 1; transform: translateY(0); }
551          }
552
553          /* Tagline Sync */
554          #logo-tagline {
555            position: absolute !important;
556            top: 110% !important;
557            left: 0 !important;
558            width: 100% !important;
559            display: flex !important;
560            justify-content: center !important;
561          }
562          #logo-tagline img {
563            animation: introTaglineLanded 0.9s cubic-bezier(0.16, 1, 0.3, 1) 0.8s forwards;
564          }
565          @keyframes introTaglineLanded {
566            from { opacity: 0; transform: translateY(-10px); }
567            to { opacity: 0.95; transform: translateY(0); }
568          }
569        `:`
570          .glass-header-bar * { opacity: 0 !important; }
571        `]]])+" text-[9px] tracking-[1.1em] text-white/80 uppercase",children:"Monalisa"})]})]},"monalisa-final-sync-intro")})]})}e.s(["IntroAnimation",()=>o],75771);var l=e.i(22016),m=e.i(7684),c=e.i(75157);
571let d={newyear:"from-amber-400 via-yellow-300 to-amber-500",easter:"",other:"from-amber-500 via-[#d4af37] to-amber-600",christmas:"",summer:"from-sky-400 via-cyan-300 to-amber-300",normal:"from-primary/80 to-primary"},p={christmas:"#bc4749",easter:"#cbf4c6",other:"#b8860b"},h=(e,t="el")=>{if(!e)return"";let a=new Date(e);return Number.isNaN(a.getTime())?"":a.toLocaleDateString("en"===t?"en-US":"el-GR",{day:"2-digit",month:"2-digit"})};e.s(["HolidayBanner",0,({isEnglish:e=!1})=>{let{schedule:a,isActive:i,getHolidayStyle:n}=(0,m.useChristmasSchedule)(),s=n();if(!i||!a||!0!==a.showAnnouncement)return null;let r=a.closureNotices??[];r[0];let o=s.icon.startsWith("/")?(0,t.jsx)("img",{src:s.icon,alt:e?s.title.en:s.title.el,className:"h-10 w-10 object-contain"}):(0,t.jsx)("span",{className:"text-3xl",children:s.icon}),g=e?s.title.en:s.title.el,b=(()=>{if(e)switch(a.type){case"christmas":return"Merry Christmas";case"easter":return"Happy Easter";case"newyear":return"Happy New Year";case"summer":return"Happy Summer";default:return"Our barbershop operates with a festive schedule. See the exact days and hours."}switch(a.type){case"christmas":return"Καλά χριστούγεννα";case"easter":return"Καλό Πάσχα";case"newyear":return"Καλή χρονιά";case"summer":return"Καλό καλοκαίρι";default:return"Το barbershop λειτουργεί με εορταστικό ωράριο. Δείτε τις ακριβείς ημέρες και ώρες."}})(),x=(t=>{let a=e?"/en":"";switch(t){case"christmas":return`${a}/christmas-hours`;case"newyear":return`${a}/newyear-hours`;case"easter":return`${a}/easter-hours`;case"summer":return`${a}/summer-hours`;default:return`${a}/special-hours`}})(a.type);return(0,t.jsx)("section",{className:"relative px-4 md:px-8 mt-4 md:mt-16 mb-12 md:mb-20",children:(0,t.jsx)("div",{className:(0,c.cn)("max-w-5xl mx-auto rounded-3xl border shadow-2xl overflow-hidden text-white relative",p[s.type]?"":"bg-gradient-to-r",p[s.type]?"":d[s.type]??d.normal,"before:absolute before:inset-0 before:bg-[radial-gradient(circle_at_1px_1px,rgba(255,255,255,0.3)_1px,transparent_0)] before:bg-[length:16px_16px] before:opacity-30 before:pointer-events-none"),style:p[s.type]?{backgroundColor:p[s.type]}:void 0,children:(0,t.jsxs)("div",{className:"relative flex flex-col lg:flex-row items-start lg:items-center justify-between gap-6 px-6 py-6 md:px-10 md:py-8",children:[(0,t.jsxs)("div",{className:"flex items-start gap-4",children:[(0,t.jsx)("div",{className:"flex h-16 w-16 items-center justify-center rounded-2xl bg-white/15 backdrop-blur",children:o}),(0,t.jsx)("div",{className:"space-y-2",children:(0,t.jsxs)("div",{className:"space-y-1",children:[(0,t.jsx)("p",{className:"text-2xl md:text-3xl font-bold",children:g}),(0,t.jsx)("p",{className:"text-sm md:text-base text-white/90",children:b}),r.length>0&&(0,t.jsx)("div",{className:"text-xs md:text-sm text-white/80 space-y-1",children:r.map(a=>(0,t.jsx)("p",{className:"flex flex-wrap gap-2",children:(a.from||a.to)&&(0,t.jsxs)("span",{children:[e?"Closed":"Κλειστά",": ",((e,t,a="el")=>e||t?e&&t?`${h(e,a)} – ${h(t,a)}`:h(e??t,a):"")(a.from,a.to,e?"en":"el")]})},a.id))})]})})]}),(0,t.jsxs)("div",{className:"flex flex-wrap gap-3 w-full lg:w-auto",children:[(0,t.jsx)(l.default,{href:x,className:"flex-1 lg:flex-none inline-flex items-center justify-center rounded-2xl bg-white/90 text-primary px-4 py-2.5 font-semibold shadow-md hover:bg-white transition-colors",children:e?"View holiday hours":"Δείτε το Ωράριο"}),(0,t.jsx)("a",{href:"tel:+302106818011",className:"flex-1 lg:flex-none inline-flex items-center justify-center rounded-2xl border border-white/60 px-4 py-2.5 font-semibold tracking-wide text-white hover:bg-white/15 transition-colors",children:e?"Contact us":"Επικοινωνήστε"})]})]})})})}],98460);var g=e.i(27948);e.s(["HomeAppShowcase",0,({isDarkMode:e=!0,isEnglish:i=!1})=>(0,t.jsx)("section",{className:"relative py-12 px-4 max-w-6xl mx-auto",children:(0,t.jsx)(g.ScrollAnimation,{animation:"fade-up",children:(0,t.jsxs)("div",{className:"jsx-38df75
571ac457d4790 glass-app-banner p-6 sm:p-8 rounded-3xl relative overflow-hidden transition-all duration-300",children:[(0,t.jsxs)("div",{className:"jsx-38df75ac457d4790 flex flex-col lg:flex-row items-center justify-between gap-6 lg:gap-8",children:[(0,t.jsxs)("div",{className:"jsx-38df75ac457d4790 flex flex-col sm:flex-row items-center sm:items-start text-center sm:text-left gap-4 sm:gap-6 flex-1 min-w-0",children:[(0,t.jsx)("div",{className:"jsx-38df75ac457d4790 h-16 w-16 sm:h-20 sm:w-20 flex-shrink-0 rounded-2xl p-2 bg-black/40 backdrop-blur-md border border-amber-500/40 shadow-lg flex items-center justify-center",children:(0,t.jsx)("img",{src:"/monalisa-app-logo-512.png",alt:"Monalisa Barbershop",className:"jsx-38df75ac457d4790 h-full w-full object-contain rounded-xl"})}),(0,t.jsxs)("div",{className:"jsx-38df75ac457d4790 flex flex-col items-center sm:items-start",children:[(0,t.jsx)("span",{className:"jsx-38df75ac457d4790 text-[10px] sm:text-[11px] font-extrabold uppercase tracking-widest text-amber-500 dark:text-amber-400 mb-1",children:i?"OFFICIAL MOBILE APP":"ΕΠΙΣΗΜΗ ΕΦΑΡΜΟΓΗ MOBILE"}
571),(0,t.jsx)("h3",{className:"jsx-38df75ac457d4790 text-xl sm:text-2xl font-bold text-gray-900 dark:text-white tracking-tight",children:i?"Download Monalisa Barbershop App":"Αποκτήστε την Εφαρμογή μας"}),(0,t.jsx)("p",{className:"jsx-38df75ac457d4790 text-xs sm:text-sm text-gray-600 dark:text-gray-300 mt-1 max-w-lg leading-relaxed font-normal",children:i?"Book your appointments easily & quickly right from your smartphone!":"Κάντε τις κρατήσεις σας εύκολα & γρήγορα από το κινητό σας!"})]})]}),(0,t.jsxs)("div",{className:"jsx-38df75ac457d4790 flex flex-row items-end justify-center gap-4 sm:gap-6 flex-wrap",children:[(0,t.jsxs)("div",{className:"jsx-38df75ac457d4790 flex flex-col items-center",children:[(0,t.jsx)("span",{className:"jsx-38df75ac457d4790 text-[10px] font-medium text-transparent select-none mb-1",children:" "}),(0,t.jsx)("a",{href:"https://apps.apple.com/gr/app/monalisa-barbershop/id6793204149",target:"_blank",rel:"noopener noreferrer",title:i?"Download on App Store":"Κατεβάστε στο App Store",className:"jsx-38df75
571ac457d4790 group relative flex items-center justify-center transition-all duration-300 hover:scale-105 active:scale-95 focus:outline-none",children:(0,t.jsx)("img",{src:e?i?"/appstore-dark-en.svg":"/appstore-dark-gr.svg":i?"/appstore-light-en.svg":"/appstore-light-gr.svg",alt:i?"Download on the App Store":"Διαθέσιμο στο App Store",className:"jsx-38df75ac457d4790 h-10 sm:h-12 w-auto object-contain drop-shadow-md group-hover:drop-shadow-lg transition-all duration-300"})})]}),(0,t.jsxs)("div",{className:"jsx-38df75ac457d4790 flex flex-col items-center",children:[(0,t.jsx)("span",{className:"jsx-38df75ac457d4790 text-[10px] font-medium text-transparent select-none mb-1",children:" "}),(0,t.jsx)("a",{href:"https://play.google.com/store/apps/details?id=com.acronweb.monalisa.barbershop",target:"_blank",rel:"noopener noreferrer",title:i?"Get it on Google Play":"Αποκτήστε το στο Google Play",className:"jsx-38df75ac457d4790 group relative flex items-center justify-center transition-all duration-300 hover:scale-105 active:scale-95 focus:outline-none",children:(0,t.jsx)("img",{src:i?"/google-play-en.svg":"/google-play-gr.svg",alt:i?"Get it on Google Play":"Αποκτήστε το στο Google Play",className:"jsx-38df75
571ac457d4790 h-10 sm:h-12 w-auto object-contain drop-shadow-md group-hover:drop-shadow-lg transition-all duration-300"})})]})]})]}),(0,t.jsx)(a.default,{id:"38df75ac457d4790",children:".glass-app-banner.jsx-38df75ac457d4790{-webkit-backdrop-filter:blur(16px)saturate(180%);background:#ffffff73;border:1px solid #d4af3759;box-shadow:0 10px 30px -10px #0000000d}.dark .glass-app-banner.jsx-38df75ac457d4790{-webkit-backdrop-filter:blur(16px)saturate(180%);background:#121212a6;border:1px solid #d4af374d;box-shadow:0 15px 35px -10px #00000080}"})]})})})],45848);var b=e.i(87316),x=e.i(63059),f=e.i(3116),u=e.i(84614),y=e.i(69675),v=e.i(84985),w=e.i(50281),j=e.i(3488),N=e.i(38652),k=e.i(81651);async function S(e){try{let t=`https://www.acronflow.com/api/available-slots?apiKey=${encodeURIComponent("acron_d4efda88c50e84868248fdfbd66cecf6ae2692eb6edf67026f22de4424237e3c")}&date=${encodeURIComponent(e)}`,a=await fetch(t,{method:"GET",headers:{Accept:"application/json"}});if(!a.ok)return null;return await a.json()}catch{return null}}async function T(e=45){let t=new Date;t.setHours(0,0,0,0);let a=[];for(let i=0;i<e;i++){let e=new Date(t);e.setDate(t.getDate()+i),a.push({date:e,dateStr:function(e){let t=e.getFullYear(),a=String(e.getMonth()+1).padStart(2,"0"),i=String(e.getDate()).padStart(2,"0");return`${t}-${a}-${i}`}(e)})}for(let e=0;e<a.length;e+=4){let t=a.slice(e,e+4),i=(await Promise.all(t.map(async({date:e,dateStr:t})=>{let a=await S(t);if(!a?.success||!a.isBusinessOpen)return null;let i=function(e,t){for(let a of[...e].sort((e,t)=>e.time.localeCompare(t.time)))if(function(e,t){if("fully_booked"===e.status||"past_time"===e.status||function(e,t){let a=new Date;if(t.toDateString()!==a.toDateString())return!1;let[i,n]=e.split(":").map(Number),s=new Date(t);return s.setHours(i,n,0,0),s<a}(e.time,t))return!1;let a=e.employeeNames,i=Array.isArray(a)&&a.length>0,n=e.availableEmployees;return i?!Array.isArray(n)||n.length>0:!Array.isArray(n)||0!==n.length}(a,t))return a.time;return null}(a.availableSlots||[],e);return i?{date:e,time:i,dateStr:t}:null}))).find(Boolean);if(i)return i}return null}function R(){let e=new Date().getHours();return e>=5&&e<12?"morning":e>=12&&e<20?"afternoon":"evening"}function E(e=R()){return`/rantevouly-hero/${e}.jpg`}function P(e=!0,t=R()){return e?"linear-gradient(to right, rgba(2,10,25,0.78), rgba(2,10,25,0.45), rgba(29,78,216,0.35))":"evening"===t?"linear-gradient(to right, rgba(8,18,42,0.72), rgba(8,18,42,0.38), rgba(29,78,216,0.28))":"morning"===t?"linear-gradient(to right, rgba(23,37,84,0.55), rgba(30,58,138,0.42), rgba(29,78,216,0.32))":"linear-gradient(to right, rgba(3,30,56,0.62), rgba(30,58,138,0.4), rgba(29,78,216,0.3))"}let B={Μάριος:"Marios",Μαριος:"Marios",Άγγελος:"Aggelos",Αγγελος:"Aggelos"},L={Κούρεμα:"Haircut","Παιδικό κούρεμα":"Kids haircut","Κούρεμα και Μούσι":"Haircut & Beard",Μούσι:"Beard trim","Σχηματισμός & Καθαρισμός Φρυδιών":"Eyebrow shaping","Black Mask":"Black Mask",Αποτρίχωση:"Waxing",Λούτερα:"Scalp treatment"};function A({label:e}){return(0,t.jsxs)("div",{className:(0,c.cn)(v.SOFT_CTA,"inline-flex shrink-0 items-center gap-1.5 bg-white py-1.5 pl-1.5 pr-2.5 text-[13px] font-extrabold text-[#1D4ED8] shadow-[0_4px_14px_rgba(29,78,216,0.28)]"),children:[(0,t.jsx)(v.SoftBlob,{tone:"blue",size:26,tilt:!0,children:(0,t.jsx)(b.Calendar,{className:"h-3.5 w-3.5",style:{color:v.BUBBLE_TONES.blue.ink},strokeWidth:2.4})}),(0,t.jsx)("span",{className:"shrink-0 whitespace-nowrap",style:{fontFamily:"system-ui, -apple-system, Segoe UI, sans-serif"},children:e}),(0,t.jsx)(x.ChevronRight,{className:"h-4 w-4 stroke-[2.6]",style:{color:v.BUBBLE_TONES.blue.ink}})]})}function z({children:e,heroPhoto:a,heroScrim:i}){return(0,t.jsxs)("div",{className:(0,c.cn)(v.SOFT_SHELL,"relative w-full overflow-hidden border border-white/15 bg-[#0b1f3a] shadow-2xl"),children:[(0,t.jsx)("img",{src:a,alt:"",className:"pointer-events-none absolute inset-0 h-full w-full object-cover"}),(0,t.jsx)("div",{className:"pointer-events-none absolute inset-0",style:{background:i}}),(0,t.jsx)("div",{className:"pointer-events-none absolute inset-x-0 top-0 h-12 bg-gradient-to-b from-white/15 to-transparent"}),(0,t.jsx)("div",{className:"pointer-events-none absolute -right-7 -top-10 h-36 w-36 rounded-full bg-blue-500/35 blur-2xl"}),(0,t.jsx)("div",{className:"relative z-10 flex flex-col gap-3.5 p-4 sm:gap-4 sm:p-5",children:e}),(0,t.jsx)("img",{src:"/rantevouly.png",alt:"",className:"pointer-events-none absolute bottom-1 right-1 z-0 h-20 w-20 object-contain opacity-15"})]})}function _({isEnglish:e=!1}){let a,n,{user:s}=(0,j.useCustomerAuth)(),[r,o]=(0,i.useState)(null),[m,c]=(0,i.useState)(null),[d,p]=(0,i.useState)(!0),[h,g]=(0,i.useState)(0),x=(0,i.useRef)(null),S=(0,i.useRef)(!1),_=(0,i.useRef)(null),C=R(),Y=E(C),D=P(!0,C),O=e?"/en/my-appointments":"/ta-rantevou",$=e?"/en/booking":"/rantevou";(0,i.useEffect)(()=>{let e=!0;return p(!0),T().then(t=>{e&&c(t)}).finally(()=>{e&&p(!1)}),()=>{e=!1}},[]),(0,i.useEffect)(()=>
571{if(!s?.uid)return void o(null);let e=!0;return(0,N.fetchNextUpcomingAppointment)(s.uid).then(t=>{e&&o(t)}).catch(()=>{e&&o(null)}),()=>{e=!1}},[s?.uid]);let G=!!(s&&r),W=+!!G+1;(0,i.useEffect)(()=>{if(W<2)return;let e=setInterval(()=>{S.current||g(e=>{let t=(e+1)%W,a=x.current;return a&&a.scrollTo({left:t*a.clientWidth,behavior:"smooth"}),t})},5600);return()=>clearInterval(e)},[W,r?.id]),(0,i.useEffect)(()=>()=>{_.current&&clearTimeout(_.current)},[]);let F=m?function(e,t){let a=new Date;a.setHours(0,0,0,0);let i=new Date(a);i.setDate(a.getDate()+1);let n=e.date.getTime()===a.getTime(),s=e.date.getTime()===i.getTime(),r=t?"Next available":"Επόμενο διαθέσιμο";if(n)return{eyebrow:r,detail:t?`Today \xb7 ${e.time}`:`Σήμερα \xb7 ${e.time}`,isToday:!0};let o=e.date.toLocaleDateString(t?"en-US":"el-GR",{day:"numeric",month:"short"});if(s)return{eyebrow:r,detail:t?`Tomorrow \xb7 ${o} \xb7 ${e.time}`:`Αύριο \xb7 ${o} \xb7 ${e.time}`,isToday:!1};let l=e.date.toLocaleDateString(t?"en-US":"el-GR",{weekday:"short",day:"numeric",month:"short"});
571return{eyebrow:r,detail:`${l} \xb7 ${e.time}`,isToday:!1}}(m,e):null,M=F?.detail?.split("·").map(e=>e.trim()).filter(Boolean)??[],I=M.length>1?M[M.length-1]:null,U=M.length>1?M.slice(0,-1).join(" · "):M[0],H=r?function(e,t){let a=(0,k.getAppointmentStart)(e);if(!a)return null;let i=a.getTime()-Date.now();if(i<=0)return null;let n=Math.floor(i/36e5),s=Math.floor(n/24);if(s>=1)return t?`in ${s} day${s>1?"s":""}`:`σε ${s} ημέρ${1===s?"α":"ες"}`;if(n>=1)return t?`in ${n} hour${n>1?"s":""}`:`σε ${n} ώρ${1===n?"α":"ες"}`;let r=Math.max(1,Math.floor(i/6e4));return t?`in ${r} min`:`σε ${r} λεπτά`}(r,e):null,K=(0,i.useMemo)(()=>(0,t.jsx)(y.GuestBookingButton,{href:$,isEnglish:e,wrapperClassName:"block w-full",className:"block w-full text-left",children:(0,t.jsxs)(z,{heroPhoto:Y,heroScrim:D,children:[(0,t.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,t.jsxs)("div",{className:"flex min-w-0 flex-1 items-center gap-2 overflow-hidden pr-2",children:[(0,t.jsx)("img",{src:"/rantevouly.png",alt:"",className:"h-5 w-5 shrink-0 object-contain sm:h-6 sm:w-6"}),(0,t.jsx)("img",{src:"/rantevouly-text.png",alt:"rantevouly",className:"h-4 w-auto min-w-0 object-contain object-left brightness-0 invert sm:h-5"})]}),(0,t.jsx)(w.SoftBlobChromePill,{tone:"mint",cue:"live",blobSize:22,glyphSize:11,label:e?"Live slots":"Διαθέσιμα",glyph:({size:e,color:a})=>(0,t.jsx)(f.Clock,{style:{width:e,height:e,color:a},strokeWidth:2.4})})]}),(0,t.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,t.jsxs)("div",{className:"flex min-w-0 flex-1 items-center gap-3",children:[(0,t.jsx)(v.SoftBlob,{tone:"blue",size:48,tilt:!0,children:d?(0,t.jsx)("span",{className:"h-5 w-5 animate-spin rounded-full border-2 border-[#1D4ED8]/30 border-t-[#1D4ED8]"}):(0,t.jsx)(b.Calendar,{className:"h-5 w-5",style:{color:v.BUBBLE_TONES.blue.ink},strokeWidth:2.2})}),(0,t.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col gap-0.5",children:[(0,t.jsx)("span",{className:"text-[11px] font-semibold tracking-tight text-white/80 sm:text-xs",children:e?"Next available appointment":"Επόμενο διαθέσιμο ραντεβού"}),d?(0,t.jsx)("span",{className:"truncate text-base font-extrabold text-white sm:text-lg",children:e?"Loading…":"Φόρτωση…"}):F?(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,t.jsx)("span",{className:"truncate text-base font-extrabold tracking-tight text-white sm:text-lg",children:U}),I?(0,t.jsx)("span",{className:"inline-flex items-center rounded-full border border-white/20 bg-white/20 px-2.5 py-0.5 text-xs font-extrabold text-white backdrop-blur-md sm:text-sm",children:I}):null]}):(0,t.jsx)("span",{className:"truncate text-sm font-bold text-white sm:text-base",children:e?"Open booking to see times":"Άνοιξε το booking για ώρες"})]})]}),(0,t.jsx)(A,{label:e?"Book":"Κλείσε"})]})]})}),[$,U,Y,D,e,F,d,I]);return G&&r?(0,t.jsxs)("div",{className:"mx-auto w-full max-w-xl",children:[(0,t.jsxs)("div",{ref:x,className:"flex snap-x snap-mandatory overflow-x-auto",style:{scrollbarWidth:"none"},onScroll:()=>{S.current=!0;let e=x.current;e&&g(Math.round(e.scrollLeft/Math.max(1,e.clientWidth))),_.current&&clearTimeout(_.current),_.current=setTimeout(()=>{S.current=!1},1800)},children:[(0,t.jsx)("div",{className:"w-full shrink-0 snap-center",children:(0,t.jsxs)(z,{heroPhoto:Y,heroScrim:D,children:[(0,t.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,t.jsxs)("div",{className:"flex min-w-0 flex-1 items-center gap-2 overflow-hidden pr-2",children:[(0,t.jsx)("img",{src:"/rantevouly.png",alt:"",className:"h-5 w-5 shrink-0 object-contain sm:h-6 sm:w-6"}),(0,t.jsx)("img",{src:"/rantevouly-text.png",alt:"rantevouly",className:"h-4 w-auto min-w-0 object-contain object-left brightness-0 invert sm:h-5"})]}),(0,t.jsx)(w.SoftBlobChromePill,{tone:"blue",blobSize:22,glyphSize:11,label:H||(e?"Booked":"Κλεισμένο"),glyph:({size:e,color:a})=>H?(0,t.jsx)(f.Clock,{style:{width:e,height:e,color:a},strokeWidth:2.4}):(0,t.jsx)(b.Calendar,{style:{width:e,height:e,color:a},strokeWidth:2.4})})]}),(0,t.jsxs)(l.default,{href:O,className:"flex items-center justify-between gap-3 text-left",children:[(0,t.jsxs)("div",{className:"flex min-w-0 flex-1 items-center gap-3",children:[(0,t.jsx)(v.SoftBlob,{tone:"blue",size:48,tilt:!0,children:(0,t.jsx)(b.Calendar,{className:"h-5 w-5",style:{color:v.BUBBLE_TONES.blue.ink},strokeWidth:2.2})}),(0,t.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col gap-0.5",children:[(0,t.jsx)("span",{className:"text-[11px] font-semibold tracking-tight text-white/80 sm:text-xs",children:e?"Your next appointment":"Το επόμενο σου ραντεβού"}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,t.jsx)("span",{className:"truncate text-base font-extrabold tracking-tight text-white sm:text-lg",children:function(e,t){let[a,i,n]=e.split("-").map(Number);return a&&i&&n?new Date(a,i-1,n).toLocaleDateString(t?"en-GB":"el-GR",{weekday:"long",day:"numeric",month:"short"}):e}(r.dateStr,e)}),(0,t.jsx)("span",{className:"inline-flex items-center rounded-full border border-white/20 bg-white/20 px-2.5 py-0.5 text-xs font-extrabold text-white backdrop-blur-md sm:text-sm",children:r.appointmentTime})]}),(0,t.jsxs)("div",{className:"mt-0.5 flex flex-wrap items-center gap-x-2 gap-y-0.5 text-[12px] font-semibold text-white/80",children:[(0,t.jsx)("span",{className:"truncate",children:(a=r.serviceLabels?.[0]||r.serviceValues?.[0]||(e?"Service":"Υπηρεσία"),e&&L[a]||a)}),(0,t.jsx)("span",{className:"text-white/40",children:"·"}),(0,t.jsxs)("span",{className:"inline-flex items-center gap-1 truncate",children:[(0,t.jsx)(u.User,{className:"h-3 w-3 shrink-0 opacity-80",strokeWidth:2.2}),(n=r.employeeNames?.find(e=>e&&e.trim()&&"__anyone__"!==e))?e&&B[n]||n:r.anyone?e?"Anyone":"Οποιοσδήποτε":e?"Barber":"Μπαρμπέρης"]})]})]})]}),(0,t.jsx)(A,{label:e?"View":"Δες"})]})]})}),(0,t.jsx)("div",{className:"w-full shrink-0 snap-center",children:K})]}),(0,t.jsx)("div",{className:"mt-2.5 flex items-center justify-center gap-1.5",children:Array.from({length:W}).map((e,a)=>(0,t.jsx)("span",{className:`h-1.5 rounded-full transition-all ${a===
571h?"w-4 bg-white/90":"w-1.5 bg-white/35"}`},a))})]}):(0,t.jsx)("div",{className:"mx-auto w-full max-w-xl",children:K})}e.s(["HomeRantevoulyCarousel",()=>_],20283);var C=e.i(70273),Y=e.i(37727),D=e.i(36800),O=e.i(8712),$=e.i(5056),G=e.i(63848);function W({isEnglish:e=!1}){let{user:a}=(0,j.useCustomerAuth)(),[n,s]=(0,i.useState)(null),[r,o]=(0,i.useState)(null),[l,m]=(0,i.useState)(!1),d=R(),p=E(d),h=P(!0,d),g=(0,i.useCallback)(()=>{a?.uid?(0,O.fetchReviewCandidateAppointment)(a.uid).then(s).catch(()=>s(null)):s(null)},[a?.uid]);return((0,i.useEffect)(()=>{g()},[g]),(0,i.useEffect)(()=>{let e=!0;return(0,$.resolveMonalisaCompanyId)().then(t=>{e&&o(t||$.FALLBACK_COMPANY_ID)}).catch(()=>{e&&o($.FALLBACK_COMPANY_ID)}),()=>{e=!1}},[]),a?.uid&&n)?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:(0,c.cn)(v.SOFT_SHELL,"relative mx-auto w-full max-w-xl overflow-hidden border border-white/15 bg-[#0b1f3a] shadow-2xl"),children:[(0,t.jsx)("img",{src:p,alt:"",className:"pointer-events-none absolute inset-0 h-full w-full object-cover"}),(0,t.jsx)("div",{className:"pointer-events-none absolute inset-0",style:{background:h}}),(0,t.jsx)("div",{className:"pointer-events-none absolute inset-x-0 top-0 h-12 bg-gradient-to-b from-white/15 to-transparent"}),(0,t.jsxs)("div",{className:"relative z-10 flex flex-col gap-3.5 p-4 sm:p-5",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("img",{src:"/rantevouly.png",alt:"",className:"h-5 w-5 object-contain"}),(0,t.jsx)("img",{src:"/rantevouly-text.png",alt:"rantevouly",className:"h-4 w-auto object-contain brightness-0 invert"})]}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(w.SoftBlobChromePill,{tone:"lemon",blobSize:22,glyphSize:11,label:e?"Rate visit":"Κριτική",glyph:({size:e})=>(0,t.jsx)(C.Star,{style:{width:e,height:e,color:"#f0c24c",fill:"#f0c24c"},strokeWidth:0})}),(0,t.jsx)("button",{type:"button",onClick:()=>{let e=(0,O.reviewAppointmentKey)(n);(0,O.dismissReviewPrompt)(e),s(null)},className:"flex h-8 w-8 items-center justify-center rounded-full border border-white/20 bg-black/35 text-white/90","aria-label":e?"Dismiss":"Απόκρυψη",children:(0,t.jsx)(Y.X,{className:"h-4 w-4",strokeWidth:2.4})})]})]}),(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsx)(v.SoftBlob,{tone:"lemon",size:48,tilt:!0,children:(0,t.jsx)(C.Star,{className:"h-[22px] w-[22px]",style:{color:v.BUBBLE_TONES.lemon.ink},strokeWidth:2})}),(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsx)("p",{className:"truncate text-[11px] font-semibold tracking-tight text-white/80",children:e?"Leave us a review":"Άφησε μας κριτική"}),(0,t.jsx)("p",{className:"mt-0.5 truncate text-base font-extrabold tracking-tight text-white sm:text-lg",children:function(e,t){let[a,i,n]=e.split("-").map(Number);return a&&i&&n?new Date(a,i-1,n).toLocaleDateString(t?"en-GB":"el-GR",{weekday:"long",day:"numeric",month:"short"}):e}(n.dateStr,e)}),(0,t.jsx)("p",{className:"mt-0.5 truncate text-xs font-semibold text-white/75",children:e?"Google & Rantevouly — thank you!":"Google & Rantevouly — ευχαριστούμε!"})]})]}),(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsxs)("button",{type:"button",onClick:()=>{let e=(0,O.reviewAppointmentKey)(n);(0,O.markGoogleReviewDone)(e),window.open(D.GOOGLE_PLACE_URL,"_blank","noopener,noreferrer")},className:(0,c.cn)(v.SOFT_CTA,"flex flex-1 items-center justify-center gap-1.5 bg-white px-3 py-2.5 text-[13px] font-extrabold text-slate-900"),"aria-label":e?"Review on Google":"Κριτική στο Google",children:[(0,t.jsx)("img",{src:"/Google_Favicon_2025.webp",alt:"",className:"h-3.5 w-3.5 object-contain"}),"Google"]}),(0,t.jsxs)("button",{type:"button",disabled:!r,onClick:()=>m(!0),className:(0,c.cn)(v.SOFT_CTA,"flex flex-1 items-center justify-center gap-1.5 border border-white/20 bg-blue-600 px-3 py-2.5 disabled:opacity-50"),"aria-label":e?"Rate on Rantevouly":"Βαθμολογία στο Rantevouly",children:[(0,t.jsx)(v.SoftBlob,{tone:"blue",size:22,tilt:!0,children:(0,t.jsx)(C.Star,{className:"h-[11px] w-[11px]",style:{color:v.BUBBLE_TONES.blue.ink,fill:v.BUBBLE_TONES.blue.ink},strokeWidth:0})}),(0,t.jsx)("span",{className:"text-[13px] font-extrabold text-white",children:e?"Rate":"Κριτική"})]})]})]}),(0,t.jsx)("img",{src:"/rantevouly.png",alt:"",className:"pointer-events-none absolute bottom-1 right-1 z-0 h-20 w-20 object-contain opacity-15"})]}),r&&n&&a?.uid?(0,t.jsx)(G.VenueReviewSheet,{visible:l,onClose:()=>m(!1),companyId:r,monalisaUid:a.uid,customerEmail:a.email,isEnglish:e,appointment:(0,$.toReviewAppointmentRef)(n,r),onSubmitted:()=>
571{let e=(0,O.reviewAppointmentKey)(n);(0,O.markRantevoulyReviewDone)(e),(0,O.dismissReviewPrompt)(e),s(null),m(!1)}}):null]}):null}e.s(["HomeReviewNudge",()=>W],16163);var F=e.i(67240);let M={Μάριος:"Marios",Μαριος:"Marios",Άγγελος:"Aggelos",Αγγελος:"Aggelos"};function I({isEnglish:e=!1}){let a,{user:n,isCustomer:s}=(0,j.useCustomerAuth)(),[r,o]=(0,i.useState)(null);if((0,i.useEffect)(()=>{if(!n?.uid||!s)return void o(null);let e=!0;return(0,N.fetchLastBooking)(n.uid).then(t=>{e&&o(t)}).catch(()=>{e&&o(null)}),()=>{e=!1}},[n?.uid,s]),!n||!s||!r)return null;let m=(0,N.lastBookingBookingHref)(r,e),d=r.serviceLabels?.[0]||r.serviceValues?.[0]||(e?"Service":"Υπηρεσία");return(0,t.jsx)("div",{className:"mx-auto w-full max-w-xl px-2",children:(0,t.jsxs)(l.default,{href:m,className:(0,c.cn)(v.SOFT_ROW,"group flex w-full items-center gap-2.5 border border-[#D2E4FC] bg-white py-2.5 pl-2 pr-2.5 shadow-[0_4px_16px_rgba(29,78,216,0.18)] transition hover:scale-[0.99]"),children:[(0,t.jsx)(v.SoftBlob,{tone:"blue",size:40,tilt:!0,children:(0,t.jsx)(F.RotateCcw,{className:"h-4 w-4",style:{color:v.BUBBLE_TONES.blue.ink},strokeWidth:2.3})}),(0,t.jsxs)("span",{className:"min-w-0 flex-1 text-left",children:[(0,t.jsx)("span",{className:"block text-[13px] font-extrabold tracking-tight text-[#1D4ED8]",children:e?"Repeat last booking":"Επανάληψη τελευταίου"}),(0,t.jsxs)("span",{className:"mt-1 flex flex-wrap items-center gap-1.5",children:[(0,t.jsx)("span",{className:(0,c.cn)(v.SOFT_PILL,"inline-flex max-w-full items-center gap-1 border border-[#D2E4FC] bg-[#EEF4FF] px-2 py-0.5 text-[11px] font-bold text-[#1D4ED8]"),children:(0,t.jsx)("span",{className:"truncate",children:d})}),(0,t.jsxs)("span",{className:(0,c.cn)(v.SOFT_PILL,"inline-flex max-w-full items-center gap-1 border border-[#BFE8DC] bg-[#E6F7F4] px-2 py-0.5 text-[11px] font-bold text-[#0F766E]"),children:[(0,t.jsx)(u.User,{className:"h-3 w-3 shrink-0",strokeWidth:2.3}),(0,t.jsx)("span",{className:"truncate",children:(a=r.employeeNames?.find(e=>e&&e.trim()&&"__anyone__"!==e))?e&&M[a]||a:r.anyone?e?"Anyone":"Οποιοσδήποτε":e?"Barber":"Μπαρμπέρης"})]})]})]}),(0,t.jsx)(v.SoftBlob,{tone:"lilac",size:28,tilt:!0,children:(0,t.jsx)(x.ChevronRight,{className:"h-3.5 w-3.5",style:{color:v.BUBBLE_TONES.lilac.ink},strokeWidth:2.6})})]})})}e.s(["HomeRepeatLastBooking",()=>I],29733)}]);

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.