PageSourceSearch

https://languino.com/assets/pricing-D_HnQ7rJ.js

js languino.com collected 2026-10-02 00:52:07 UTC 15,067 bytes, 1 lines download raw bytes

1import{bx as K,r as p,F,aZ as Q,l as V,j as e,C as U,T as a,v as X,B as s,c as P,aK as O,by as _,P as R,p as y,O as T,y as $,b as Z,bz as ee}from"./index-BTvKI1wD.js";import{L as Y}from"./loader-D_FsgMWi.js";import{T as f,c as M}from"./lookupService-Bm0KY1zb.js";import{g as ne,P as L}from"./paddle-helper-Cw15BZQH.js";const E=K("InAppPurchase"),N={MONTHLY:"ai.languino.app.subscription.monthly",YEARLY:"ai.languino.app.subscription.yearly"},te=Object.values(N),se=()=>{window.open("https://apps.apple.com/account/subscriptions","_blank")};function re(){var W,B;const[o,b]=p.useState([]),[u,v]=p.useState(!0),[l,x]=p.useState(!1),[r,d]=p.useState(null),[j,z]=p.useState("month"),h=F(),w=Q(),g=V(),c=h.user?((B=(W=h.profile)==null?void 0:W.profile)==null?void 0:B.subscriptionTier)??f:null,i=c===M,m=p.useCallback(async()=>{try{v(!0),d(null);const t=await E.loadProducts({productIds:te});b(t.products)}catch(t){console.error("Failed to load products:",t),d("Nepodařilo se načíst produkty. Zkuste to prosím znovu.")}finally{v(!1)}},[]);p.useEffect(()=>{m()},[m]);const S=async t=>{var k;if(!h.user){g.push(y.onboarding);return}if(!i){x(!0),d(null);try{console.log("🛒 Starting purchase for productId:",t);const n=await E.purchase({productId:t,userUid:h.user.uid});if(console.log("🛒 Purchase result:",JSON.stringify(n)),console.log("🛒 Checking result conditions:",{success:n.success,hasTransactionId:!!n.transactionId,hasOriginalTransactionId:!!n.originalTransactionId,transactionId:n.transactionId,originalTransactionId:n.originalTransactionId}),n.success&&n.transactionId&&n.originalTransactionId)try{console.log("🔐 About to call verifyAppStorePurchase..."),console.log("🔐 Calling verifyAppStorePurchase with:",{productId:n.productId,transactionId:n.transactionId,originalTransactionId:n.originalTransactionId,purchaseDate:n.purchaseDate,expiresDate:n.expiresDate,appAccountToken:n.appAccountToken});const I=await Z.verifyAppStorePurchase({productId:n.productId,transactionId:n.transactionId,originalTransactionId:n.originalTransactionId,purchaseDate:n.purchaseDate,expiresDate:n.expiresDate,appAccountToken:n.appAccountToken});if(console.log("🔐 Verify result:",JSON.stringify(I)),I.success){console.log("📋 Fetching updated profile...");const D=await Z.getProfile({});console.log("📋 Updated profile:",JSON.stringify(D)),console.log("📋 Subscription tier:",(k=D.profile)==null?void 0:k.subscriptionTier),w({type:"updateProfile",profile:D}),g.push(y.paymentSuccess)}else console.error("🔐 Verification failed:",I.error),d(I.error||"Ověření nákupu se nezdařilo.")}catch(I){console.error("🔐 Verification exception:",I),g.push(y.paymentSuccess)}else n.message&&(console.log("🛒 Purchase message:",n.message),d(n.message))}catch(n){console.error("🛒 Purchase failed:",n),d("Nákup se nezdařil. Zkuste to prosím znovu.")}finally{x(!1)}}},A=async()=>{x(!0),d(null);try{const t=await E.restorePurchases();t.success&&t.purchasedProductIds.length>0?g.push(y.paymentSuccess):d("Žádné předchozí nákupy nebyly nalezeny.")}catch(t){console.error("Restore failed:",t),d("Obnovení nákupů se nezdařilo.")}finally{x(!1)}},C=t=>{const k=t==="year"?N.YEARLY:N.MONTHLY;return o.find(n=>n.id===k)},J=()=>e.jsx(s,{sx:{mt:9,mb:5,position:"relative"},children:e.jsxs(s,{sx:{display:"flex",alignItems:"center",justifyContent:"center"},children:[e.jsx(a,{variant:"overline",children:"MĚSÍČNĚ"}),e.jsx(_,{checked:j==="year",onChange:()=>{z(j==="month"?"year":"month")},slotProps:{input:{id:"plan-switch"}},sx:{mx:1}}),e.jsxs(s,{sx:{position:"relative"},children:[e.jsxs(s,{sx:{left:12,bottom:12,display:"flex",position:"absolute"},children:[ie(),e.jsx(s,{component:"span",sx:{whiteSpace:"nowrap",color:"success.main",typography:"overline"},children:"ušetři 50%"})]}),e.jsx(a,{variant:"overline",children:"ROČNĚ"})]})]})}),q=()=>e.jsxs(R,{variant:"outlined",sx:[t=>({p:5,gap:5,display:"flex",borderRadius:2,position:"relative",alignItems:"center",bgcolor:"transparent",flexDirection:"column",boxShadow:t.vars.customShadows.card,[t.breakpoints.up("md")]:{boxShadow:"none"}})],children:[e.jsx(s,{component:"span",sx:{color:"text.secondary",typography:"overline"},children:"Základ"}),e.jsx(s,{sx:{gap:.5,display:"flex",alignItems:"center"},children:e.jsx(a,{component:"span",variant:"h3",children:"Zdarma"})}),e.jsx(s,{sx:{gap:1,display:"flex",textAlign:"center",flexDirection:"column"},children:["1 slovník","10 slovíček denně","1 procvičení denně","1 audiokniha měsíčně"].map(t=>e.jsx(a,{variant:"body2",sx:{fontWeight:"fontWeightMedium"},children:t},t))}),e.jsx(P,{fullWidth:!0,size:"large",disabled:c===f,variant:c===f?"outlined":"contained",onClick:()=>!h.user&&g.push(y.onboarding),children:c===f?"Aktuální předplatné":"Vybrat"})]}),H=()=>{const t=C(j),k=(t==null?void 0:t.displayPrice)??"---";return e.jsxs(R,{variant:"outlined",sx:[n=>({p:5,gap:5,display:"flex",borderRadius:2,position:"relative",alignItems:"center",bgcolor:"transparent",flexDirection:"column",boxShadow:n.vars.customShadows.card,[n.breakpoints.up("md")]:{boxShadow:"none"}}),n=>({py:8,[n.breakpoints.up("md")]:{boxShadow:`-24px 24px 72px -8px ${T(n.vars.palette.grey["500Channel"],.24)}`,...n.applyStyles("dark",{boxShadow:`-24px 24px 72px -8px ${T(n.vars.palette.common.blackChannel,.24)}`})}})],children:[e.jsx($,{color:"secondary",sx:{position:"absolute",top:16},children:"Nejoblíbenější"}),e.jsx(s,{component:"span",sx:{color:"text.secondary",typography:"overline"},children:"Premium"}),e.jsxs(s,{sx:{gap:.5,display:"flex",alignItems:"center"},children:[e.jsx(a,{component:"span",variant:"h3",children:k}),e.jsxs(a,{component:"span",variant:"subtitle2",children:["/",j==="year"?"rok":"měsíc"]})]}),e.jsx(s,{sx:{gap:1,display:"flex",textAlign:"center",flexDirection:"column"},children:["neomezeně slovníků","neomezeně slovíček","neomezeně procvičení","neomezeně audioknih"].map(n=>e.jsx(a,{variant:"body2",sx:{fontWeight:"fontWeightMedium"},children:n},n))}),e.jsx(P,{fullWidth:!0,size:"large",disabled:i||l||!t,variant:i?"outlined":"contained",onClick:()=>t&&S(t.id),children:l?e.jsx(O,{size:24,color:"inherit"}):i?"Aktuální předplatné":"Vybrat"})]})},G=()=>e.jsxs(s,{sx:{textAlign:"center",py:4},children:[e.jsx(a,{variant:"h5",sx:{mb:2},children:"Máte aktivní předplatné"}),e.jsx(a,{sx:{color:"text.secondary",mb:3},children:'Již máte předplatné "Premium". Můžete ho spravovat v nastavení App Store.'}),e.jsxs(s,{sx:{display:"flex",flexDirection:"column",gap:2,maxWidth:300,mx:"auto"},children:[e.jsx(P,{variant:"contained",onClick:se,children:"Spravovat předplatné"}),e.jsx(P,{variant:"text",onClick:A,disabled:l,children:l?e.jsx(O,{size:20}):"Obnovit nákupy"})]})]});return u?e.jsx(Y,{}):e.jsxs(U,{children:[e.jsx(a,{variant:"h3",sx:{mt:2,mb:2,textAlign:"center"},children:h.user?"Předplatné":"Začít můžeš zdarma"}),e.jsx(a,{sx:{color:"text.secondary",textAlign:"center"},children:h.user?"Vyber si předplatné, které ti nejvíce sedí.":"A když se ti to zalíbí, jednoduše přejdeš n
1a placené předplatné."}),r&&e.jsx(X,{severity:"error",sx:{mt:2,maxWidth:600,mx:"auto"},onClose:()=>d(null),children:r}),i?G():e.jsxs(e.Fragment,{children:[J(),e.jsxs(s,{sx:{gap:4,display:"grid",alignItems:"center",gridTemplateColumns:{xs:"repeat(1, 1fr)",md:"repeat(2, 1fr)"},maxWidth:800,mx:"auto"},children:[q(),H()]}),e.jsx(s,{sx:{textAlign:"center",mt:4},children:e.jsx(P,{variant:"text",onClick:A,disabled:l,children:l?e.jsx(O,{size:20}):"Obnovit předchozí nákupy"})})]})]})}const ie=()=>e.jsxs("svg",{width:"48",height:"48",viewBox:"0 0 48 48",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[e.jsx("path",{d:"M10.2147 30.6123C6.71243 22.9891 10.1906 14.9695 17.1738 11.0284C24.2834 7.01748 33.9187 7.08209 41.1519 10.6817C42.6578 11.4331 41.4507 13.5427 39.9511 12.945C33.399 10.3368 25.7611 10.0919 19.3278 13.1729C16.5269 14.4946 14.2131 16.6643 12.7143 19.3746C10.7314 22.9202 11.202 26.5193 11.6878 30.3396C11.8055 31.2586 10.5388 31.3074 10.2147 30.6123Z",fill:"#919EAB",fillOpacity:"0.24"}),e.jsx("path",{d:"M11.8126 39.0341C9.56032 35.9944 6.83856 32.7706 6.01828 28.9795C5.98242 28.8458 5.99937 28.7036 6.0656 28.5821C6.13183 28.4607 6.24226 28.3694 6.374 28.3271C6.50573 28.2849 6.64867 28.295 6.77316 28.3553C6.89765 28.4157 6.99414 28.5216 7.04263 28.6511C8.43444 31.8092 10.4092 34.463 12.553 37.1099C13.8625 35.3195 14.915 33.2716 16.4773 31.7142C16.6164 31.5741 16.8007 31.4879 16.9974 31.471C17.1941 31.4541 17.3905 31.5075 17.5515 31.6218C17.7125 31.736 17.8277 31.9037 17.8767 32.095C17.9257 32.2863 17.9052 32.4887 17.8189 32.6663C16.5996 35.0298 15.0564 37.2116 13.2339 39.1484C13.1391 39.2464 13.0238 39.3222 12.8963 39.3703C12.7688 39.4185 12.6321 39.4378 12.4963 39.4268C12.3604 39.4159 12.2286 39.375 12.1104 39.3071C11.9922 39.2392 11.8905 39.1459 11.8126 39.0341Z",fill:"#919EAB",fillOpacity:"0.24"})]});function oe({plan:o,onPlanSelect:b,sx:u,...v}){const l=()=>e.jsxs(s,{sx:{gap:.5,display:"flex",flexDirection:"column",alignItems:"center"},children:[e.jsxs(s,{sx:{display:"flex",alignItems:"center"},children:[e.jsx(a,{component:"span",variant:"h3",children:o.price}),!o.free&&e.jsx(a,{component:"span",variant:"subtitle2",children:"/měsíc"})]}),o.secondaryPrice&&e.jsx(a,{component:"span",variant:"caption",sx:{color:"text.secondary"},children:o.secondaryPrice})]}),x=()=>e.jsx(s,{sx:{gap:1,display:"flex",textAlign:"center",flexDirection:"column"},children:o.options.map(r=>e.jsx(a,{variant:"body2",sx:{fontWeight:"fontWeightMedium",...r.disabled&&{color:"text.disabled",textDecoration:"line-through"}},children:r.title},r.title))});return e.jsxs(R,{variant:"outlined",sx:[r=>({p:5,gap:5,display:"flex",borderRadius:2,position:"relative",alignItems:"center",bgcolor:"transparent",flexDirection:"column",boxShadow:r.vars.customShadows.card,[r.breakpoints.up("md")]:{boxShadow:"none"}}),r=>o.popular&&{py:8,[r.breakpoints.up("md")]:{boxShadow:`-24px 24px 72px -8px ${T(r.vars.palette.grey["500Channel"],.24)}`,...r.applyStyles("dark",{boxShadow:`-24px 24px 72px -8px ${T(r.vars.palette.common.blackChannel,.24)}`})}},...Array.isArray(u)?u:[u]],...v,children:[o.popular&&e.jsx($,{color:"secondary",sx:{position:"absolute",top:16},children:"Nejoblíbenější"}),e.jsx(s,{component:"span",sx:{color:"text.secondary",typography:"overline"},children:o.license}),l(),x(),e.jsx(P,{fullWidth:!0,size:"large",disabled:o.disabled,variant:o.disabled?"outlined":"contained",onClick:()=>b&&b(o.product),children:o.buttonText})]})}function ae(){var w,g;const[o,b]=p.useState("month"),[u,v]=p.useState(null),l=F(),x=V(),r=p.useRef(null);p.useEffect(()=>{(async()=>{const i=await ne(m=>{m.name==="checkout.completed"&&x.push(y.paymentSuccess)});i&&(r.current=i,await d(o))})()},[(g=(w=l.profile)==null?void 0:w.profile)==null?void 0:g.subscriptionTier]);const d=async c=>{var i,m;if(!r.current){console.log("Paddle not initialized yet");return}try{const S={items:[{quantity:1,priceId:L.prices.ultimate[c]}]},A=await r.current.PricePreview(S),C=l.user?((m=(i=l.profile)==null?void 0:i.profile)==null?void 0:m.subscriptionTier)??f:null;v([{license:"Základ",price:"Zdarma",options:[{title:"1 slovník",disabled:!1},{title:"10 nových slovíček denně",disabled:!1},{title:"1 procvičení denně",disabled:!1},{title:"1 audiokniha měsíčně",disabled:!1}],buttonText:C===f?"Aktuální předplatné":"Vybrat",disabled:C===f,popular:!1,free:!0},{license:"Premium",price:j(A),options:[{title:"neomezeně slovníků",disabled:!1},{title:"neomezeně slovíček",disabled:!1},{title:"neomezeně procvičení",disabled:!1},{title:"neomezeně audioknih",disabled:!1}],buttonText:C===M?"Aktuální předplatné":"Vybrat",disabled:C===M,popular:!0,free:!1,product:"ultimate"}])}catch(S){console.error(`Error fetching prices: ${S}`)}},j=c=>{const i=c.data.details.lineItems[0];return i?(Number(i.price.unitPrice.amount)/100).toFixed(0)+" "+i.price.unitPrice.currencyCode:""},z=c=>{var i;if(c!==void 0){if(!r.current){console.log("Paddle not initialized yet");return}try{r.current.Checkout.open({items:[{priceId:L.prices[c][o],quantity:1}],customer:(i=l.user)!=null&&i.email?{email:l.user.email}:void 0,customData:{uid:l.user.uid},settings:{theme:"light",displayMode:"overlay",variant:"one-page"}})}catch(m){console.error(`Checkout error: ${m}`)}}},h=()=>e.jsx(s,{sx:{mt:9,mb:5,position:"relative"},children:e.jsxs(s,{sx:{display:"flex",alignItems:"center",justifyContent:"center"},children:[e.jsx(a,{variant:"overline",children:"MĚSÍČNĚ"}),e.jsx(_,{checked:o==="year",onChange:()=>{const c=o==="month"?"year":"month";b(c),d(c)},slotProps:{input:{id:"plan-switch"}},sx:{mx:1}}),e.jsxs(s,{sx:{position:"relative"},children:[e.jsxs(s,{sx:{left:12,bottom:12,display:"flex",position:"absolute"},children:[le(),e.jsx(s,{component:"span",sx:{whiteSpace:"nowrap",color:"success.main",typography:"overline"},children:"ušetři 50%"})]}),e.jsx(a,{variant:"overline",children:"ROČNĚ"})]})]})});return e.jsx(U,{children:u===null?e.jsx(Y,{}):e.jsxs(e.Fragment,{children:[e.jsx(a,{variant:"h3",sx:{mt:2,mb:2,textAlign:"center"},children:l.user?"Předplatné":"Začít můžeš zdarma"}),e.jsx(a,{sx:{color:"text.secondary",textAlign:"center"},children:l.user?"Vyber si předplatné, které ti nejvíce sedí.":"A když se ti to zalíbí, jednoduše přejdeš n
1a placené předplatné."}),h(),e.jsx(s,{sx:{gap:4,display:"grid",alignItems:"center",gridTemplateColumns:{xs:"repeat(1, 1fr)",md:"repeat(2, 1fr)"},maxWidth:800,mx:"auto"},children:u==null?void 0:u.map(c=>e.jsx(oe,{plan:c,onPlanSelect:i=>l.user?z(i):x.push(y.onboarding)},c.license))})]})})}const le=()=>e.jsxs("svg",{width:"48",height:"48",viewBox:"0 0 48 48",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[e.jsx("path",{d:"M10.2147 30.6123C6.71243 22.9891 10.1906 14.9695 17.1738 11.0284C24.2834 7.01748 33.9187 7.08209 41.1519 10.6817C42.6578 11.4331 41.4507 13.5427 39.9511 12.945C33.399 10.3368 25.7611 10.0919 19.3278 13.1729C16.5269 14.4946 14.2131 16.6643 12.7143 19.3746C10.7314 22.9202 11.202 26.5193 11.6878 30.3396C11.8055 31.2586 10.5388 31.3074 10.2147 30.6123Z",fill:"#919EAB",fillOpacity:"0.24"}),e.jsx("path",{d:"M11.8126 39.0341C9.56032 35.9944 6.83856 32.7706 6.01828 28.9795C5.98242 28.8458 5.99937 28.7036 6.0656 28.5821C6.13183 28.4607 6.24226 28.3694 6.374 28.3271C6.50573 28.2849 6.64867 28.295 6.77316 28.3553C6.89765 28.4157 6.99414 28.5216 7.04263 28.6511C8.43444 31.8092 10.4092 34.463 12.553 37.1099C13.8625 35.3195 14.915 33.2716 16.4773 31.7142C16.6164 31.5741 16.8007 31.4879 16.9974 31.471C17.1941 31.4541 17.3905 31.5075 17.5515 31.6218C17.7125 31.736 17.8277 31.9037 17.8767 32.095C17.9257 32.2863 17.9052 32.4887 17.8189 32.6663C16.5996 35.0298 15.0564 37.2116 13.2339 39.1484C13.1391 39.2464 13.0238 39.3222 12.8963 39.3703C12.7688 39.4185 12.6321 39.4378 12.4963 39.4268C12.3604 39.4159 12.2286 39.375 12.1104 39.3071C11.9922 39.2392 11.8905 39.1459 11.8126 39.0341Z",fill:"#919EAB",fillOpacity:"0.24"})]});function xe(){return ee()?e.jsx(re,{}):e.jsx(ae,{})}export{xe as default};

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.