import{q as c,n as e}from"./vendor-react-Br0ZiotI.js";import{cA as P,bX as _,bM as H,bZ as L,D as T,z as K}from"./index-DHmWpjgK.js";import"./vendor-dayjs-CbzZgysf.js";import{u as R,T as Y}from"./vendor-i18n-C54Hc0CQ.js";import{D as W}from"./download-Dh0S4Clj.js";import{Z as B}from"./zap-hgyIfjkp.js";import{S as Z}from"./smartphone-DPKqb976.js";import"./vendor-query-9i1Av1pr.js";import"./vendor-antd-core-CbYNMZQB.js";import"./vendor-sentry-Cx26FE6p.js";const C="avalog:pwa:dismissedAt",p="avalog:pwa:visits",g="avalog:pwa:totalSeconds",h="avalog:pwa:lkVisits",O="avalog:pwa:sessionMarked",z=8,X=300,q=5,F=4,G=6e4,J=45,Q=J*864e5,U=1e4;function n(t,r=localStorage){try{const o=r.getItem(t);return o&&Number(o)||0}catch{return 0}}function w(t,r,o=localStorage){try{o.setItem(t,String(r))}catch{}}function $(){var t;return((t=window.matchMedia)==null?void 0:t.call(window,"(display-mode: standalone)").matches)||window.navigator.standalone===!0}function tt(){return/iPhone|iPad|iPod/i.test(navigator.userAgent)&&!/Mac/i.test(navigator.vendor)}function et(){const t=n(C);return t>0&&Date.now()-t<Q}function st(){try{return localStorage.getItem("isAuthenticated")==="true"}catch{return!1}}function at(){return window.location.pathname.startsWith("/lk")}function nt(){return/^\/(checkout|payment|pay|order|cart)/i.test(window.location.pathname)}function y(){w(C,Date.now())}function rt(){try{if(sessionStorage.getItem(O)==="1")return n(p);sessionStorage.setItem(O,"1")}catch{}const t=n(p)+1;return w(p,t),t}function it(){if(!window.location.pathname.startsWith("/lk"))return n(h);const t=n(h)+1;return w(h,t),t}const ot=t=>[{icon:e.jsx(B,{className:"w-4 h-4 text-yellow-500"}),text:t("pwa.install.featureLaunch","Быстрый запуск с экрана")},{icon:e.jsx(K,{className:"w-4 h-4 text-blue-500"}),text:t("pwa.install.featurePush","Push-уведомления о грузе")},{icon:e.jsx(Z,{className:"w-4 h-4 text-indigo-500"}),text:t("pwa.install.featureNoBrowser","Работает без браузера")}];function vt(){const{t}=R(),[r,o]=c.useState(null),[V,x]=c.useState(!1),[v,M]=c.useState(!1),u=c.useRef(null),l=P("pwa_install_prompt_v2",["a","b"]);c.useEffect(()=>{if($()||et()||!st()||nt())return;const a=rt(),S=it(),b=Date.now();let k=!1;const d=()=>{if(k)return;k=!0;const s=Math.round((Date.now()-b)/1e3),i=n(g)+s;w(g,i)},D=()=>{document.visibilityState==="hidden"&&d()};window.addEventListener("pagehide",d),document.addEventListener("visibilitychange",D);const m=(s,i)=>u.current?!0:at()?(u.current=s,x(!0),_("pwa_install_prompt_shown",{trigger:s,mode:i,variant:l,visits:n(p),total_seconds:n(g),lk_visits:n(h)}),!0):!1,E=s=>{if(l==="a")return a>=F&&Date.now()-b>=G?m("visits",s):!1;if(a>=z)return m("visits",s);if(S>=q)return m("lk_visits",s);const i=Math.round((Date.now()-b)/1e3);return n(g)+i>=X?m("time",s):!1},N=s=>{if(E(s))return null;const i=window.setInterval(()=>{E(s)&&window.clearInterval(i)},U);return i};let f=null;const j=s=>{s.preventDefault(),o(s),f=N("native")};return window.addEventListener("beforeinstallprompt",j),tt()&&(M(!0),f=N("ios")),()=>{window.removeEventListener("beforeinstallprompt",j),window.removeEventListener("pagehide",d),document.removeEventListener("visibilitychange",D),f!==null&&window.clearInterval(f),d()}},[l]);const A=c.useCallback(async()=>{if(r){try{await r.prompt();const a=await r.userChoice;_(a.outcome==="accepted"?"pwa_install_accepted":"pwa_install_dismissed",{trigger:u.current,variant:l,source:"native"}),a.outcome==="dismissed"&&y()}catch{y()}x(!1),o(null)}},[r,l]),I=c.useCallback(()=>{y(),x(!1),_("pwa_install_dismissed",{trigger:u.current,variant:l,source:v?"ios_guide":"ui"})},[l,v]);return V?e.jsxs("div",{className:L("fixed bottom-4 left-4 right-4 z-[9990] max-w-sm mx-auto","rounded-2xl bg-white dark:bg-gray-900 shadow-2xl border border-gray-100 dark:border-gray-700","p-5 animate-in slide-in-from-bottom-4 duration-300"),role:"dialog","aria-label":t("pwa.install.aria","Установить приложение"),children:[e.jsx("button",{type:"button",onClick:I,className:L("absolute top-2.5 right-2.5 inline-flex items-center justify-center","w-9 h-9 rounded-full","bg-gray-100 dark:bg-gray-800 text-gray-600 dark:text-gray-200","hover:bg-gray-200 dark:hover:bg-gray-700 hover:text-gray-900 dark:hover:text-white","focus:outline-none focus-visible:ring-2 focus-visible:ring-blue-500 transition-colors"),"aria-label":t("pwa.install.closeAria","Закрыть"),children:e.jsx(H,{className:"w-5 h-5"})}),e.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[e.jsx("div",{className:"w-12 h-12 rounded-xl bg-blue-600 flex items-center justify-center flex-shrink-0",children:e.jsx("img",{src:"/favicon.svg",alt:"Avalog",className:"w-8 h-8",onError:a=>{a.target.style.display="none"}})}),e.jsxs("div",{children:[e.jsx("p",{className:"font-bold text-gray-900 dark:text-white text-sm",children:"Avalog"}),e.jsx("p",{className:"text-xs text-gray-500",children:t("pwa.install.subtitle","Установить как приложение")})]})]}),e.jsx("ul",{className:"space-y-2 mb-4",children:ot(t).map((a,S)=>e.jsxs("li",{className:"flex items-center gap-2 text-sm text-gray-700 dark:text-gray-300",children:[a.icon,a.text]},S))}),v?e.jsx("div",{className:"rounded-xl bg-gray-50 dark:bg-gray-800 p-3 text-xs text-gray-600 dark:text-gray-300 leading-relaxed",children:e.jsx(Y,{i18nKey:"pwa.install.iosGuide",defaults:'Нажмите <s>↗ Поделиться</s> в Safari → <s>«На экран "Домой"»</s>',components:{s:e.jsx("strong",{})}})}):e.jsxs("div",{className:"flex gap-2",children:[e.jsxs(T,{className:"flex-1 gap-2",onClick:A,children:[e.jsx(W,{className:"w-4 h-4"}),t("pwa.install.installCta","Установить")]}),e.jsx(T,{variant:"ghost",onClick:I,className:"flex-shrink-0",children:t("pwa.install.notNow","Не сейчас")})]})]}):null}export{vt as PwaInstallPromptDS};