1!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._posthogChunkIds=e._posthogChunkIds||{},e._posthogChunkIds[n]="01a0f32f-11c3-75c2-905d-1529aba6da9e")}catch(e){}}();"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9821],{1051:(e,t,r)=>{r.d(t,{DU:()=>c,Fn:()=>f,JN:()=>s.JN,Yf:()=>d,aT:()=>o,k2:()=>i,od:()=>s.od,r$:()=>h});var n=r(58491),a=r(68466),s=r(14408),l=r(40392);let i=60,o="franova_smart_banner_dismissed",c=6048e5,u=[...a.GE,"/auth","/onboarding","/app","/admin","/thanks","/upgrade","/payment-success",...n.z.SESSION_ROUTES];function d(e){return u.some(t=>e===t||e.startsWith(t+"/"))}function f(e){let t=l.R3.test(e),r=l.M1.test(e);return{platform:t?"ios":r?"android":"other",store:t?"app_store":"google_play",storeUrl:t?s.od:s.JN}}function h(e){let t=l.R3.test(e),r=l.M1.test(e),n=l.GL.test(e);return r||t&&(l.tO.test(e)||n)}},9821:(e,t,r)=>{r.r(t),r.d(t,{default:()=>f});var n=r(54568),a=r(7620),s=r(32536),l=r(27541),i=r(1051),o=r(34047),c=r(98428);let u="".concat(i.k2,"px");function d(e){"undefined"!=typeof document&&document.documentElement.style.setProperty("--smart-banner-offset",e)}function f(){let e=(0,l.usePathname)(),[t]=(0,a.useState)(()=>{if("undefined"==typeof navigator)return null;let e=navigator.userAgent;return(0,i.r$)(e)&&!function(){if("undefined"==typeof localStorage)return!1;try{let e=localStorage.getItem(i.aT);if(!e)return!1;let t=parseInt(e,10);if(isNaN(t))return!1;return Date.now()-t<i.DU}catch(e){return!1}}()?(0,i.Fn)(e):null}),[r,f]=(0,a.useState)(!1),[h,m]=(0,a.useState)(!1),p=(0,a.useRef)(null),x=(0,a.useRef)(!1),b=(0,c.e)(),g=(0,a.useCallback)(()=>{d("0px"),b(!1)},[b]),v=(0,i.Yf)(e),w=null!==t&&!r&&!v;(0,a.useLayoutEffect)(()=>(w?(d(u),b(!0)):g(),g),[w,g,b]),(0,a.useEffect)(()=>{if(!w||!t)return void m(!1);x.current||(x.current=!0,o.analyticsService.trackSmartAppBannerShown({platform:t.platform,store:t.store}));let e=0,r=requestAnimationFrame(()=>{e=requestAnimationFrame(()=>m(!0))});return()=>{cancelAnimationFrame(r),cancelAnimationFrame(e)}},[w,t]),(0,a.useEffect)(()=>()=>{null!==p.current&&window.clearTimeout(p.current)},[]);let k=(0,a.useCallback)(()=>{try{localStorage.setItem(i.aT,String(Date.now()))}catch(e){}m(!1),p.current=window.setTimeout(()=>{t&&o.analyticsService.trackSmartAppBannerDismissed({platform:t.platform}),f(!0)},300)},[t]),y=(0,a.useCallback)(()=>{t&&o.analyticsService.trackAppStoreClick({store:t.store,placement:"smart_banner"})},[t]);return w&&t?(0,n.jsx)("div",{className:"\n fixed top-0 left-0 right-0 z-[70]\n box-border\n bg-[#0F172A] border-b border-white/10\n transition-transform duration-300 ease-out\n ".concat(h?"translate-y-0":"-translate-y-full","\n "),style:{height:u},role:"banner","aria-label":"T\xe9l\xe9charger l'application Franova",children:(0,n.jsxs)("div",{className:"flex items-center gap-3 px-3 h-full max-w-screen-sm mx-auto",children:[(0,n.jsx)("button",{onClick:k,className:"flex-shrink-0 w-7 h-7 flex items-center justify-center text-white/50 hover:text-white/80 transition-colors","aria-label":"Fermer la banni\xe8re",children:(0,n.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none","aria-hidden":"true",children:(0,n.jsx)("path",{d:"M1 1L13 13M13 1L1 13",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round"})})}),(0,n.jsx)("div",{className:"flex-shrink-0 w-10 h-10 rounded-[10px] overflow-hidden bg-white/10",children:(0,n.jsx)(s.default,{src:"/franova-192.png",alt:"Franova",width:40,height:40,className:"w-10 h-10 object-cover"})}),(0,n.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,n.jsx)("p",{className:"text-sm font-semibold text-white truncate",children:"Franova"}),(0,n.jsx)("p",{className:"text-xs text-white/60 truncate",children:"Pr\xe9parez votre examen civique"})]}),(0,n.jsx)("a",{href:t.storeUrl,target:"_blank",rel:"noopener noreferrer",onClick:y,className:" flex-shrink-0 px-4 py-1.5 bg-french-blue text-white text-sm font-semibold rounded-full hover:brightness-110 active:brightness-90 transition-all ",children:"T\xe9l\xe9charger"})]})}):null}}}]); 2//# chunkId=01a0f32f-11c3-75c2-905d-1529aba6da9e
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.