PageSourceSearch

https://foodnoise.lovable.app/assets/index-DB0ZUOGP.js

js foodnoise.lovable.app collected 2026-10-03 03:31:34 UTC 24,630 bytes, 1 lines download raw bytes

1import{u as K,r as p,i as g,p as J,T as N,g as I,j as e,c as Q}from"./index-B1djFfPb.js";function T(t){if(Array.isArray(t))return t.flatMap(d=>T(d));if(typeof t!="string")return[];const a=[];let n=0,o,r,s,i,l;const c=()=>{for(;n<t.length&&/\s/.test(t.charAt(n));)n+=1;return n<t.length},u=()=>(r=t.charAt(n),r!=="="&&r!==";"&&r!==",");for(;n<t.length;){for(o=n,l=!1;c();)if(r=t.charAt(n),r===","){for(s=n,n+=1,c(),i=n;n<t.length&&u();)n+=1;n<t.length&&t.charAt(n)==="="?(l=!0,n=i,a.push(t.slice(o,s)),o=n):n=s+1}else n+=1;(!l||n>=t.length)&&a.push(t.slice(o))}return a}function $(t){return t instanceof Headers?t:Array.isArray(t)?new Headers(t):typeof t=="object"?new Headers(t):null}function B(...t){return t.reduce((a,n)=>{const o=$(n);if(!o)return a;for(const[r,s]of o.entries())r==="set-cookie"?T(s).forEach(i=>a.append("set-cookie",i)):a.set(r,s);return a},new Headers)}function H(t){const a=K();return p.useCallback(async(...n)=>{try{const o=await t(...n);if(g(o))throw o;return o}catch(o){if(g(o))return o.options._fromLocation=a.stores.location.get(),a.navigate(a.resolveRedirect(o).options);throw o}},[a,t])}function S(t){return t!=="__proto__"&&t!=="constructor"&&t!=="prototype"}function w(t,a){const n=Object.create(null);if(t)for(const o of Object.keys(t))S(o)&&(n[o]=t[o]);if(a&&typeof a=="object")for(const o of Object.keys(a))S(o)&&(n[o]=a[o]);return n}function F(t){return Object.create(null)}var E=()=>{throw new Error("createServerOnlyFn() functions can only be called on the server!")},y=(t,a)=>{const n=a||t||{};return typeof n.method>"u"&&(n.method="GET"),Object.assign(s=>y(void 0,{...n,...s}),{options:n,middleware:s=>{const i=[...n.middleware||[]];s.map(c=>{N in c?c.options.middleware&&i.push(...c.options.middleware):i.push(c)});const l=y(void 0,{...n,middleware:i});return l[N]=!0,l},inputValidator:s=>y(void 0,{...n,inputValidator:s}),handler:(...s)=>{const[i,l]=s,c={...n,extractedFn:i,serverFn:l},u=[...c.middleware||[],Y(c)];return i.method=n.method,Object.assign(async d=>{const m=await M(u,"client",{...i,...c,data:d?.data,headers:d?.headers,signal:d?.signal,fetch:d?.fetch,context:F()}),h=J(m.error);if(h)throw h;if(m.error)throw m.error;return m.result},{...i,method:n.method,__executeServer:async d=>{const m=E(),h=m.contextAfterGlobalMiddlewares;return await M(u,"server",{...i,...d,serverFnMeta:i.serverFnMeta,context:w(d.context,h),request:m.request}).then(f=>({result:f.result,error:f.error,context:f.sendContext}))}})}})};async function M(t,a,n){let o=L([...I()?.functionMiddleware||[],...t]);if(a==="server"){const s=E();s?.executedRequestMiddlewares&&(o=o.filter(i=>!s.executedRequestMiddlewares.has(i)))}const r=async s=>{const i=o.shift();if(!i)return s;try{"inputValidator"in i.options&&i.options.inputValidator&&a==="server"&&(s.data=await G(i.options.inputValidator,s.data));let l;if(a==="client"?"client"in i.options&&(l=i.options.client):"server"in i.options&&(l=i.options.server),l){const u=await l({...s,next:async(d={})=>{const m=await r({...s,...d,context:w(s.context,d.context),sendContext:w(s.sendContext,d.sendContext),headers:B(s.headers,d.headers),_callSiteFetch:s._callSiteFetch,fetch:s._callSiteFetch??d.fetch??s.fetch,result:d.result!==void 0?d.result:d instanceof Response?d:s.result,error:d.error??s.error});if(m.error)throw m.error;return m}});if(g(u))return{...s,error:u};if(u instanceof Response)return{...s,result:u};if(!u)throw new Error("User middleware returned undefined. You must call next() or return a result in your middlewares.");return u}return r(s)}catch(l){return{...s,error:l}}};return r({...n,headers:n.headers||{},sendContext:n.sendContext||{},context:n.context||F(),_callSiteFetch:n.fetch})}function L(t,a=100){const n=new Set,o=[],r=(s,i)=>{if(i>a)throw new Error(`Middleware nesting depth exceeded maximum of ${a}. Check for circular references.`);s.forEach(l=>{l.options.middleware&&r(l.options.middleware,i+1),n.has(l)||(n.add(l),o.push(l))})};return r(t,0),o}async function G(t,a){if(t==null)return{};if("~standard"in t){const n=await t["~standard"].validate(a);if(n.issues)throw new Error(JSON.stringify(n.issues,void 0,2));return n.value}if("parse"in t)return t.parse(a);if(typeof t=="function")return t(a);throw new Error("Invalid validator type!")}function Y(t){return{"~types":void 0,options:{inputValidator:t.inputValidator,client:async({next:a,sendContext:n,fetch:o,...r})=>{const s={...r,context:n,fetch:o};return a(await t.extractedFn?.(s))},server:async({next:a,...n})=>{const o=await t.serverFn?.(n);return a({...n,result:o})}}}}const b=[{id:1,question:"Co nejlépe vystihuje tvoje signály hladu a sytosti?",subtitle:"Zaškrtni vše, co se tě týká:",multiSelect:!0,options:[{id:"1a",text:"Zpochybňuji nebo přehlížím své signály na základě toho, co si myslím, že bych měla jíst.",category:"mental"},{id:"1b",text:"Moje signály jsou rozházené, když jsem ve stresu, přetížená nebo emocionálně rozrušená.",category:"emotional"},{id:"1c",text:"Jen zřídka jasně cítím hlad nebo sytost — je těžké to rozeznat.",category:"physical"},{id:"1d",text:"Většinou nemám problém rozpoznat a následovat své signály hladu a sytosti.",category:"noDeficit"}]},{id:2,question:"Jak obvykle přistupuješ k jídlu během dne?",subtitle:"Zaškrtni vše, co se tě týká:",multiSelect:!0,options:[{id:"2a",text:"S jídlem se cítím v pohodě, dokud mě nerozhodí emoce, pak se to většinou zkomplikuje.",category:"emotional"},{id:"2b",text:"Snažím se dodržovat pevný řád a cítím se nepříjemně, když jím mimo něj, i když mám hlad.",category:"mental"},{id:"2c",text:"Jím flexibilně a přizpůsobuji se svým potřebám.",category:"noDeficit"},{id:"2d",text:"Často vynechávám jídla nebo jím příliš málo, někdy aniž bych si to uvědomila.",category:"physical"}]},{id:3,question:"Kdy jsou tvoje chutě nejsilnější?",subtitle:"Zaškrtni vše, co se tě týká:",multiSelect:!0,options:[{id:"3a",text:"Moje chutě jsou normální a dokážu na ně reagovat s lehkostí.",category:"noDeficit"},{id:"3b",text:"Když jsem emocionálně vyčerpaná, přestimulovaná nebo mi chybí radost.",category:"emotional"},{id:"3c",text:"V noci, když jsem unavená, nebo když jsem dlouho nejedla.",category:"physical"},{id:"3d",text:'Když jsem u jídel, která běžně nejím, nebo si myslím, že bych je neměla jíst (zvlášť pokud jsem si ten den už jedení "pokazila").',category:"mental"}]},{id:4,question:"Co nejspíš ovlivňuje tvoje jedení v danou chvíli?",subtitle:"Zaškrtni vše, co se tě týká:",multiSelect:!0,options:[{id:"4a",text:"Obvykle hlad, ale když jsem ve stresu, smutná apod., pak jím jinak.",category:"emotional"},{id:"4b",text:"Když cítím, že hladovím, nebo když si myslím, že je čas jíst.",category:"physical"},{id:"4c",text:"Kombinace toho, co logicky dává smysl, a toho, co moje tělo chce.",category:"noDeficit"},{id:"4d",text:"Vybírám si tu nejzdravější variantu nebo to, z čeho budu mít nejmenší výčitky.",category:"mental"}]},{id:5,question:"Jaké myšlenky na jídlo se ti během dne objevují?",subtitle:"Zaškrtni vše, co se tě týká:",multiSelect:!0,options:[{id:"5a",text:"Když dodržuji svůj jídelní plán, je to v pohodě, ale změna plánů mi působí stres.",category:"mental"},{id:"5b",text:"Často myslím na jídlo, aniž bych věděla proč.",category:"physical"},{id:"5c",text:"Moc ne, většinou jen když jím nebo plánuji co si dám.",category:"noDeficit"},{id:"5d",text:"Na jídlo myslím, když hledám zdroj útěchy, úniku nebo radosti.",category:"emotional"}]}
1,{id:6,question:"Jak se cítíš po jídle?",subtitle:"Zaškrtni vše, co se tě týká:",multiSelect:!0,options:[{id:"6a",text:"Často mám výčitky nebo analyzuji, jestli jsem snědla správné množství.",category:"mental"},{id:"6b",text:"Někdy se cítím provinile, zvlášť když jsem jedla kvůli emocím, ne hladu.",category:"emotional"},{id:"6c",text:"Často se cítím nepříjemně plná nebo naopak stále hladová — těžko najdu střed.",category:"physical"},{id:"6d",text:"Většinou se cítím spokojeně a jídlo dál neřeším.",category:"noDeficit"}]},{id:7,question:"Jak reaguješ, když se změní tvoje plány ohledně jídla?",subtitle:"Zaškrtni vše, co se tě týká:",multiSelect:!0,options:[{id:"7a",text:"Cítím úzkost nebo potřebu to nějak napravit — třeba méně jíst později.",category:"mental"},{id:"7b",text:"Změna plánů mě rozhodí emocionálně a sahám po jídle jako po útěše.",category:"emotional"},{id:"7c",text:"Když se plány změní, často skončím tak, že nejím vůbec nebo jím nárazově.",category:"physical"},{id:"7d",text:"Přizpůsobím se bez stresu — prostě jím, když mám hlad.",category:"noDeficit"}]},{id:8,question:"Jaký máš vztah k jídlům, která si běžně zakazuješ?",subtitle:"Zaškrtni vše, co se tě týká:",multiSelect:!0,options:[{id:"8a",text:"Když je sním, cítím, že jsem selhala, a snažím se to vyrovnat.",category:"mental"},{id:"8b",text:"Sahám po nich hlavně ve chvílích, kdy potřebuji emocionální úlevu.",category:"emotional"},{id:"8c",text:"Když si je konečně dovolím, nedokážu přestat — tělo si bere, co dlouho nedostávalo.",category:"physical"},{id:"8d",text:"Žádná jídla si nezakazuji — jím je, když na ně mám chuť.",category:"noDeficit"}]}];function P(t){const a={physical:0,mental:0,emotional:0,noDeficit:0},n=Object.values(t).flat(),o=b.flatMap(s=>s.options);for(const s of n){const i=o.find(l=>l.id===s);i&&a[i.category]++}const r=a.physical+a.mental+a.emotional;return r===0?a:{physical:Math.round(a.physical/r*1e3)/10,mental:Math.round(a.mental/r*1e3)/10,emotional:Math.round(a.emotional/r*1e3)/10,noDeficit:0}}function U(t){const a=P(t);return Object.entries(a).sort((n,o)=>o[1]-n[1])[0][0]}const C={physical:"Fyzické důvody",mental:"Mentální důvody",emotional:"Emocionální důvody",noDeficit:"Žádné důvody"},W={physical:"Pokud ti v této oblasti vyšlo nějaké procento, může to znamenat, že nevědomky jíš příliš málo, ignoruješ hlad, dokud není naléhavý, nebo se cítíš mimo kontakt s potřebami svého těla. Jídlo ti může zůstávat v hlavě jednoduše proto, že tvoje tělo hledá energii, kterou nedostává. Nemusíš vždy cítit jasné signály hladu nebo sytosti, což ztěžuje vědět, co tvoje tělo skutečně chce.",mental:'Pokud ti v této oblasti vyšlo nějaké procento, může to znamenat, že tvoje rozhodování o jídle je ovládáno přemýšlením, jídelními pravidly nebo tlakem jíst „správně." I když si teoreticky dovolíš všechna jídla, můžeš mít pocit, že to musíš později vyrovnat, nejdřív si to zasloužit, nebo se vyhnout opětovnému jedení příliš brzy. To neustálé přehodnocování vytváří food noise, kvůli kterému je těžké cítit se u jídla v pohodě.',emotional:"Pokud ti v této oblasti vyšlo nějaké procento, může to znamenat, že jídlo může sloužit jako způsob, jak zvládat stres, nudu, přetížení nebo emoce, které nevíš, jak zpracovat. Možná si ani neuvědomuješ, že toužíš po určitých jídlech, dokud nejsi emocionálně zasažená — a pak to přijde automaticky. Neznamená to, že děláš něco špatně. Znamená to, že jídlo se snaží vyplnit roli, která potřebuje jinou podporu.",noDeficit:"Pokud ti v této oblasti vyšlo nějaké procento, je to dobrý znak — znamená to, že tvoje odpovědi ukázaly, že tato oblast nepřispívá k tvému food noise. Přesně tohle chceme dosáhnout ve všech oblastech, takže procento zde stojí za oslavu!"},X="/assets/quiz-bg-CuW_h2YK.jpg";function k({children:t}){return e.jsxs("div",{className:"min-h-dvh relative",children:[e.jsx("div",{className:"quiz-bg",style:{backgroundImage:`url(${X})`}}),e.jsx("div",{className:"quiz-content min-h-dvh flex items-center justify-center px-4 py-10",children:t})]})}function ee({onStart:t}){return e.jsx(k,{children:e.jsxs("div",{className:"max-w-2xl text-center animate-fade-in-up",children:[e.jsx("span",{className:"text-xs tracking-[0.2em] uppercase text-quiz-text-muted/70 font-medium mb-4 block",children:"Otestuj se zdarma"}),e.jsx("h1",{className:"font-serif text-4xl md:text-5xl lg:text-6xl leading-tight text-quiz-text font-medium tracking-tight text-balance mb-6",children:"Proč neustále myslím na jídlo?"}),e.jsx("p",{className:"text-quiz-text-muted text-lg md:text-xl leading-relaxed mb-10 text-balance max-w-lg mx-auto",children:"Od
1pověz na 8 otázek a zjisti, co se skutečně skrývá za tvým neustálým přemýšlením o jídle."}),e.jsx("button",{onClick:t,className:"inline-flex items-center justify-center rounded-full bg-quiz-btn border border-quiz-card-border text-quiz-btn-text px-10 py-4 text-base font-medium transition-all duration-300 hover:bg-quiz-card-selected hover:border-quiz-text/40 cursor-pointer",children:"Začít test"}),e.jsx("p",{className:"mt-6 text-sm text-quiz-text-muted/60",children:"Zabere ti to přibližně 2 minuty"})]})})}function te({question:t,totalQuestions:a,selectedAnswers:n,onToggleAnswer:o,onBack:r,onNext:s,isFirst:i,isLast:l}){const c=n.length>0;return e.jsx(k,{children:e.jsxs("div",{className:"w-full max-w-3xl",children:[e.jsxs("h2",{className:"font-serif text-2xl md:text-4xl leading-snug text-quiz-text text-center mb-4 font-medium tracking-tight text-balance animate-fade-in-up",children:[t.isBonus?"":`${t.id}. `,t.question]},t.id),t.subtitle&&e.jsx("p",{className:"text-quiz-text-muted text-sm text-center mb-8 animate-fade-in-up animation-delay-100",children:t.subtitle}),e.jsx("div",{className:`grid grid-cols-1 ${t.options.length<=4?"md:grid-cols-2":"md:grid-cols-3"} gap-4`,children:t.options.map((u,d)=>{const m=n.includes(u.id),h=["animation-delay-100","animation-delay-200","animation-delay-300","animation-delay-400","animation-delay-400"][d]??"animation-delay-400";return e.jsxs("button",{onClick:()=>o(u.id),className:`animate-fade-in-up ${h} text-left w-full border rounded-xl p-5 md:p-6 transition-all duration-300 ease-out flex items-center gap-4 cursor-pointer min-h-[100px] ${m?"bg-quiz-card-selected border-quiz-text/50":"bg-quiz-card border-quiz-card-border hover:border-quiz-text/30 hover:bg-quiz-card-selected/50"}`,children:[e.jsx("span",{className:"text-quiz-text text-sm leading-relaxed flex-1 text-pretty",children:u.text}),e.jsx("span",{className:`w-5 h-5 rounded-full border-2 shrink-0 transition-all duration-300 flex items-center justify-center ${m?"border-quiz-text bg-quiz-text":"border-quiz-text/40"}`,children:m&&e.jsx("span",{className:"w-2 h-2 rounded-full bg-background"})})]},u.id)})}),e.jsxs("div",{className:"mt-8 flex flex-col items-center gap-3",children:[e.jsx("button",{onClick:s,disabled:!c,className:"inline-flex items-center justify-center rounded-full bg-quiz-btn border border-quiz-card-border text-quiz-btn-text px-10 py-3.5 text-base font-medium transition-all duration-300 hover:bg-quiz-card-selected hover:border-quiz-text/40 animate-fade-in-up cursor-pointer disabled:opacity-40 disabled:cursor-not-allowed",children:l?"Zobrazit výsledky":"Další otázka"}),!i&&e.jsx("button",{onClick:r,className:"text-sm font-medium text-quiz-text-muted underline underline-offset-4 hover:text-quiz-text transition-colors cursor-pointer",children:"Zpět"})]})]})})}function ne({onSubmit:t,isSubmitting:a,error:n}){const[o,r]=p.useState(""),[s,i]=p.useState(""),l=c=>{c.preventDefault(),s.trim()&&t(o.trim(),s.trim())};return e.jsx(k,{children:e.jsxs("div",{className:"max-w-lg w-full text-center animate-fade-in-up",children:[e.jsx("h2",{className:"font-serif text-3xl md:text-4xl lg:text-5xl leading-tight text-quiz-text font-medium tracking-tight mb-4",children:"Získej své výsledky"}),e.jsx("p",{className:"text-quiz-text-muted text-sm mb-8",children:"(Nebudu tě spamovat)"}),e.jsxs("form",{onSubmit:l,className:"flex flex-col gap-4",children:[e.jsxs("div",{className:"relative",children:[e.jsx("label",{className:"absolute top-3 left-4 text-xs text-quiz-text-muted font-medium",children:"Jméno"}),e.jsx("input",{type:"text",value:o,onChange:c=>r(c.target.value),className:"w-full bg-quiz-card border border-quiz-card-border rounded-xl pt-8 pb-3 px-4 text-quiz-text placeholder:text-quiz-text-muted/50 focus:outline-none focus:border-quiz-text/50 transition-colors",placeholder:"Tvoje jméno"})]}),e.jsxs("div",{className:"relative",children:[e.jsx("label",{className:"absolute top-3 left-4 text-xs text-quiz-text-muted font-medium",children:"Email*"}),e.jsx("input",{type:"email",required:!0,value:s,onChange:c=>i(c.target.value),className:"w-full bg-quiz-card border border-quiz-card-border rounded-xl pt-8 pb-3 px-4 text-quiz-text placeholder:text-quiz-text-muted/50 focus:outline-none focus:border-quiz-text/50 transition-colors",placeholder:"[email protected]"})]}),n&&e.jsx("p",{className:"text-red-400 text-sm",children:n}),e.jsx("button",{type:"submit",disabled:a||!s.trim(),className:"mt-2 inline-flex items-center justify-center rounded-full bg-quiz-btn border border-quiz-card-border text-quiz-btn-text px-10 py-3.5 text-base font-medium transition-all duration-300 hover:bg-quiz-card-selected hover:border-quiz-text/40 disabled:opacity-50 disabled:cursor-not-allowed cursor-pointer",children:a?"Odesílám...":"Odeslat"})]})]})})}const oe="/assets/course-banner-D1lVfiaz.jpg",O=["physical","mental","emotional"];function ae({percentages:t}){const a=[...O].sort((o,r)=>t[r]-t[o]),n=O.some(o=>t[o]>0);return e.jsx(k,{children:e.jsxs("div",{className:"w-full max-w-2xl",children:[e.jsxs("div",{className:"text-center animate-fade-in-up",children:[e.jsx("h1",{className:"font-serif text-3xl md:text-5xl leading-tight text-quiz-text font-medium tracking-tight mb-4",children:n?"Tvoje cesta ke klidu od food noise":"Skvělá zpráva!"}),n?e.jsxs(e.Fragment,{children:[e.jsx("p",{className:"text-quiz-text/80 text-sm md:text-base leading-relaxed mb-4 text-pretty",children:"Procenta níže ukazují, jak moc může každá oblast přispívat k tvému food noise. Čím vyšší číslo, tím větší roli může hrát v tom, proč se jídlo v tvé hlavě ozývá tak hlasitě."}),e.jsx("p",{className:"text-quiz-text-muted text-sm italic mb-8",children:"Scrolluj dolů a zjisti, co stojí za tvým food noise — a jak s tím pracovat!"})]}):e.jsx("p",{className:"text-quiz-text/80 text-sm md:text-base leading-relaxed mb-8 text-pretty",children:"Na základě tvých odpovědí to vypadá, že food noise u tebe nehraje velkou roli. Máš zdravý vztah k jídlu a tvoje signály hladu a sytosti fungují tak, jak mají. To je něco, co stojí za oslavu! 🎉"})]}),n&&e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"flex flex-col gap-5 mb-12 animate-fade-in-up animation-delay-100",children:a.map(o=>e.jsxs("div",{children:[e.jsx("h3",{className:"font-serif text-lg text-quiz-text font-medium text-center mb-2",children:C[o]}),e.jsxs("div",{className:"relative w-full h-10 bg-quiz-card-border/40 rounded-lg overflow-hidden",children:[e.jsx("div",{className:"h-full bg-quiz-text/30 rounded-lg transition-all duration-1000 ease-out",style:{width:`${Math.max(t[o],5)}%`}}),e.jsxs("span",{className:"absolute left-3 top-1/2 -translate-y-1/2 text-quiz-text text-sm font-medium",children:[t[o]," %"]})]})]},o))}),e.jsxs("div",{className:"animate-fade-in-up animation-delay-200",children:[e.jsx("h2",{className:"font-serif text-2xl md:text-3xl text-quiz-text font-medium text-center mb-8 tracking-tight uppercase",children:"Rozbor tvých výsledků"}),e.jsx("div",{className:"flex flex-col gap-8",children:a.map(o=>e.jsxs("div",{className:"text-center",children:[e.jsxs("h3",{className:"font-serif text-xl text-quiz-text font-medium mb-3",children:[C[o],":"]}),e.jsx("p",{className:"text-quiz-text/75 text-sm md:text-base leading-relaxed text-pretty",children:W[o]})]},o))})]})]}),e.jsx("div",{className:"mt-12 p-5 rounded-xl animate-fade-in-up",children:e.jsx("p",{className:"text-xs md:text-sm text-quiz-text-muted/70 leading-relaxed text-center italic text-pretty",children:"Pamatuj, že tento test není diagnóza. Je to první krok k porozumění sobě samé. Buď k sobě laskavá — samotný fakt, že sis tento test udělala, ukazuje tvou odvahu podívat se pravdě do očí."})}),e.jsxs("div",{className:"mt-6 p-6 bg-quiz-card border-2 border-quiz-text/20 rounded-2xl text-center animate-fade-in-up",children:[e.jsx("p",{className:"text-quiz-text text-base md:text-lg leading-relaxed font-medium",children:"📩 Podívej se do svého emailu"}),e.jsx("p",{className:"text-quiz-text/70 text-sm md:text-base leading-relaxed mt-2",children:"Posíláme ti podrobnější rozbor tvých výsledků i s konkrétními tipy, jak s food noise pracovat dál."}),e.jsxs("p",{className:"text-quiz-text/80 text-sm md:text-base leading-relaxed mt-3 font-medium",children:["🎥 V emailu na tebe čeká i ",e.jsx("strong",{children:"video"}),", ve kterém ti vÅ¡echny 3 důvody food noise vysvětluji více do hloubky."]}),e.jsxs("p",{className:"text-quiz-text/60 text-xs md:text-sm leading-relaxed mt-3 italic",children:["Pokud email nenajdeÅ¡ v doručených, podívej se prosím do složky ",e.jsx("strong",{children:"Spam"})," nebo ",e.jsx("strong",{children:"Hromadné"}),"."]})]}),e.jsxs("div",{className:"mt-12 animate-fade-in-up",children:[e.jsx("h2",{className:"font-serif text-2xl md:text-3xl text-quiz-text font-medium text-center mb-3 tracking-tight",children:"Tvůj další krok k tichu v hlavě"}),e.jsxs("p",{className:"text-quiz-text/80 text-sm md:text-base leading-relaxed text-center mb-6 text-pretty",children:["Kurz ",e.jsx("strong",{children:"ZtiÅ¡ myÅ¡lenky na jídlo"})," tě provede 4 moduly, ve kterých se naučíš pracovat přesně s tím, co jsi právě zjistila v testu. Krok za krokem, ve svém tempu."]}),e.jsx("a",{href:"https://petravalesova.cz/food-noise-akce-2/",target:"_blank",rel:"noopener noreferrer",className:"block overflow-hidden rounded-2xl border border-quiz-card-border hover:border-quiz-text/40 transition-all duration-300 group max-w-md mx-auto",children:e.jsx("img",{src:oe,alt:"ZtiÅ¡ myÅ¡lenky na jídlo — online kurz",className:"w-full h-auto group-hover:scale-[1.02] transition-transform duration-500"})}),e.jsxs("div",{className:"mt-8 text-center",children:[e.jsxs("div",{className:"inline-block bg-quiz-card border border-quiz-card-border rounded-2xl p-6 mb-6",children:[e.jsx("p",{className:"text-quiz-text text-lg md:text-xl font-semibold mb-1",children:"🎁 Speciální nabídka"}),e.jsx("p",{className:"text-2xl md:text-3xl font-bold text-red-400 mb-1",children:"70 % sleva"}),e.jsx("p",{className:"text-quiz-text-muted text-sm",children:"⏰ Platí pouze 48 hodin od vyplnění testu"})]}),e.jsx("div",{children:e.jsx("a",{href:"https://petravalesova.cz/food-noise-akce-2/",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center justify-center rounded-full bg-red-500 hover:bg-red-400 text-white px-10 py-4 text-lg font-semibold transition-all duration-300 shadow-lg shadow-red-500/30 hover:shadow-red-400/40 hover:scale-105 cursor-pointer",children:"Chci kurz se slevou 70 %"})})]})]})]})})}const se=y({method:"POST"}).handler(Q("0a3f038dd04bea4449535e52b03a96c6d52ab535e454a874405e62f176c041f7"));function re(){const[t,a]=p.useState("intro"),[n,o]=p.useState(0),[r,s]=p.useState({}
1),[i,l]=p.useState(!1),[c,u]=p.useState(null),[d,m]=p.useState(null),[h,f]=p.useState(null),Z=H(se),q=()=>{a("quiz"),o(0),s({}),m(null),f(null),u(null),window.scrollTo(0,0)},_=x=>{const j=b[n].id;s(v=>{const z=v[j]||[];return z.includes(x)?{...v,[j]:z.filter(V=>V!==x)}:{...v,[j]:[...z,x]}})},D=()=>{if(n<b.length-1)o(x=>x+1),window.scrollTo(0,0);else{const x=P(r),j=U(r);m(x),f(j),a("email"),window.scrollTo(0,0)}},R=()=>{n>0&&(o(x=>x-1),window.scrollTo(0,0))},A=async(x,j)=>{if(h){l(!0),u(null);try{await Z({data:{email:j,name:x,resultCategory:h,resultTitle:h}})}catch{console.error("Nepodařilo se uložit kontakt do MailerLite, ale výsledky zobrazíme dál.")}finally{if(l(!1),typeof window<"u"){const v=window;typeof v.fbq=="function"&&v.fbq("track","Lead"),window.parent&&window.parent!==window&&window.parent.postMessage({type:"fbq",event:"Lead"},"*")}a("result"),window.scrollTo(0,0)}}};if(t==="intro")return e.jsx(ee,{onStart:q});if(t==="quiz"){const x=b[n];return e.jsx(te,{question:x,totalQuestions:b.length,selectedAnswers:r[x.id]||[],onToggleAnswer:_,onBack:R,onNext:D,isFirst:n===0,isLast:n===b.length-1},x.id)}return t==="email"?e.jsx(ne,{onSubmit:A,isSubmitting:i,error:c}):e.jsx(ae,{percentages:d,onRestart:q})}export{re as component};

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.