PageSourceSearch

https://www.nomadays.fr/_next/static/chunks/fabe932ee4bf608a.js?dpl=dpl_972WebxapVzEYbJuiZUQ4tM42sjk

js nomadays.fr collected 2026-10-02 21:30:18 UTC 34,677 bytes, 1 lines download raw bytes

1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,555365,t=>{"use strict";var e=t.i(491926),r=t.i(86900),i=e.createContext(void 0),n=t=>{let r=e.useContext(i);if(t)return t;if(!r)throw Error("No QueryClient set, use QueryClientProvider to set one");return r},s=({client:t,children:n})=>(e.useEffect(()=>(t.mount(),()=>{t.unmount()}),[t]),(0,r.jsx)(i.Provider,{value:t,children:n}));t.s(["QueryClientProvider",()=>s,"useQueryClient",()=>n])},178154,t=>{"use strict";var e={setTimeout:(t,e)=>setTimeout(t,e),clearTimeout:t=>clearTimeout(t),setInterval:(t,e)=>setInterval(t,e),clearInterval:t=>clearInterval(t)},r=new class{#t=e;#e=!1;setTimeoutProvider(t){this.#t=t}setTimeout(t,e){return this.#t.setTimeout(t,e)}clearTimeout(t){this.#t.clearTimeout(t)}setInterval(t,e){return this.#t.setInterval(t,e)}clearInterval(t){this.#t.clearInterval(t)}};function i(t){setTimeout(t,0)}t.s(["systemSetTimeoutZero",()=>i,"timeoutManager",()=>r])},130487,t=>{"use strict";var e=t.i(178154),r="u"<typeof window||"Deno"in globalThis;function i(){}function n(t,e){return"function"==typeof t?t(e):t}function s(t){return"number"==typeof t&&t>=0&&t!==1/0}function a(t,e){return Math.max(t+(e||0)-Date.now(),0)}function o(t,e){return"function"==typeof t?t(e):t}function u(t,e){return"function"==typeof t?t(e):t}function l(t,e){let{type:r="all",exact:i,fetchStatus:n,predicate:s,queryKey:a,stale:o}=t;if(a){if(i){if(e.queryHash!==h(a,e.options))return!1}else if(!f(e.queryKey,a))return!1}if("all"!==r){let t=e.isActive();if("active"===r&&!t||"inactive"===r&&t)return!1}return("boolean"!=typeof o||e.isStale()===o)&&(!n||n===e.state.fetchStatus)&&(!s||!!s(e))}function c(t,e){let{exact:r,status:i,predicate:n,mutationKey:s}=t;if(s){if(!e.options.mutationKey)return!1;if(r){if(d(e.options.mutationKey)!==d(s))return!1}else if(!f(e.options.mutationKey,s))return!1}return(!i||e.state.status===i)&&(!n||!!n(e))}function h(t,e){return(e?.queryKeyHashFn||d)(t)}function d(t){return JSON.stringify(t,(t,e)=>g(e)?Object.keys(e).sort().reduce((t,r)=>(t[r]=e[r],t),{}):e)}function f(t,e){return t===e||typeof t==typeof e&&!!t&&!!e&&"object"==typeof t&&"object"==typeof e&&Object.keys(e).every(r=>f(t[r],e[r]))}var p=Object.prototype.hasOwnProperty;function y(t,e){if(!e||Object.keys(t).length!==Object.keys(e).length)return!1;for(let r in t)if(t[r]!==e[r])return!1;return!0}function m(t){return Array.isArray(t)&&t.length===Object.keys(t).length}function g(t){if(!v(t))return!1;let e=t.constructor;if(void 0===e)return!0;let r=e.prototype;return!!v(r)&&!!r.hasOwnProperty("isPrototypeOf")&&Object.getPrototypeOf(t)===Object.prototype}function v(t){return"[object Object]"===Object.prototype.toString.call(t)}function b(t){return new Promise(r=>{e.timeoutManager.setTimeout(r,t)})}function w(t,e,r){return"function"==typeof r.structuralSharing?r.structuralSharing(t,e):!1!==r.structuralSharing?function t(e,r,i=0){if(e===r)return e;if(i>500)return r;let n=m(e)&&m(r);if(!n&&!(g(e)&&g(r)))return r;let s=(n?e:Object.keys(e)).length,a=n?r:Object.keys(r),o=a.length,u=n?Array(o):{},l=0;for(let c=0;c<o;c++){let o=n?c:a[c],h=e[o],d=r[o];if(h===d){u[o]=h,(n?c<s:p.call(e,o))&&l++;continue}if(null===h||null===d||"object"!=typeof h||"object"!=typeof d){u[o]=d;continue}let f=t(h,d,i+1);u[o]=f,f===h&&l++}return s===o&&l===s?e:u}(t,e):e}function S(t){return t}function T(t,e,r=0){let i=[...t,e];return r&&i.length>r?i.slice(1):i}function C(t,e,r=0){let i=[e,...t];return r&&i.length>r?i.slice(0,-1):i}var A=Symbol();function E(t,e){return!t.queryFn&&e?.initialPromise?()=>e.initialPromise:t.queryFn&&t.queryFn!==A?t.queryFn:()=>Promise.reject(Error(`Missing queryFn: '${t.queryHash}'`))}function _(t,e){return"function"==typeof t?t(...e):!!t}function k(t,e,r){let i,n=!1;return Object.defineProperty(t,"signal",{enumerable:!0,get:()=>(i??=e(),n||(n=!0,i.aborted?r():i.addEventListener("abort",r,{once:!0})),i)}),t}t.s(["addConsumeAwareSignal",()=>k,"addToEnd",()=>T,"addToStart",()=>C,"ensureQueryFn",()=>E,"functionalUpdate",()=>n,"hashKey",()=>d,"hashQueryKeyByOptions",()=>h,"isServer",()=>r,"isValidTimeout",()=>s,"keepPreviousData",()=>S,"matchMutation",()=>c,"matchQuery",()=>l,"noop",()=>i,"partialMatchKey",()=>f,"replaceData",()=>w,"resolveEnabled",()=>u,"resolveStaleTime",()=>o,"shallowEqualObjects",()=>y,"shouldThrowError",()=>_,"skipToken",()=>A,"sleep",()=>b,"timeUntilStale",()=>
1a])},950446,t=>{"use strict";let e,r,i,n,s,a;var o=t.i(178154).systemSetTimeoutZero,u=(e=[],r=0,i=t=>{t()},n=t=>{t()},s=o,{batch:t=>{let a;r++;try{a=t()}finally{let t;--r||(t=e,e=[],t.length&&s(()=>{n(()=>{t.forEach(t=>{i(t)})})}))}return a},batchCalls:t=>(...e)=>{a(()=>{t(...e)})},schedule:a=t=>{r?e.push(t):s(()=>{i(t)})},setNotifyFunction:t=>{i=t},setBatchNotifyFunction:t=>{n=t},setScheduler:t=>{s=t}});t.s(["notifyManager",()=>u])},664731,t=>{"use strict";var e=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(t){return this.listeners.add(t),this.onSubscribe(),()=>{this.listeners.delete(t),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}};t.s(["Subscribable",()=>e])},538166,t=>{"use strict";var e=t.i(664731),r=t.i(130487),i=new class extends e.Subscribable{#r;#i;#n;constructor(){super(),this.#n=t=>{if(!r.isServer&&window.addEventListener){let e=()=>t();return window.addEventListener("visibilitychange",e,!1),()=>{window.removeEventListener("visibilitychange",e)}}}}onSubscribe(){this.#i||this.setEventListener(this.#n)}onUnsubscribe(){this.hasListeners()||(this.#i?.(),this.#i=void 0)}setEventListener(t){this.#n=t,this.#i?.(),this.#i=t(t=>{"boolean"==typeof t?this.setFocused(t):this.onFocus()})}setFocused(t){this.#r!==t&&(this.#r=t,this.onFocus())}onFocus(){let t=this.isFocused();this.listeners.forEach(e=>{e(t)})}isFocused(){return"boolean"==typeof this.#r?this.#r:globalThis.document?.visibilityState!=="hidden"}};t.s(["focusManager",()=>i])},208492,713781,327,t=>{"use strict";var e=t.i(538166),r=t.i(664731),i=t.i(130487),n=new class extends r.Subscribable{#s=!0;#i;#n;constructor(){super(),this.#n=t=>{if(!i.isServer&&window.addEventListener){let e=()=>t(!0),r=()=>t(!1);return window.addEventListener("online",e,!1),window.addEventListener("offline",r,!1),()=>{window.removeEventListener("online",e),window.removeEventListener("offline",r)}}}}onSubscribe(){this.#i||this.setEventListener(this.#n)}onUnsubscribe(){this.hasListeners()||(this.#i?.(),this.#i=void 0)}setEventListener(t){this.#n=t,this.#i?.(),this.#i=t(this.setOnline.bind(this))}setOnline(t){this.#s!==t&&(this.#s=t,this.listeners.forEach(e=>{e(t)}))}isOnline(){return this.#s}};function s(){let t,e,r=new Promise((r,i)=>{t=r,e=i});function i(t){Object.assign(r,t),delete r.resolve,delete r.reject}return r.status="pending",r.catch(()=>{}),r.resolve=e=>{i({status:"fulfilled",value:e}),t(e)},r.reject=t=>{i({status:"rejected",reason:t}),e(t)},r}function a(t){return Math.min(1e3*2**t,3e4)}function o(t){return(t??"online")!=="online"||n.isOnline()}t.s(["onlineManager",()=>n],713781),t.s(["pendingThenable",()=>s],327);var u=class extends Error{constructor(t){super("CancelledError"),this.revert=t?.revert,this.silent=t?.silent}};function l(t){let r,l=!1,c=0,h=s(),d=()=>e.focusManager.isFocused()&&("always"===t.networkMode||n.isOnline())&&t.canRun(),f=()=>o(t.networkMode)&&t.canRun(),p=t=>{"pending"===h.status&&(r?.(),h.resolve(t))},y=t=>{"pending"===h.status&&(r?.(),h.reject(t))},m=()=>new Promise(e=>{r=t=>{("pending"!==h.status||d())&&e(t)},t.onPause?.()}).then(()=>{r=void 0,"pending"===h.status&&t.onContinue?.()}),g=()=>{let e;if("pending"!==h.status)return;let r=0===c?t.initialPromise:void 0;try{e=r??t.fn()}catch(t){e=Promise.reject(t)}Promise.resolve(e).then(p).catch(e=>{if("pending"!==h.status)return;let r=t.retry??3*!i.isServer,n=t.retryDelay??a,s="function"==typeof n?n(c,e):n,o=!0===r||"number"==typeof r&&c<r||"function"==typeof r&&r(c,e);l||!o?y(e):(c++,t.onFail?.(c,e),(0,i.sleep)(s).then(()=>d()?void 0:m()).then(()=>{l?y(e):g()}))})};return{promise:h,status:()=>h.status,cancel:e=>{if("pending"===h.status){let r=new u(e);y(r),t.onCancel?.(r)}},continue:()=>(r?.(),h),cancelRetry:()=>{l=!0},continueRetry:()=>{l=!1},canStart:f,start:()=>(f()?g():m().then(g),h)}}t.s(["CancelledError",()=>u,"canFetch",()=>o,"createRetryer",()=>l],208492)},894278,t=>{"use strict";var e=t.i(178154),r=t.i(130487),i=class{#a;destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),(0,r.isValidTimeout)(this.gcTime)&&(this.#a=e.timeoutManager.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(t){this.gcTime=Math.max(this.gcTime||0,t??(r.isServer?1/0:3e5))}clearGcTimeout(){this.#a&&(e.timeoutManager.clearTimeout(this.#a),this.#a=void 0)}};t.s(["Removable",()=>i])},374865,t=>{"use strict";var e=t.i(130487),r=t.i(950446),i=t.i(208492),n=t.i(894278),s=class extends n.Removable{#o;#u;#l;#c;#h;#d;#f;constructor(t){super(),this.#f=!1,this.#d=t.defaultOptions,this.setOptions(t.options),this.observers=[],this.#c=t.client,this.#l=this.#c.getQueryCache(),this.queryKey=t.queryKey,this.queryHash=t.queryHash,this.#o=u(this.options),this.state=t.state??this.#o,this.scheduleGc()}get meta(){return this.options.meta}get promise(){return this.#h?.promise}setOptions(t){if(this.options={...this.#d,...t},this.updateGcTime(this.options.gcTime),this.state&&void 0===this.state.data){let t=u(this.options);void 0!==t.data&&(this.setState(o(t.data,t.dataUpdatedAt)),this.#o=t)}}optionalRemove(){this.observers.length||"idle"!==this.state.fetchStatus||this.#l.remove(this)}setData(t,r){let i=(0,e.replaceData)(this.state.data,t,this.options);return this.#p({data:i,type:"success",dataUpdatedAt:r?.updatedAt,manual:r?.manual}),i}setState(t,e){this.#p({type:"setState",state:t,setStateOptions:e})}cancel(t){let r=this.#h?.promise;return this.#h?.cancel(t),r?r.then(e.noop).catch(e.noop):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}reset(){this.destroy(),this.setState(this.#o)}isActive(){return this.observers.some(t=>!1!==(0,e.resolveEnabled)(t.options.enabled,this))}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===e.skipToken||this.state.dataUpdateCount+this.state.errorUpdate
1Count===0}isStatic(){return this.getObserversCount()>0&&this.observers.some(t=>"static"===(0,e.resolveStaleTime)(t.options.staleTime,this))}isStale(){return this.getObserversCount()>0?this.observers.some(t=>t.getCurrentResult().isStale):void 0===this.state.data||this.state.isInvalidated}isStaleByTime(t=0){return void 0===this.state.data||"static"!==t&&(!!this.state.isInvalidated||!(0,e.timeUntilStale)(this.state.dataUpdatedAt,t))}onFocus(){let t=this.observers.find(t=>t.shouldFetchOnWindowFocus());t?.refetch({cancelRefetch:!1}),this.#h?.continue()}onOnline(){let t=this.observers.find(t=>t.shouldFetchOnReconnect());t?.refetch({cancelRefetch:!1}),this.#h?.continue()}addObserver(t){this.observers.includes(t)||(this.observers.push(t),this.clearGcTimeout(),this.#l.notify({type:"observerAdded",query:this,observer:t}))}removeObserver(t){this.observers.includes(t)&&(this.observers=this.observers.filter(e=>e!==t),this.observers.length||(this.#h&&(this.#f?this.#h.cancel({revert:!0}):this.#h.cancelRetry()),this.scheduleGc()),this.#l.notify({type:"observerRemoved",query:this,observer:t}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||this.#p({type:"invalidate"})}async fetch(t,r){let n;if("idle"!==this.state.fetchStatus&&this.#h?.status()!=="rejected"){if(void 0!==this.state.data&&r?.cancelRefetch)this.cancel({silent:!0});else if(this.#h)return this.#h.continueRetry(),this.#h.promise}if(t&&this.setOptions(t),!this.options.queryFn){let t=this.observers.find(t=>t.options.queryFn);t&&this.setOptions(t.options)}let s=new AbortController,a=t=>{Object.defineProperty(t,"signal",{enumerable:!0,get:()=>(this.#f=!0,s.signal)})},o=()=>{let t,i=(0,e.ensureQueryFn)(this.options,r),n=(a(t={client:this.#c,queryKey:this.queryKey,meta:this.meta}),t);return(this.#f=!1,this.options.persister)?this.options.persister(i,n,this):i(n)},u=(a(n={fetchOptions:r,options:this.options,queryKey:this.queryKey,client:this.#c,state:this.state,fetchFn:o}),n);this.options.behavior?.onFetch(u,this),this.#u=this.state,("idle"===this.state.fetchStatus||this.state.fetchMeta!==u.fetchOptions?.meta)&&this.#p({type:"fetch",meta:u.fetchOptions?.meta}),this.#h=(0,i.createRetryer)({initialPromise:r?.initialPromise,fn:u.fetchFn,onCancel:t=>{t instanceof i.CancelledError&&t.revert&&this.setState({...this.#u,fetchStatus:"idle"}),s.abort()},onFail:(t,e)=>{this.#p({type:"failed",failureCount:t,error:e})},onPause:()=>{this.#p({type:"pause"})},onContinue:()=>{this.#p({type:"continue"})},retry:u.options.retry,retryDelay:u.options.retryDelay,networkMode:u.options.networkMode,canRun:()=>!0});try{let t=await this.#h.start();if(void 0===t)throw Error(`${this.queryHash} data is undefined`);return this.setData(t),this.#l.config.onSuccess?.(t,this),this.#l.config.onSettled?.(t,this.state.error,this),t}catch(t){if(t instanceof i.CancelledError){if(t.silent)return this.#h.promise;else if(t.revert){if(void 0===this.state.data)throw t;return this.state.data}}throw this.#p({type:"error",error:t}),this.#l.config.onError?.(t,this),this.#l.config.onSettled?.(this.state.data,t,this),t}finally{this.scheduleGc()}}#p(t){let e=e=>{switch(t.type){case"failed":return{...e,fetchFailureCount:t.failureCount,fetchFailureReason:t.error};case"pause":return{...e,fetchStatus:"paused"};case"continue":return{...e,fetchStatus:"fetching"};case"fetch":return{...e,...a(e.data,this.options),fetchMeta:t.meta??null};case"success":let r={...e,...o(t.data,t.dataUpdatedAt),dataUpdateCount:e.dataUpdateCount+1,...!t.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};return this.#u=t.manual?r:void 0,r;case"error":let i=t.error;return{...e,error:i,errorUpdateCount:e.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:e.fetchFailureCount+1,fetchFailureReason:i,fetchStatus:"idle",status:"error",isInvalidated:!0};case"invalidate":return{...e,isInvalidated:!0};case"setState":return{...e,...t.state}}};this.state=e(this.state),r.notifyManager.batch(()=>{this.observers.forEach(t=>{t.onQueryUpdate()}),this.#l.notify({query:this,type:"updated",action:t})})}};function a(t,e){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:(0,i.canFetch)(e.networkMode)?"fetching":"paused",...void 0===t&&{error:null,status:"pending"}}}function o(t,e){return{data:t,dataUpdatedAt:e??Date.now(),error:null,isInvalidated:!1,status:"success"}}function u(t){let e="function"==typeof t.initialData?t.initialData():t.initialData,r=void 0!==e,i=r?"function"==typeof t.initialDataUpdatedAt?t.initialDataUpdatedAt():t.initialDataUpdatedAt:0;return{data:e,dataUpdateCount:0,dataUpdatedAt:r?i??Date.now():0,error:null,errorUpdate
1Count:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:r?"success":"pending",fetchStatus:"idle"}}t.s(["Query",()=>s,"fetchState",()=>a])},753854,t=>{"use strict";var e=t.i(950446),r=t.i(894278),i=t.i(208492),n=class extends r.Removable{#c;#y;#m;#h;constructor(t){super(),this.#c=t.client,this.mutationId=t.mutationId,this.#m=t.mutationCache,this.#y=[],this.state=t.state||s(),this.setOptions(t.options),this.scheduleGc()}setOptions(t){this.options=t,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(t){this.#y.includes(t)||(this.#y.push(t),this.clearGcTimeout(),this.#m.notify({type:"observerAdded",mutation:this,observer:t}))}removeObserver(t){this.#y=this.#y.filter(e=>e!==t),this.scheduleGc(),this.#m.notify({type:"observerRemoved",mutation:this,observer:t})}optionalRemove(){this.#y.length||("pending"===this.state.status?this.scheduleGc():this.#m.remove(this))}continue(){return this.#h?.continue()??this.execute(this.state.variables)}async execute(t){let e=()=>{this.#p({type:"continue"})},r={client:this.#c,meta:this.options.meta,mutationKey:this.options.mutationKey};this.#h=(0,i.createRetryer)({fn:()=>this.options.mutationFn?this.options.mutationFn(t,r):Promise.reject(Error("No mutationFn found")),onFail:(t,e)=>{this.#p({type:"failed",failureCount:t,error:e})},onPause:()=>{this.#p({type:"pause"})},onContinue:e,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>this.#m.canRun(this)});let n="pending"===this.state.status,s=!this.#h.canStart();try{if(n)e();else{this.#p({type:"pending",variables:t,isPaused:s}),this.#m.config.onMutate&&await this.#m.config.onMutate(t,this,r);let e=await this.options.onMutate?.(t,r);e!==this.state.context&&this.#p({type:"pending",context:e,variables:t,isPaused:s})}let i=await this.#h.start();return await this.#m.config.onSuccess?.(i,t,this.state.context,this,r),await this.options.onSuccess?.(i,t,this.state.context,r),await this.#m.config.onSettled?.(i,null,this.state.variables,this.state.context,this,r),await this.options.onSettled?.(i,null,t,this.state.context,r),this.#p({type:"success",data:i}),i}catch(e){try{await this.#m.config.onError?.(e,t,this.state.context,this,r)}catch(t){Promise.reject(t)}try{await this.options.onError?.(e,t,this.state.context,r)}catch(t){Promise.reject(t)}try{await this.#m.config.onSettled?.(void 0,e,this.state.variables,this.state.context,this,r)}catch(t){Promise.reject(t)}try{await this.options.onSettled?.(void 0,e,t,this.state.context,r)}catch(t){Promise.reject(t)}throw this.#p({type:"error",error:e}),e}finally{this.#m.runNext(this)}}#p(t){this.state=(e=>{switch(t.type){case"failed":return{...e,failureCount:t.failureCount,failureReason:t.error};case"pause":return{...e,isPaused:!0};case"continue":return{...e,isPaused:!1};case"pending":return{...e,context:t.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:t.isPaused,status:"pending",variables:t.variables,submittedAt:Date.now()};case"success":return{...e,data:t.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...e,data:void 0,error:t.error,failureCount:e.failureCount+1,failureReason:t.error,isPaused:!1,status:"error"}}})(this.state),e.notifyManager.batch(()=>{this.#y.forEach(e=>{e.onMutationUpdate(t)}),this.#m.notify({mutation:this,type:"updated",action:t})})}};function s(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}t.s(["Mutation",()=>n,"getDefaultState",()=>s])},872538,t=>{"use strict";let e="nomadays_active_tenant",r="nomadays_active_tenant_id",i="as_tenant",n="nomadays_active_tenant_tab";function s(t,i){let s,a=JSON.stringify({tenantId:t,tenantName:i});localStorage.setItem(e,a);try{sessionStorage.setItem(n,a)}catch{}s="https:"===window.location.protocol?"; Secure":"",document.cookie=`${r}=${encodeURIComponent(t)}; path=/; max-age=2592000; SameSite=Lax${s}`,u()}function a(){if("u"<typeof document)return null;let t=document.cookie.match(RegExp("(?:^|; )"+r+"=([^;]*)"));return t?.[1]!=null?decodeURIComponent(t[1]):null}function o(){localStorage.removeItem(e);try{sessionStorage.setItem(n,JSON.stringify(null))}catch{}document.cookie=`${r}=; path=/; max-age=0; SameSite=Lax`;try{let t=new URL(window.location.href);t.searchParams.has(i)&&(t.searchParams.delete(i),window.history.replaceState(window.history.state,"",t.toString()))}catch{}u()}function u(){window.dispatchEvent(new Event("nomadays:tenant-changed"))}function l(){try{let t=function(){try{let t=new URLSearchParams(window.location.search).get(i);return t&&t.trim()?t.trim():null}catch{return null}}(),r=localStorage.getItem(e),s=r?JSON.parse(r):null;if(t){let e={tenantId:t,tenantName:s?.tenantId===t?s.tenantName:t};return sessionStorage.setItem(n,JSON.stringify(e)),e}let a=sessionStorage.getItem(n);if(null!==a)return JSON.parse(a);return sessionStorage.setItem(n,JSON.stringify(s)),s}catch{return null}}function c(){return l()?.tenantId??null}t.s(["ACTIVE_TENANT_COOKIE",0,r,"ACTIVE_TENANT_URL_PARAM",0,i,"clearActiveTenant",()=>o,"getActiveTenant",()=>l,"getActiveTenantCookieId",()=>a,"getActiveTenantId",()=>c,"setActiveTenant",()=>s])},643351,t=>{"use strict";var e=t.i(373945),r=t.i(872538);function i(){let t=(0,e.getImpersonation)();if(t)return{tenantId:t.tenantId,header:{name:"X-Impersonate-Tenant-Id",value:t.tenantId}};let i=(0,r.getActiveTenantId)();return i?{tenantId:i,header:{name:"X-Active-Tenant-Id",value:i}}:{tenantId:null,header:null}}let n=i(),s=new Set;function a(){let t=i();(t.tenantId!==n.tenantId||t.header?.name!==n.header?.name||t.header?.value!==n.header?.value)&&(n=t,s.forEac
1h(t=>t()))}window.addEventListener("nomadays:tenant-changed",a),window.addEventListener("storage",a),window.addEventListener("popstate",a);let o={get:()=>n.tenantId,getHeader:()=>n.header,recompute:a,subscribe:t=>(s.add(t),()=>{s.delete(t)})};function u(){return{t:o.get()}}t.s(["effectiveTenantStore",0,o,"tenantKeyScope",()=>u])},459839,339020,t=>{"use strict";t.i(489627);var e=t.i(869547),r=t.i(373945),i=t.i(872538);let n="nomadays_cms_site";function s(){try{let t=sessionStorage.getItem(n);if(!t)return null;let e=JSON.parse(t);if(e&&"number"==typeof e.siteId&&"string"==typeof e.tenantId)return e}catch{}return null}function a(t){try{t?sessionStorage.setItem(n,JSON.stringify(t)):sessionStorage.removeItem(n)}catch{}}function o(t){let e=s();return!e||t&&e.tenantId!==t?null:String(e.siteId)}t.s(["getCmsSite",()=>s,"getCmsSiteHeaderValue",()=>o,"setCmsSite",()=>a],339020);var u=t.i(643351);let l={EUR:"€",USD:"$",GBP:"£",THB:"฿",MAD:"DH",MNT:"₮",KGS:"сом"};function c(t,e){let r="number"==typeof t?t:parseFloat(String(t??"")),i="string"==typeof e?e:"",n=l[i]||i||"";if(!Number.isFinite(r))return n?`— ${n}`:"—";let s=r.toLocaleString("fr-FR",{minimumFractionDigits:2*!Number.isInteger(r),maximumFractionDigits:2});return n?`${s} ${n}`:s}let h={master_trip_introuvable:"circuit maître introuvable",master_trip_n_est_pas_un_master_online:"le circuit n’est pas un master en ligne",aucun_depart_configure:"aucun départ configuré",catalog_entry_absent:"fiche catalogue absente",catalog_destinations_manquantes:"destinations du catalogue manquantes",catalog_pax_min_manquant:"nombre de voyageurs minimum manquant",catalog_pax_max_manquant:"nombre de voyageurs maximum manquant",catalog_duration_manquante:"durée manquante",distribution_non_definie:"distribution non définie",commission_rule_applicable_absente:"règle de commission applicable absente"},d={ORDER_CAP_EXCEEDED:t=>{let e=t.order_currency,r=c(t.threshold_with_tolerance??t.order_amount,e),i=c(t.already_invoiced,e),n=c(t.this_invoice,e),s=c(t.excess_amount,e);return`Cette facture ferait d\xe9passer le plafond de la commande. Plafond : ${r} \xb7 d\xe9j\xe0 factur\xe9 : ${i} \xb7 cette facture : ${n} → d\xe9passement de ${s}. R\xe9duisez le montant de la facture, ou augmentez le plafond de la commande.`},publish_gate_failed:t=>{let e=(Array.isArray(t.missing)?t.missing:[]).map(t=>h[String(t)]||String(t).replace(/_/g," "));return e.length?`Publication impossible — \xe0 compl\xe9ter d’abord : ${e.join(", ")}.`:`Publication impossible : des \xe9l\xe9ments obligatoires sont manquants.`}};class f extends Error{detail;status;code;context;constructor(t,e,r){super(t),this.name="ApiError",this.detail=t,this.status=e,this.code=r?.code,this.context=r?.context}}function p(t){if(null==t)return null;if("string"==typeof t)return t;if(Array.isArray(t)){let e=t.map(t=>{if("string"==typeof t)return t;if(t&&"object"==typeof t){let e="string"==typeof t.msg?t.msg:null,r=Array.isArray(t.loc)?t.loc.join("."):null;if(e&&r)return`${r}: ${e}`;if(e)return e}return null}).filter(t=>!!t);if(e.length>0)return e.join(" • ")}if(t&&"object"==typeof t&&!Array.isArray(t)){let e=[t.detail,t.message,t.msg,t.error].find(t=>"string"==typeof t&&t.trim().length>0);if("string"==typeof e)return e}try{let e=JSON.stringify(t);return e.length>200?e.substring(0,200)+"…":e}catch{return null}}let y=new class{baseUrl;token=null;tokenGetter=null;maxConcurrent=10;activeRequests=0;queue=[];constructor(t=""){this.baseUrl=t}acquireSlot(){return this.activeRequests<this.maxConcurrent?(this.activeRequests++,Promise.resolve()):new Promise(t=>{this.queue.push(()=>{this.activeRequests++,t()})})}releaseSlot(){this.activeRequests--,this.queue.length>0&&this.queue.shift()()}setToken(t){this.token=t}clearToken(){this.token=null}setTokenGetter(t){this.tokenGetter=t}async getToken(){if(this.token)return this.token;if(this.tokenGetter)return this.tokenGetter();try{let t=(0,e.createClientSafe)();if(!t)return null;let{data:{session:r},error:i}=await t.auth.getSession();if(i)return null;return r?.access_token??null}catch(t){return console.error("[apiClient.getToken] Exception:",t),null}}_setTenantHeader(t){let e=u.effectiveTenantStore.getHeader();if(e){t[e.name]=e.value;return}let n=(0,r.getImpersonation)();if(n)t["X-Impersonate-Tenant-Id"]=n.tenantId;else{let e=(0,i.getActiveTenant)();e&&(t["X-Active-Tenant-Id"]=e.tenantId)}let s=o();s&&(t["X-Cms-Site-Id"]=s)}async tryRefreshToken(){try{let t=(0,e.createClientSafe)();if(!t)return null;let{data:{session:r},error:i}=await t.auth.refreshSession();if(i||!r?.access_token)return null;return this.token=r.access_token,r.access_token}catch(t){return console.error("[apiClient.tryRefreshToken] Exception:",t),null}}requestTimeout=3e4;async request(t,e={},r){await this.acquireSlot();try{return await this._doRequest(t,e,r)}finally{this.releaseSlot()}}async _doRequest(t,e={},r){let i=await this._fetchWithAuth(t,e,r);return 204===i.status?{}:i.json()}async _fetchWithAuth(t,e={},r){let i,n=t.startsWith("/api")?t:`/api${t}`,s=`${this.baseUrl}${n}`,a={"Content-Type":"application/json",...e.headers},o=await this.getToken();o&&(a.Authorization=`Bearer ${o}`),this._setTenantHeader(a);let u=new AbortController,l=r??this.requestTimeout,c=setTimeout(()=>u.abort(),l),h=e.signal?function(t){let e=new AbortController;for(let r of t){if(r.aborted){e.abort(r.reason);break}r.addEventListener("abort",()=>e.abort(r.reason),{once:!0})}return e.signal}([e.signal,u.signal]):u.signal;try{i=await fetch(s,{...e,headers:a,signal:h})}catch(e){if(clearTimeout(c),e instanceof Error&&"AbortError"===e.name)throw console.warn(`[apiClient] Request timed out after ${l}ms:`,t),new f(`La requ\xeate a expir\xe9 (${t}). Le serveur ne r\xe9pond pas.`,0);throw console.error("[apiClient] Network error:",e),new f(`Impossible de contacter le serveur (${this.baseUrl}). V\xe9rifiez que le backend est d\xe9marr\xe9.`,0)}if(clearTimeout(c),401===i.status){let t=await this.tryRefreshToken();if(t){a.Authorization=`Bearer ${t}`;let r=new AbortController,n=setTimeout(()=>r.abort(),l);try{i=await fetch(s,{...e,headers:a,signal:r.signal})}catch{}finally{clearTimeout(n)}}}if(!i.ok){let t,e,r=`Erreur serveur (${i.status})`;try{let n=await i.text();try{let i=JSON.parse(n),s=i?.detail;s&&"object"==typeof s&&!Array.isArray(s)&&(t="string"==typeof s.code?s.code:"string"==typeof s.error?s.error:void 0,e=s),r=p(s)||r}catch{n&&n.length>0&&(r=n.length>200?n.substring(0,200)+"...":n)}}catch{}let n=function(t,e){if(!t)return null;let r=d[t];if(!r)return null;try{return r(e||{})}catch{return null}}(t,e);throw n&&(r=n),401===i.status?r="Session expirée. Veuillez vous reconnecter.":403===i.status&&r.startsWith("Erreur serveur")&&(r="Accès non autorisé."),new f(r,i.status,{co
1de:t,context:e})}return i}async get(t){return this.request(t,{method:"GET"})}async download(t){await this.acquireSlot();try{let e=await this._fetchWithAuth(t,{method:"GET"},12e4);if(!e.ok)throw new f(`Erreur t\xe9l\xe9chargement (${e.status})`,e.status);let r=(e.headers.get("Content-Disposition")||"").match(/filename="?([^";]+)"?/i);return{blob:await e.blob(),filename:r?.[1]??null}}finally{this.releaseSlot()}}async getWithTotal(t){await this.acquireSlot();try{let e=await this._fetchWithAuth(t,{method:"GET"}),r=e.headers.get("X-Total-Count"),i=204===e.status?{}:await e.json(),n=null!=r?parseInt(r,10):NaN,s=Number.isFinite(n)?n:Array.isArray(i)?i.length:0;return{data:i,total:s}}finally{this.releaseSlot()}}async post(t,e,r){return this.request(t,{method:"POST",body:e?JSON.stringify(e):void 0},r)}async put(t,e){return this.request(t,{method:"PUT",body:JSON.stringify(e)})}async patch(t,e,r){return this.request(t,{method:"PATCH",body:JSON.stringify(e),...r?.keepalive?{keepalive:!0}:{}})}async delete(t,e){return this.request(t,{method:"DELETE"},e)}async upload(t,e,r){await this.acquireSlot();try{return await this._doUpload(t,e,r?.method??"POST")}finally{this.releaseSlot()}}async uploadDirect(t,e,r){await this.acquireSlot();try{return await this._doUploadDirect(t,e,r?.method??"POST")}finally{this.releaseSlot()}}async _doUploadDirect(t,e,r="POST"){let i=t.startsWith("/")?t:`/${t}`,n=`https://railway-main-production-9d61.up.railway.app${i}`,s={},a=await this.getToken();a&&(s.Authorization=`Bearer ${a}`),this._setTenantHeader(s);let o=new AbortController,u=setTimeout(()=>o.abort(),3e5);try{let t=await fetch(n,{method:r,headers:s,body:e,signal:o.signal});if(401===t.status){let i=await this.tryRefreshToken();if(i&&(s.Authorization=`Bearer ${i}`,t=await fetch(n,{method:r,headers:s,body:e,signal:o.signal})),401===t.status)throw clearTimeout(u),new f("Session expirée. Veuillez vous reconnecter.",401)}if(clearTimeout(u),!t.ok){let e=`Erreur serveur (${t.status})`;try{let r=await t.text();try{let t=JSON.parse(r);e=p(t.detail)||e}catch{r&&r.length>0&&(e=r.length>200?r.substring(0,200)+"...":r)}}catch{}throw 403===t.status&&(e="Accès non autorisé."),new f(e,t.status)}if(204===t.status)return{};return t.json()}catch(t){if(clearTimeout(u),t instanceof f)throw t;if(t instanceof Error&&"AbortError"===t.name)throw Error("La requête a expiré (timeout). Le traitement peut prendre du temps pour les gros fichiers.");throw t}}async _doUpload(t,e,r="POST"){let i=t.startsWith("/api")?t:`/api${t}`,n=`${this.baseUrl}${i}`,s={},a=await this.getToken();a&&(s.Authorization=`Bearer ${a}`),this._setTenantHeader(s);let o=new AbortController,u=setTimeout(()=>o.abort(),3e5);try{let t=await fetch(n,{method:r,headers:s,body:e,signal:o.signal});if(401===t.status){let i=await this.tryRefreshToken();if(i&&(s.Authorization=`Bearer ${i}`,t=await fetch(n,{method:r,headers:s,body:e,signal:o.signal})),401===t.status)throw clearTimeout(u),new f("Session expirée. Veuillez vous reconnecter.",401)}if(clearTimeout(u),!t.ok){let e=`Erreur serveur (${t.status})`;try{let r=await t.text();try{let t=JSON.parse(r);e=p(t.detail)||e}catch{r&&r.length>0&&(e=r.length>200?r.substring(0,200)+"...":r)}}catch{}throw 403===t.status&&(e="Accès non autorisé."),new f(e,t.status)}if(204===t.status)return{};return t.json()}catch(t){if(clearTimeout(u),t instanceof f)throw t;if(t instanceof Error&&"AbortError"===t.name)throw Error("La requête a expiré (timeout). Le traitement IA peut prendre du temps pour les gros fichiers.");throw t}}};t.s(["ApiError",()=>f,"apiClient",0,y],459839)},129428,(t,e,r)=>{e.exports=t.r(820418)},211245,t=>{"use strict";var e=t.i(491926),r=t.i(129428),i=t.i(869547),n=t.i(459839);function s(){let[t,s]=(0,e.useState)({user:null,session:null,loading:!0,error:null}),a=(0,e.useMemo)(()=>(0,i.createClientSafe)(),[]),o=(0,r.useRouter)(),u=(0,e.useRef)(null),l=(0,e.useCallback)(t=>{t?.access_token?n.apiClient.setToken(t.access_token):n.apiClient.clearToken()},[]);(0,e.useEffect)(()=>{if(!a)return void s({user:null,session:null,loading:!1,error:null});(async()=>{try{let{data:{session:t},error:e}=await a.auth.getSession();if(e)throw e;let r=t;if(!t)try{let t=await fetch("/api/auth/token"),e=await t.json();if(t.ok){let{token:t}=e;if(t){let{data:{user:e}}=await a.auth.getUser();e&&(r={access_token:t,refresh_token:"",token_type:"bearer",expires_in:3600,expires_at:Math.floor(Date.now()/1e3)+3600,user:e})}}}catch{}s({user:r?.user??null,session:r,loading:!1,error:null}),l(r)}catch(t){s(e=>({...e,loading:!1,error:t}))}})();let{data:{subscription:t}}=a.auth.onAuthStateChange(async(t,e)=>{s({user:e?.user??null,session:e,loading:!1,error:null}),l(e),"SIGNED_OUT"===t&&n.apiClient.clearToken();let r=e?.user?.id??null;"INITIAL_SESSION"!==t&&r!==u.current?(u.current=r,o.refresh()):u.current=r});return()=>{t.unsubscribe()}},[a,l,o]);let c=(0,e.useCallback)(async(t,e)=>{if(!a)return{user:null,error:Error("Auth not configured")};s(t=>({...t,loading:!0,error:null}));try{let{data:r,error:i}=await a.auth.signInWithPassword({email:t,password:e});if(i)throw i;return l(r.session),{user:r.user,error:null}}catch(t){return s(e=>({...e,loading:!1,error:t})),{user:null,error:t}}},[a,l]),h=(0,e.useCallback)(async t=>{if(a)try{let{error:e}=await a.auth.signInWithOAuth({provider:t,options:{redirectTo:`${window.location.origin}/auth/callback`}});if(e)throw e}catch(t){s(e=>({...e,error:t}))}},[a]),d=(0,e.useCallback)(async t=>{if(!a)return{error:Error("Auth not configured")};s(t=>({...t,loading:!0,error:null}));try{let{error:e}=await a.auth.signInWithOtp({email:t,options:{emailRedirectTo:`${window.location.origin}/auth/callback`}});if(e)throw e;return s(t=>({...t,loading:!1})),{error:null}}catch(t){return s(e=>({...e,loading:!1,error:t})),{error:t}}},[a]),f=(0,e.useCallback)(async(t,e,r)=>{if(!a)return{user:null,error:Error("Auth not configured")};s(t=>({...t,loading:!0,error:null}));try{let{data:i,error:n}=await a.auth.signUp({email:t,password:e,options:{emailRedirectTo:`${window.location.origin}/auth/callback`,data:r}});if(n)throw n;return{user:i.user,error:null}}catch(t){return s(e=>({...e,loading:!1,error:t})),{user:null,error:t}}},[a]),p=(0,e.useCallback)(async()=>
1{if(a)try{let{error:t}=await a.auth.signOut();if(t)throw t;n.apiClient.clearToken(),window.location.href="/login"}catch(t){s(e=>({...e,error:t}))}},[a]),y=(0,e.useCallback)(async()=>{if(!a)return null;try{let{data:{session:t},error:e}=await a.auth.refreshSession();if(e)throw e;return l(t),t}catch(t){return s(e=>({...e,error:t})),null}},[a,l]),m=(0,e.useCallback)(async()=>{if(!a)return null;let{data:{session:t}}=await a.auth.getSession();return t?.access_token??null},[a]);return{...t,signIn:c,signInWithOAuth:h,signInWithMagicLink:d,signUp:f,signOut:p,refreshSession:y,getAccessToken:m,isAuthenticated:!!t.user}}t.s(["useAuth",()=>s])},151377,t=>{"use strict";var e=t.i(86900),r=t.i(491926),i=t.i(211245);let n=(0,r.createContext)(void 0);function s({children:t}){let r=(0,i.useAuth)();return(0,e.jsx)(n.Provider,{value:r,children:t})}function a(){let t=(0,r.useContext)(n);if(void 0===t)throw Error("useAuthContext must be used within an AuthProvider");return t}t.s(["AuthContext",()=>n,"AuthProvider",()=>s,"useAuthContext",()=>a])}]);

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.