1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8450],{4760:(e,t,n)=>{"use strict";n.d(t,{LazySearchPanel:()=>a});var r=n(56737),l=n(83908),i=n(55951),s=n(81637);let u=(0,s.lazy)(()=>Promise.all([n.e(5067),n.e(8456),n.e(6592),n.e(7327),n.e(800),n.e(7853),n.e(4289),n.e(226),n.e(6919),n.e(9620),n.e(3070),n.e(1622),n.e(5431),n.e(7554),n.e(6082),n.e(2782),n.e(16)]).then(n.bind(n,16)).then(e=>({default:e.SearchPanel})));function a(){let e=(0,i.Qv)();return(0,s.useEffect)(()=>{if(!e.shouldMount)return l.BT.subscribe(e=>e.lastEvent,t=>{if((null==t?void 0:t.name)!=="search-panel")return;let n=t.payload;(null==n?void 0:n.open)&&e.runWhenMounted(()=>{l.Bt.emit("search-panel",{open:!0})})})},[e]),(0,r.jsx)(i.T2,{shouldMount:e.shouldMount,notifyMounted:e.notifyMounted,children:(0,r.jsx)(u,{})})}},4834:(e,t,n)=>{"use strict";n.d(t,{t:()=>l,B:()=>i});var r=n(56737);let l=(0,n(81637).createContext)({hotline:"0968 368 678",messengerUrl:"https://m.me/justfly.vn",facebookUrl:"https://www.facebook.com/justfly.vn",zaloOaUrl:"https://zalo.me/4205728784829700103",whatsappPhone:"",email:"[email protected]",companyName:"C\xf4ng ty Cá» Phần C\xf4ng Nghá» JUSTFLY",companyAddress:"Ph\xf2ng 402, Sá» 438 Khương Ä\xecnh, Phưá»ng Hạ Ä\xecnh, Quáºn Thanh Xu\xe2n, H\xe0 Ná»i"});function i(e){let{value:t,children:n}=e;return(0,r.jsx)(l.Provider,{value:t,children:n})}},12127:(e,t,n)=>{"use strict";n.d(t,{GtmLoader:()=>u});var r=n(56737),l=n(70404),i=n(81637);let s=["gclid","gbraid","wbraid","fbclid","ttclid","msclkid"];
1function u(e){let{config:t}=e,[n,u]=(0,i.useState)(!1);return((0,i.useEffect)(()=>{let e=new URLSearchParams(window.location.search);if(s.some(t=>e.has(t)))return void u(!0);let t=()=>u(!0);if("function"==typeof window.requestIdleCallback){let e=window.requestIdleCallback(t,{timeout:3500});return()=>{var t,n;return null==(t=(n=window).cancelIdleCallback)?void 0:t.call(n,e)}}let n=window.setTimeout(t,3500);return()=>window.clearTimeout(n)},[]),n)?(0,r.jsx)(l.GoogleTagManager,{gtmId:t.gtmId,auth:t.auth,preview:t.preview}):null}},19243:(e,t,n)=>{"use strict";n.d(t,{g:()=>d,_:()=>c});var r=n(66946),l=n(19807),i=n(74580),s=n(31986);async function u(){let e=await s.fz.myWishlists({req:{pageSize:100,pageNumber:1}});return(0,i.Ic)(e.customerService.myWishlists).items.map(e=>({id:e.serviceId,type:e.serviceType,addedAt:e.addedAt}))}async function a(e){let{serviceType:t,serviceId:n}=e;await (0,s.r9)(async()=>{let e=await s.fz.addWishlist({input:{serviceType:t,serviceId:n}});(0,s.QS)(e.customerService.addWishlist)})}async function o(e){let{serviceType:t,serviceId:n}=e;await (0,s.r9)(async()=>{let e=await s.fz.removeWishlist({input:{serviceType:t,serviceId:n}});(0,s.QS)(e.customerService.removeWishlist)})}let c={all:["wishlist"],refs:()=>["wishlist","refs"],cards:(e,t)=>["wishlist","cards",e,t],isIn:(e,t)=>["wishlist","isIn",e,t]},d={myRefs:e=>(0,r.j)({queryKey:c.refs(),queryFn:u,enabled:e}),add:e=>f(e,a,(e,t)=>{let{serviceType:n,serviceId:r}=t;return e.some(e=>e.type===n&&e.id===r)?e:[{id:r,type:n,addedAt:new Date().toISOString()},...e]}),remove:e=>f(e,o,(e,t)=>{let{serviceType:n,serviceId:r}=t;return e.filter(e=>e.type!==n||e.id!==r)})};function f(e,t,n){return(0,l.I)({mutationFn:t,onMutate:async t=>{await e.cancelQueries({queryKey:c.refs()});let r=e.getQueryData(c.refs());return e.setQueryData(c.refs(),function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return n(e,t)}),{previous:r}},onError:(t,n,r)=>{(null==r?void 0:r.previous)&&e.setQueryData(c.refs(),r.previous)},onSettled:()=>{e.invalidateQueries({queryKey:c.all})}})}},23758:(e,t,n)=>{"use strict";n.d(t,{Providers:()=>w});var r=n(56737),l=n(4834),i=n(31986),s=n(66801),u=n(84294),a=n(81637),o=n(62787),c=n(19243);function d(){return!function(){let{isAuthenticated:e}=(0,s.c)(),t=(0,u.jE)(),n=(0,a.useRef)(!1);(0,a.useEffect)(()=>{if(!e){n.current=!1;return}if(n.current)return;n.current=!0;let r=o.X.getSnapshot();0!==r.length&&(async()=>{try{await Promise.all(r.map(e=>i.fz.addWishlist({input:{serviceType:e.type,serviceId:e.id}})))}finally{o.X.clear(),t.invalidateQueries({queryKey:c._.refs()})}})()},[e,t])}(),null}
1var f=n(10325),h=n(5312),v=n(72896);let m=()=>Promise.all([n.e(226),n.e(1696),n.e(9751)]).then(n.bind(n,19751)).then(e=>e.default),w=e=>{let{siteConfig:t,children:n}=e,[i]=(0,a.useState)(()=>new f.E({defaultOptions:{queries:{staleTime:6e4}}}));return(0,r.jsx)(l.B,{value:t,children:(0,r.jsx)(v.CP,{refetchOnWindowFocus:!1,refetchInterval:0,children:(0,r.jsxs)(u.Ht,{client:i,children:[(0,r.jsx)(d,{}),(0,r.jsx)(h.F,{features:m,strict:!0,children:n})]})})})}},48646:(e,t,n)=>{"use strict";n.d(t,{LazyAuthDialog:()=>a});var r=n(56737),l=n(81212),i=n(55951),s=n(81637);let u=(0,s.lazy)(()=>Promise.all([n.e(8456),n.e(6592),n.e(7327),n.e(800),n.e(4289),n.e(4794),n.e(7496)]).then(n.bind(n,16962)).then(e=>({default:e.AuthDialog})));function a(){let e=(0,i.Qv)({prefetchOnIdle:!1});return(0,s.useEffect)(()=>l.z.subscribe((t,n)=>{t.open&&!n.open&&e.runWhenMounted(()=>{})}),[e]),(0,r.jsx)(i.T2,{shouldMount:e.shouldMount,notifyMounted:e.notifyMounted,children:(0,r.jsx)(u,{})})}},55951:(e,t,n)=>{"use strict";n.d(t,{T2:()=>s,PP:()=>o,Qv:()=>a});var r=n(56737),l=n(81637);function i(e){let{onMount:t,children:n}=e;return(0,l.useEffect)(()=>{t()},[t]),(0,r.jsx)(r.Fragment,{children:n})}function s(e){let{shouldMount:t,notifyMounted:n,children:s,fallback:u=null}=e;return t?(0,r.jsx)(l.Suspense,{fallback:u,children:n?(0,r.jsx)(i,{onMount:n,children:s}):s}):null}function u(e){let{delay:t=3e3,timeout:n=2e3}=e??{},[r,i]=(0,l.useState)(!1);return(0,l.useEffect)(()=>{let e=!1,r=null,l=null,s=()=>{e||i(!0)},u=window.setTimeout(()=>{e||("function"==typeof window.requestIdleCallback?(r=window.requestIdleCallback(s,{timeout:n}),l=()=>{var e,t;null!=r&&(null==(e=(t=window).cancelIdleCallback)||e.call(t,r))}):(r=window.setTimeout(s,200),l=()=>{null!=r&&window.clearTimeout(r)}))},t);return()=>{e=!0,window.clearTimeout(u),null==l||l()}},[t,n]),r}function a(e){let{prefetchOnIdle:t=!0,...n}=e??{},r=u(n),[i,s]=(0,l.useState)(!1),a=(0,l.useRef)(null),o=(0,l.useRef)(!1);return{shouldMount:t&&r||i,runWhenMounted:(0,l.useCallback)(e=>{o.current?e():(a.current=e,s(!0))},[]),notifyMounted:(0,l.useCallback)(()=>{o.current=!0,a.current&&(a.current(),a.current=null)},[])}}function o(e){let{prefetchOnIdle:t=!0,...n}=e??{},r=u(n),[i,s]=(0,l.useState)(!1),a=(0,l.useRef)(null),o=(0,l.useRef)(null),c=(0,l.useCallback)(e=>{if(a.current=e,e&&o.current){let t=o.current;o.current=null,t(e)}},[]);return{shouldMount:t&&r||i,attach:c,call:(0,l.useCallback)(e=>{a.current?e(a.current):(o.current=e,s(!0))},[]),callIfReady:(0,l.useCallback)(e=>{a.current&&e(a.current)},[])}}},62787:(e,t,n)=>{"use strict";n.d(t,{X:()=>i});let r="jf:wishlist:refs",l=[],i=function(){let e=new Set,t={raw:null,value:l};function n(){let e=window.localStorage.getItem(r);if(e===t.raw)return t.value;try{t={raw:e,value:e?JSON.parse(e):l}}catch{t={raw:e,value:l}}return t.value}function i(t){window.localStorage.setItem(r,JSON.stringify(t)),e.forEach(e=>e())}return{subscribe:t=>(e.add(t),window.addEventListener("storage",t),()=>{e.delete(t),window.removeEventListener("storage",t)}),getSnapshot:n,getServerSnapshot:()=>l,has:(e,t)=>n().some(n=>n.type===e&&n.id===t),add(e,t){let r=n();r.some(n=>n.type===e&&n.id===t)||i([{id:t,type:e,addedAt:new Date().toISOString()},...r])},remove(e,t){let r=n(),l=r.filter(n=>n.type!==e||n.id!==t);l.length!==r.length&&i(l)},clear(){window.localStorage.removeItem(r),e.forEach(e=>e())}}}()},66801:(e,t,n)=>{"use strict";n.d(t,{c:()=>l});var r=n(72896);function l(){let{data:e,status:t,update:n}=(0,r.wV)(),l=null==e?void 0:e.principal,i=(null==l?void 0:l.type)==="customer"?l:null;return{customer:i,status:t,isAuthenticated:"authenticated"===t&&!!i,isLoading:"loading"===t,update:n}}},72187:()=>{},81212:(e,t,n)=>{"use strict";n.d(t,{z:()=>i});var r=n(78591);let l={phone:"",requestId:"",resetPasswordMode:!1},i=(0,r.v)(e=>({open:!1,mode:"INIT",...l,setPhone:t=>e({phone:t}),openInit:()=>e({open:!0,mode:"INIT",...l}),goToPassword:()=>e({open:!0,mode:"PASSWORD",requestId:"",resetPasswordMode:!1}),goToOtp:function(t){let n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return e({open:!0,mode:"OTP",requestId:t,resetPasswordMode:n})},goToProfileCompletion:()=>e({open:!0,mode:"PROFILE_COMPLETION"}),close:()=>e({open:!1,mode:"INIT",...l})}))}
1,83074:(e,t,n)=>{Promise.resolve().then(n.bind(n,72896)),Promise.resolve().then(n.bind(n,23871)),Promise.resolve().then(n.bind(n,24053)),Promise.resolve().then(n.t.bind(n,99032,23)),Promise.resolve().then(n.bind(n,23758)),Promise.resolve().then(n.t.bind(n,72187,23)),Promise.resolve().then(n.bind(n,48646)),Promise.resolve().then(n.bind(n,12127)),Promise.resolve().then(n.bind(n,4760))},83908:(e,t,n)=>{"use strict";n.d(t,{Bt:()=>s,BT:()=>i,iX:()=>a});var r=n(78591),l=n(43340);let i=(0,r.v)()((0,l.eh)(e=>({lastEvent:null,emit:(t,n)=>{e({lastEvent:{name:t,payload:n,uid:`${Date.now()}-${Math.random()}`}})}}))),s={emit:i.getState().emit};var u=n(81637);function a(e,t){let n=(0,u.useRef)(t);(0,u.useEffect)(()=>{n.current=t},[t]),(0,u.useEffect)(()=>i.subscribe(e=>e.lastEvent,t=>{t&&t.name===e&&n.current&&n.current(t.payload)}),[e])}}},e=>{e.O(0,[5490,5718,7836,2896,3871,856,3315,9435,3798,8828,1986,538,5190,7358],()=>e(e.s=83074)),_N_E=e.O()}]);
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.