const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/Panel-BIQwFCZk.js","assets/VeliOnayBekliyor-BYRq6nyX.js","assets/hesap-D1V5WB0x.css"])))=>i.map(i=>d[i]);
import{t,af as le,ag as Le,ah as Aa,ai as Ri,aj as Bn,r as u,j as e,L as _,ak as Ne,al as Fi,am as I,an as Li,ao as ft,ap as He,aq as Tt,ar as me,as as ea,N as Ii,a1 as Ca,at as ha,au as Rn,av as Et,a as B,p as ze,aw as oa,ax as yt,ay as $i,az as pa,m as Ge,B as Ra,aA as Fn,a6 as ca,aB as Ki,aC as Wa,aD as Di,aE as Oi,z as pe,aF as Pa,b as ma,aa as Mi,aG as an,aH as qi,X as Hi,a0 as tn,J as ta,a5 as Gi,aI as Vi,l as tt,$ as Za,aJ as Yi,aK as W,aL as ra,aM as Ui,aN as Wi,aO as Zi,I as Fa,R as ka,aP as Ct,aQ as Ln,H as In,aR as Ta,aS as Qi,aT as Ji,aU as Xi,aV as es,aW as nn,aX as as,aY as $n,aZ as Kn,a_ as Dn,a$ as ts,b0 as ns,b1 as Pt,b2 as is,b3 as Qa,b4 as ss,b5 as On,W as rs,b6 as ls,b7 as Mn,b8 as os,b9 as qn,ba as sn,bb as rn,bc as ln,bd as on,be as cs,bf as ds,bg as us,bh as ms,bi as hs,bj as Ga,bk as xt,bl as ps,bm as bt,bn as ks,bo as ht,bp as Va,bq as Hn,br as gs,bs as cn,bt as Na,bu as fs,bv as ys,bw as xs,bx as bs,by as js,bz as vs,bA as Ns,bB as zs,bC as Ss,bD as ws,bE as _s,h as As,A as Ts,bF as Es,bG as Cs,bH as Ps,bI as Bs,bJ as Rs,f as Fs,a2 as Ls,a3 as oe,a4 as Je,bK as Is,a9 as $s,a8 as Ks,ab as Ds,ac as Os,ad as Ms}from"./VeliOnayBekliyor-BYRq6nyX.js";const qs={};function Bt(a,n){const i=typeof a.metadata?.render_note=="string"?a.metadata.render_note.trim():"",r=l=>({src:l,example:!!i,source:"",credit:"",label:i&&le(i)}),s=n&&a.metadata?.variant_images?.[n];if(typeof s=="string"&&s)return r(s);if(a.thumbnail)return r(a.thumbnail);const o=typeof window<"u"&&["dev.probotstudio.com","dev-lms.probotstudio.com","dev-pay.probotstudio.com","dev-fast.probotstudio.com","staging.probotstudio.com"].includes(window.location.hostname)?qs[a.handle]:void 0;return o?{...o,label:o.label??t("Örnek görsel"),example:!0}:{src:null,example:!1,source:"",credit:"",label:""}}function Ba({p:a}){const n=Bt(a),i=Le(a),r=He(),s=Aa(a)[0]?.sku??"",o=Ri(a),l=Bn(a),[c,d]=u.useState(!1);return e.jsxs(_,{className:"pcard",to:`/urun/${a.handle}`,children:[e.jsx("div",{className:"pcard-media",children:n.src&&!c?e.jsx("img",{src:n.src,alt:n.example?t("{title}: örnek görsel",{title:Ne(a.title)}):Ne(a.title),loading:"lazy",onError:()=>d(!0)}):e.jsx("span",{className:"pcard-ic",children:a.metadata?.icon??"📦"})}),e.jsxs("div",{className:"pcard-body",children:[typeof a.metadata?.marka_ad=="string"&&e.jsx("span",{className:"pcard-marka",children:a.metadata.marka_ad}),e.jsx("h3",{children:Fi(a)}),l&&e.jsx("span",{className:`ftcRozet${l.uyumlu?" ok":""}`,children:l.etiket}),n.example&&!c&&e.jsx("small",{className:"muted",children:n.label}),e.jsx("span",{className:"mono sku",children:s}),!r&&i!=null&&e.jsxs("span",{className:"pprice",children:[I(i),Li(a)?t(" ve üzeri"):""]}),o&&e.jsx("span",{className:"stokYok small",children:ft(a)})]})]})}function Gn(a){const n=u.useRef(null);return u.useEffect(()=>{const i=n.current,r=i?.querySelector(".on, .ic");if(!i||!r||i.scrollWidth<=i.clientWidth)return;const s=r.getBoundingClientRect().left-i.getBoundingClientRect().left+i.scrollLeft;i.scrollLeft=Math.max(0,s-16)},[a]),n}function Vn({ozet:a,aktif:n,yol:i=(s,o)=>s?ea(s,o):"/urunler",onSec:r}){const s=Gn(`${n.yer}/${n.alt}/${a?1:0}`),o=c=>e.jsx("span",{children:c??""}),l=(c,d=!1)=>c?"on":d?"ic":void 0;return e.jsxs("ul",{className:"katAgaci",ref:s,children:[e.jsx("li",{children:e.jsx(_,{to:"/",className:l(n.yer==="vitrin"),children:t("Vitrin")})}),e.jsx("li",{children:e.jsxs(_,{className:l(n.yer==="tum"),to:i("",""),onClick:r,children:[t("Tüm ürünler")," ",o(a?.tum)]})}),e.jsx("li",{children:e.jsxs(_,{className:l(n.yer==="kitler"),to:i("kitler",""),onClick:r,children:[t("Kitler")," ",o(a?.kitler)]})}),Tt.map(c=>{const d=a?.aileler[c];if(a&&!d?.n&&n.yer!==c)return null;const m=n.yer===c;return[e.jsx("li",{className:"aileSatir",children:e.jsxs(_,{className:l(m&&!n.alt,m),to:i(c,""),onClick:r,children:[d?me(d.short):c==="mekanik"?t("Mekanik"):t("Elektronik")," ",o(d?.n)]})},c),...(d?.altlar??[]).map(f=>e.jsx("li",{className:"altSatir",children:e.jsxs(_,{className:l(m&&n.alt===f.key),to:i(c,f.key),onClick:r,children:[me(f.short)," ",o(f.n)]})},`${c}/${f.key}`))]})]})}const Yn="https://probotstudio.com",Un="/shop",jt="/assets/og-kart.jpg",Hs="/shop/favicon.svg";function nt(a){return/^https?:\/\//i.test(a)?a:`${Yn}${a.startsWith("/")?a:`${Un}/${a}`}`}function da(a="/"){const n=a.startsWith("/")?a:`/${a}`;return nt(`${Un}${n}`)}function vt(a,n=150){const i=(a??"").replace(/\s+/g," ").trim();return i.length<=n?i:`${i.slice(0,n-1).trimEnd()}…`}function Gs(){return{"@context":"https://schema.org","@type":"Organization",name:"Probot Studio",url:Yn,logo:nt(Hs)}}function he({title:a,description:n,path:i="/",image:r=jt,type:s="website",noindex:o=!1,jsonLd:l}){const c=da(i),d=nt(r||jt),m=l?Array.isArray(l)?l:[l]:[];return u.useEffect(()=>{document.querySelectorAll("title[data-statik]").forEach(f=>f.remove())},[]),e.jsxs(Ii,{prioritizeSeoTags:!0,children:[e.jsx("title",{children:a}),e.jsx("meta",{name:"description",content:n}),o&&e.jsx("meta",{name:"robots",content:"noindex,nofollow"}),e.jsx("link",{rel:"canonical",href:c}),e.jsx("meta",{property:"og:site_name",content:"Probot Studio"}),e.jsx("meta",{property:"og:title",content:a}),e.jsx("meta",{property:"og:description",content:n}),e.jsx("meta",{property:"og:type",content:s}),e.jsx("meta",{property:"og:url",content:c}),e.jsx("meta",{property:"og:image",content:d}),e.jsx("meta",{name:"twitter:card",content:"summary_large_image"}),e.jsx("meta",{name:"twitter:title",content:a}),e.jsx("meta",{name:"twitter:description",content:n}),e.jsx("meta",{name:"twitter:image",content:d}),m.map((f,g)=>e.jsx("script",{type:"application/ld+json",children:JSON.stringify(f)},g))]})}function it(){return Ca()===void 0?null:e.jsx("p",{className:"muted small",children:t("Yalnız Türkiye içine satış ve gönderim yapıyoruz; fiyatlar Türk lirası ve KDV dahil.")})}const Vs=12;function Ys(){const[a,n]=u.useState(null),[i,r]=u.useState(!1),s=e.jsx(he,{title:t("MaÄŸaza - Probot Studio | Robotik kitler ve parçalar"),description:t("Probot Studio maÄŸazasında robotik kitleri, plastik parçaları, elektronik ve mekanik ürünleri keÅŸfet."),path:"/",jsonLd:Gs()});if(u.useEffect(()=>{ha().then(n).catch(()=>r(!0))},[]),i)return e.jsxs(e.Fragment,{children:[s,e.jsx("section",{className:"vtHero",children:e.jsx("div",{className:"vtIn",children:e.jsxs("div",{children:[e.jsx("h1",{children:t("MaÄŸaza ÅŸu an uyanıyor…")}),e.jsx("p",{children:t("Birazdan tekrar dene.")})]})})})]});const o=a??[],l=o.filter(k=>k.metadata?.kind==="kit").sort((k,h)=>+!!h.metadata?.hero-+!!k.metadata?.hero||(Le(k)??0)-(Le(h)??0)),c=Rn(o),d=k=>o.filter(h=>yt(h)===k).sort((h,v)=>+(v.handle==="hex-mil")-+(h.handle==="hex-mil")),m=Tt.map(k=>({key:k,tanim:Et[k],ozet:c.aileler[k],items:d(k)})).filter(k=>k.items.length),f=(k,h)=>o.filter(v=>yt(v)===k&&$i(v)===h),g=k=>k.map(h=>Bt(h).src).find(Boolean)??void 0,x=e.jsx("svg",{viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",children:e.jsx("path",{d:"M5 12h14M13 6l6 6-6 6",stroke:"currentColor",strokeWidth:"2.4",strokeLinecap:"round",strokeLinejoin:"round"})});return e.jsxs("div",{className:"allWrap",children:[s,e.jsxs("aside",{className:"allSide vtSide",children:[e.jsx("p",{className:"sideLabel",children:t("Kategoriler")}),e.jsx(Vn,{ozet:a===null?null:c,aktif:{yer:"vitrin",alt:""}})]}),e.jsxs("div",{className:"allMain",children:[e.jsx("section",{className:"vtHero",children:e.jsxs("div",{className:"vtIn",children:[e.jsxs("div",{children:[e.jsx("span",{className:"vtTag",children:t("FTC · BIOBUZZ 2026-27 · Ön talep açık")}),e.jsx("h1",{children:B("Sezona {hl} ile baÅŸla.",{hl:e.jsx("span",{className:"hl",children:"Starter Bot"})})}),e.jsx("p",{children:t("FTC 2026-27 BIOBUZZ için baÅŸlangıç robotu. 4 motorla çalışır, Expansion Hub gerekmez. Motorlar ve elektronik dahil deÄŸildir. Türkiye'de üretiliyor.")}),e.jsx(it,{}),e.jsxs("div",{className:"vtRow",children:[e.jsx(_,{className:"vbtn p",to:"/urun/ftc-biobuzz-starter-bot",children:B("Starter Bot'u incele {arrow}",{arrow:x})}),e.jsx(_,{className:"vbtn l",to:"/urunler",children:t("Tüm parçalar")})]})]}),e.jsxs(_,{className:"vtFeat",to:"/urun/ftc-biobuzz-starter-bot",children:[e.jsx("span",{className:"sbBadge",children:t("Ön talep açık")}),e.jsx("img",{src:"/shop/urunler/starter-bot/sb-izo-on.webp",alt:"Starter Bot"}),e.jsxs("span",{className:"vtFeatCap",children:[e.jsxs("span",{className:"vtFeatT",children:[e.jsx("b",{children:"Starter Bot"}),e.jsx("small",{children:"FTC BIOBUZZ 2026-27"})]}),e.jsx("span",{children:B("İncele {arrow}",{arrow:x})})]})]})]})}),e.jsxs("div",{className:"vtBody",children:[a===null&&e.jsx("p",{className:"muted",children:t("Katalog yükleniyor…")}),m.length>0&&e.jsxs("section",{className:"vtSec",children:[e.jsxs("div",{className:"vtHead",children:[e.jsx("h2",{children:t("Kategoriler")}),e.jsx(_,{className:"coll-more",to:"/urunler",children:t("Tüm ürünler ({n}) →",{n:o.length})})]}),e.jsx("div",{className:"vtAileler",children:m.map(k=>e.jsxs("div",{className:"vtAile",children:[e.jsxs("div",{className:"vtAileHead",children:[e.jsxs("h3",{children:[e.jsx(_,{to:ea(k.key),children:me(k.tanim.short)})," ",e.jsx("span",{children:ze("{n} ürün",k.ozet.n)})]}),e.jsx(_,{className:"coll-more",to:ea(k.key),children:t("Tümünü gör →")})]}),e.jsx("div",{className:"vtCats vtAileAlt",children:k.ozet.altlar.map(h=>{const v=g(f(k.key,h.key));return e.jsxs(_,{className:"vtCat",to:ea(k.key,h.key),children:[e.jsx("span",{className:"vtCatIm",children:v&&e.jsx("img",{src:v,alt:"",loading:"lazy"})}),e.jsx("b",{children:me(h.short)}),e.jsx("span",{children:ze("{n} ürün",h.n)})]},h.key)})})]},k.key))})]}),l.length>1&&e.jsxs("section",{className:"vtSec",children:[e.jsxs("div",{className:"vtHead",children:[e.jsx("h2",{children:t("Kitler ve ÅŸasiler")}),e.jsx(_,{className:"coll-more",to:oa("kitler"),children:t("Tümünü gör ({n}) →",{n:l.length})})]}),e.jsx("div",{className:"parts vtParts",children:l.map(k=>e.jsx(Ba,{p:k},k.id))})]}),m.map(k=>e.jsxs("section",{className:"vtSec",children:[e.jsxs("div",{className:"vtHead",children:[e.jsxs("div",{children:[e.jsx("h2",{children:me(k.tanim.title)}),e.jsx("p",{children:me(k.tanim.desc)})]}),e.jsx(_,{className:"coll-more",to:ea(k.key),children:t("Tümünü gör ({n}) →",{n:k.items.length})})]}),e.jsx("div",{className:"parts vtParts",children:k.items.slice(0,Vs).map(h=>e.jsx(Ba,{p:h},h.id))})]},k.key))]})]})]})}const dn=[{key:"onerilen",get label(){return t("Önerilen")}},{key:"fiyat-artan",get label(){return t("Fiyat ↑")}},{key:"fiyat-azalan",get label(){return t("Fiyat ↓")}},{key:"en-yeni",get label(){return t("En yeni")}}],Nt=a=>a.toLocaleLowerCase("tr").replaceAll("ı","i").replaceAll("ÅŸ","s").replaceAll("ÄŸ","g").replaceAll("ü","u").replaceAll("ö","o").replaceAll("ç","c"),Us={disli:["gear"],gear:["disli"],teker:["wheel","teker"],tekerlek:["wheel","teker"],wheel:["teker"],kasnak:["pulley","kasnak"],pulley:["kasnak"],kayis:["htd","belt"],mil:["shaft","axle","hex"],aks:["axle","shaft"],shaft:["mil"],gobek:["hub"],hub:["hub","gobek"],bilezik:["collar"],collar:["bilezik"],vida:["screw","civata","bolt"],civata:["bolt","screw","vida"],somun:["nut"],nut:["somun"],rulman:["bearing","rulman"],bearing:["rulman"],insert:["insert","helezon"],motor:["motor","rs775"],surucu:["driver","bts"],driver:["surucu"],servo:["servo","mg995"],pil:["battery","pil","3s"],batarya:["battery","pil","3s"],sarj:["charge","sarj","usb"],sensor:["sensor","imu","mpu"],regulator:["regulator","mp1584"],kablo:["cable","jumper","kablo"],adaptor:["adapter","adaptor"],plaka:["plate","plaka"],profil:["profile","profil"]},Ws=a=>{const n=Nt(a).trim();if(!n)return[];const i=n.split(/\s+/).filter(Boolean),r=new Set([n,...i]);for(const s of[n,...i])for(const o of Us[s]??[])r.add(Nt(o));return[...r]},un=a=>{if(!a.trim())return null;const n=Number(a);return Number.isFinite(n)&&n>=0?n:null},mn=a=>{const n=a.created_at,i=n?Date.parse(n):NaN;return Number.isFinite(i)?i:0};function ua(a,n){const i=new URLSearchParams(n);i.delete("k"),i.delete("alt");const r=i.toString();return(a?oa(a):"/urunler")+(r?`?${r}`:"")}function za(a,n,i){if(a!=="elektronik")return ua(a==="mekanik"&&i?i:a,n);const[r,s=""]=ua(a,n).split("?"),o=new URLSearchParams(s);i&&o.set("alt",i);const l=o.toString();return r+(l?`?${l}`:"")}function hn(){const{kategori:a}=pa(),[n]=Ge(),{pathname:i}=Ra(),r=n.get("k");if(a!==void 0){if(!Fn(a))return e.jsx(ca,{to:ua("",n),replace:!0});const s=Ki(a,n.get("alt")??"");return s?e.jsx(ca,{to:ua(s.slice(10),n),replace:!0}):e.jsx(pn,{k:a})}return r&&i.endsWith("/urunler")?e.jsx(ca,{to:ua(Wa(r)?r:"",n),replace:!0}):e.jsx(pn,{k:""})}function pn({k:a}){const n=He(),[i,r]=u.useState(null),[s,o]=u.useState(!1),[l,c]=Ge(),d=l.get("q")??"",m=l.get("sirala")??"onerilen",f=n?dn.filter(N=>N.key!=="fiyat-artan"&&N.key!=="fiyat-azalan"):dn,g=f.some(N=>N.key===m)?m:"onerilen",x=l.get("min")??"",k=l.get("max")??"",h=n?null:un(x),v=n?null:un(k),z=!n&&l.get("fiyat")==="belli",j=a==="elektronik"?l.get("alt")??"":"",b=u.useMemo(()=>a?Fn(a,j):null,[a,j]),C=b?.alt??"";u.useEffect(()=>{ha().then(r).catch(()=>r([]))},[]);const S=i??[],L=u.useMemo(()=>Rn(S,b),[S,b]),K=u.useMemo(()=>{let N=S;if(d){const R=Ws(d);N=N.filter(D=>{const Y=Di(D).map(Nt);return R.some(Q=>Y.some(re=>re.includes(Q)))})}return b&&(N=N.filter(R=>Oi(R,b))),N},[S,d,b]),G=b&&b.aile!=="kitler"?L.aileler[b.aile]:null,O=G?.altlar??[],se=O.find(N=>N.key===C)?.title??"",ae=Gn(`${a}/${C}/${O.length}`),te=u.useMemo(()=>{let N=K;return z&&(N=N.filter(R=>Le(R)!==null)),h!==null&&(N=N.filter(R=>{const D=Le(R);return D!==null&&D>=h})),v!==null&&(N=N.filter(R=>{const D=Le(R);return D!==null&&D<=v})),N},[K,z,h,v]),ne=u.useMemo(()=>{const N=new Map(S.map((D,Y)=>[D.id,Y])),R=te.every(D=>D.metadata?.group==="hub-mil");return[...te].sort((D,Y)=>{if(g==="onerilen"&&R){const Q=+(Y.handle==="hex-mil")-+(D.handle==="hex-mil");if(Q)return Q}if(g==="fiyat-artan"||g==="fiyat-azalan"){const Q=Le(D),re=Le(Y);return Q===null&&re===null?(N.get(D.id)??0)-(N.get(Y.id)??0):Q===null?1:re===null?-1:g==="fiyat-artan"?Q-re:re-Q}if(g==="en-yeni"){const Q=mn(Y)-mn(D);if(Q!==0)return Q}return(N.get(D.id)??0)-(N.get(Y.id)??0)})},[S,te,g]),M=u.useRef("");u.useEffect(()=>{i===null||!d||M.current!==d&&(M.current=d,pe("arama_yapildi",{q:d,sonuc_sayisi:ne.length}))},[d,i,ne]);const X=a?Wa(a):null,F=a==="kitler"?null:X,V=b?[{title:b.aile==="kitler"?"Kitler":Et[b.aile].short,to:za(b.aile,new URLSearchParams,"")},...C?[{title:se||F?.title||C,to:""}]:[]]:[],ue=X?oa(a):"/urunler",ge=d?t('"{q}" araması - Probot Studio',{q:d}):a==="kitler"?t("Kitler - Probot Studio"):F?`${me(F.title)} - Probot Studio`:t("Tüm ürünler - Probot Studio"),Te=d?t('Probot Studio maÄŸazasında "{q}" arama sonuçları.',{q:d}):a==="kitler"?t("Probot Studio robotik kitlerini incele; yerli üretim, Türkçe destek ve modüler parçalar."):F?me(F.desc):t("Probot Studio maÄŸazasında robotik kitler, plastik parçalar, elektronik ve mekanik ürünler."),J=b&&!d?{"@context":"https://schema.org","@type":"BreadcrumbList",itemListElement:[{name:"MaÄŸaza",path:"/"},...V.filter((N,R)=>R===0||b.aile==="mekanik").map((N,R)=>({name:N.title,path:R===0?za(b.aile,new URLSearchParams,""):ue}))].map((N,R)=>({"@type":"ListItem",position:R+1,name:N.name,item:da(N.path)}))}:void 0,U=g!=="onerilen"||!n&&(x!==""||k!==""||z),ie=(N,R,D="")=>{const Y=new URLSearchParams(l);R&&R!==D?Y.set(N,R):Y.delete(N),c(Y,{replace:!0})},Re=()=>{const N=new URLSearchParams(l);for(const R of["sirala","min","max","fiyat","malzeme"])N.delete(R);c(N,{replace:!0})},be=(()=>{const N=new URLSearchParams(l);for(const R of["sirala","min","max","fiyat","malzeme"])N.delete(R);return ua(a,N)})();return e.jsxs("div",{className:"allWrap",children:[e.jsxs("button",{type:"button",className:`filterToggle${s?" on":""}`,"aria-expanded":s,onClick:()=>o(N=>!N),children:[e.jsxs("span",{children:[t("âš™ï¸ Kategoriler ve filtreler"),U||a?" ·":""]}),e.jsx("span",{"aria-hidden":!0,children:s?"â–²":"â–¼"})]}),e.jsx(he,{title:ge,description:Te,path:ue,jsonLd:J}),e.jsxs("aside",{className:`allSide${s?" open":""}`,children:[e.jsx("p",{className:"sideLabel",children:t("Kategoriler")}),e.jsx(Vn,{ozet:i===null?null:L,aktif:{yer:b?b.aile:"tum",alt:C},yol:(N,R)=>za(N,l,R),onSec:()=>o(!1)}),!n&&e.jsxs("div",{className:"filterBlock",children:[e.jsx("p",{className:"sideLabel",children:t("Filtreler")}),e.jsxs("label",{children:[e.jsx("span",{children:t("Fiyat aralığı")}),e.jsxs("div",{className:"priceInputs",children:[e.jsx("input",{inputMode:"numeric",name:"min",placeholder:t("Min"),value:x,onChange:N=>ie("min",N.currentTarget.value)}),e.jsx("input",{inputMode:"numeric",name:"max",placeholder:t("Max"),value:k,onChange:N=>ie("max",N.currentTarget.value)})]})]}),e.jsxs("label",{className:"checkLine",children:[e.jsx("input",{type:"checkbox",checked:z,onChange:N=>ie("fiyat",N.currentTarget.checked?"belli":"")}),e.jsx("span",{children:t("Fiyatı belli olanlar")})]}),U&&e.jsx("button",{className:"filterClear",type:"button",onClick:Re,children:t("Filtreleri temizle")})]})]}),e.jsxs("div",{className:"allMain",children:[e.jsxs("div",{className:"allHead",children:[e.jsxs("div",{children:[V.length>0&&e.jsxs("nav",{className:"crumbs katCrumbs","aria-label":t("Konum"),children:[e.jsx(_,{to:"/",children:t("MaÄŸaza")}),V.map((N,R)=>e.jsxs("span",{className:"katCrumb",children:[e.jsx("span",{"aria-hidden":!0,children:"›"}),N.to&&R<V.length-1?e.jsx(_,{to:N.to,children:me(N.title)}):e.jsx("b",{children:me(N.title)})]},R))]}),e.jsxs("div",{className:"allTitleRow",children:[e.jsx("h1",{children:a==="kitler"?t("Kitler"):me(se||F?.title||"")||t("Tüm ürünler")}),e.jsx("span",{className:"catCount",children:ze("{n} ürün",ne.length)})]}),e.jsx(it,{}),U&&e.jsx("p",{className:"muted small",children:ze("{n} ürün içinden filtrelendi.",K.length)}),G&&(O.length>1||C)&&e.jsxs("nav",{className:"altGruplar","aria-label":t("Alt gruplar"),ref:ae,children:[e.jsxs(_,{className:`altChip${C?"":" on"}`,to:za(G.key,l,""),children:[t("Tümü")," ",e.jsx("span",{children:G.n})]}),O.map(N=>e.jsxs(_,{className:`altChip${C===N.key?" on":""}`,to:za(G.key,l,N.key),children:[me(N.short)," ",e.jsx("span",{children:N.n})]},N.key))]}),!d&&X?.intro&&e.jsxs("div",{className:"katGiris",children:[X.intro.map((N,R)=>e.jsx("p",{children:me(N)},R)),X.ilgili&&X.ilgili.length>0&&e.jsxs("p",{className:"katIlgili",children:[t("İlgili kategoriler:")," ",X.ilgili.map((N,R)=>e.jsxs("span",{children:[R>0&&", ",e.jsx(_,{to:oa(N),children:me(Wa(N)?.title??N)})]},N))]})]}),d&&e.jsx("p",{className:"muted",children:B('"{q}" için sonuçlar - {link}',{q:d,link:e.jsx(_,{to:a?oa(a):"/urunler",children:t("aramayı temizle")})})})]}),e.jsxs("label",{className:"sortBox",children:[e.jsx("span",{children:t("Sırala")}),e.jsx("select",{value:g,onChange:N=>ie("sirala",N.currentTarget.value,"onerilen"),children:f.map(N=>e.jsx("option",{value:N.key,children:N.label},N.key))})]})]}),i===null?e.jsx("p",{className:"muted",children:t("Yükleniyor…")}):ne.length===0?e.jsxs("div",{className:"noRes",children:[e.jsx("p",{children:d?B('{q} için sonuç yok. Farklı yaz - ör. "diÅŸli", "motor", "PRB-3D".',{q:e.jsxs("b",{children:['"',d,'"']})}):t("Bu filtrelere uygun ürün yok.")}),e.jsxs("div",{className:"row",children:[U&&e.jsx(_,{className:"btn g",to:be,children:t("Filtreleri temizle")}),e.jsx(_,{className:"btn g",to:"/urunler",children:t("Tüm ürünlere dön")})]})]}):e.jsx("div",{className:"parts",children:ne.map(N=>e.jsx(Ba,{p:N},N.id))})]})]})}function Zs(a){return[a.name??a.street,a.district,a.city??a.county,a.state].filter(Boolean).join(", ")}function Wn({onPick:a,defaultValue:n=""}){const[i,r]=u.useState(n),[s,o]=u.useState([]),[l,c]=u.useState(!1),d=u.useRef(void 0),m=u.useRef(null);u.useEffect(()=>{const x=k=>{m.current?.contains(k.target)||c(!1)};return document.addEventListener("mousedown",x),()=>document.removeEventListener("mousedown",x)},[]);function f(x){if(r(x),clearTimeout(d.current),x.trim().length<3){o([]),c(!1);return}d.current=setTimeout(async()=>{try{const k=await fetch(`/geo/api/?q=${encodeURIComponent(x+" Türkiye")}&limit=6`);if(!k.ok)return;const v=(await k.json()).features.filter(z=>(z.properties.country??"").toLowerCase().includes("t"));o(v.slice(0,6)),c(v.length>0)}catch{}},350)}function g(x){const k=x.properties,h=[k.street??k.name,k.housenumber].filter(Boolean).join(" No:"),v=[k.district,h].filter(Boolean).join(", "),z={address_1:v,city:k.city??k.county??"",province:k.state??"",postal_code:k.postcode??""};r(v),c(!1),a(z)}return e.jsxs("div",{className:"acBox",ref:m,children:[e.jsx("input",{name:"address_1","aria-label":t("Açık adres"),placeholder:t("Açık adres - yazdıkça öneri çıkar (mahalle, sokak, no)"),required:!0,autoComplete:"off",value:i,onChange:x=>f(x.target.value),onFocus:()=>s.length&&c(!0)}),l&&e.jsxs("ul",{className:"acList ph-sensitive",role:"listbox",children:[s.map((x,k)=>e.jsx("li",{children:e.jsx("button",{type:"button",onClick:()=>g(x),children:Zs(x.properties)})},k)),e.jsx("li",{className:"acSrc",children:t("Öneriler: OpenStreetMap")})]})]})}function Zn({t:a,tutar:n}){const[i,r]=u.useState(""),s=Pa(new Date(a.son_odeme),{dateStyle:"long",timeStyle:"short"});function o(l,c){navigator.clipboard?.writeText(c).then(()=>r(l),()=>r(""))}return e.jsxs("div",{className:"havaleKutu","data-testid":"havale-talimat",children:[a.deneme&&e.jsx("p",{className:"formErr",role:"note",children:t("DENEME ortamı: bu IBAN gerçek deÄŸil, para gönderme.")}),e.jsxs("dl",{children:[e.jsxs("div",{children:[e.jsx("dt",{children:t("Tutar")}),e.jsx("dd",{children:e.jsx("b",{children:I(n)})})]}),e.jsxs("div",{children:[e.jsx("dt",{children:t("IBAN")}),e.jsxs("dd",{children:[e.jsx("span",{className:"mono","data-testid":"havale-iban",children:a.iban})," ",e.jsx("button",{type:"button",className:"linkBtn",onClick:()=>o("iban",a.iban.replace(/\s+/g,"")),children:i==="iban"?t("Kopyalandı"):t("Kopyala")})]})]}),e.jsxs("div",{children:[e.jsx("dt",{children:t("Alıcı")}),e.jsx("dd",{children:a.alici})]}),a.banka&&e.jsxs("div",{children:[e.jsx("dt",{children:t("Banka")}),e.jsx("dd",{children:a.banka})]}),e.jsxs("div",{children:[e.jsx("dt",{children:ma("bank-reference","Açıklama")}),e.jsxs("dd",{children:[e.jsx("b",{className:"mono","data-testid":"havale-aciklama",children:a.aciklama})," ",e.jsx("button",{type:"button",className:"linkBtn",onClick:()=>o("aciklama",a.aciklama),children:i==="aciklama"?t("Kopyalandı"):t("Kopyala")})]})]}),e.jsxs("div",{children:[e.jsx("dt",{children:t("Son ödeme")}),e.jsx("dd",{children:s})]})]}),e.jsx("p",{className:"muted small",children:ze("Açıklamaya yalnız sipariÅŸ numarasını yaz; ödemeni bununla eÅŸleÅŸtiriyoruz. Tutarın tamamı tek seferde gelmeli. {n} gün içinde ödeme gelmezse sipariÅŸ iptal edilir ve ürünler stoÄŸa döner.",a.iptal_gun)})]})}function qe({goster:a,onGosterDegis:n,dugme:i=!0,className:r,...s}){const[o,l]=u.useState(!1),c=a??o,d=()=>{n?n(!c):l(!c)};return e.jsxs("div",{className:"sifreAlani"+(i?" dugmeli":"")+(r?" "+r:""),children:[e.jsx("input",{...s,type:c?"text":"password",autoCapitalize:"none",autoCorrect:"off",spellCheck:!1}),i&&e.jsx("button",{type:"button",className:"sifreGoster","aria-label":c?t("Åžifreyi gizle"):t("Åžifreyi göster"),"aria-pressed":c,onClick:d,children:c?t("Gizle"):t("Göster")})]})}function Qs(a){if(!/^[1-9][0-9]{10}$/.test(a))return!1;const n=a.split("").map(Number),i=n[0]+n[2]+n[4]+n[6]+n[8],r=n[1]+n[3]+n[5]+n[7];return((i*7-r)%10+10)%10!==n[9]?!1:n.slice(0,10).reduce((s,o)=>s+o,0)%10===n[10]}function Js(a){if(!/^[0-9]{10}$/.test(a))return!1;const n=a.split("").map(Number);let i=0;for(let r=0;r<9;r++){const s=(n[r]+9-r)%10;let o=s*2**(9-r)%9;s!==0&&o===0&&(o=9),i+=o}return(10-i%10)%10===n[9]}const Xe=(a,n=200)=>String(a??"").replace(/\s+/g," ").trim().slice(0,n);function kn(a){const n=a??{};if(n.tur==="kurumsal"){const i=Xe(n.unvan),r=Xe(n.vkn,20).replace(/\D/g,""),s=Xe(n.vergi_dairesi,80);return i.length<2?{hata:"Åžirket unvanını yaz."}:Js(r)?s.length<2?{hata:"Vergi dairesini yaz."}:{fatura:{tur:"kurumsal",unvan:i,vkn:r,vergi_dairesi:s}}:{hata:"Vergi kimlik numarası 10 haneli ve geçerli olmalı."}}if(n.tur==="bireysel"){const i=Xe(n.ad_soyad,120),r=Xe(n.tckn,20).replace(/\D/g,"");return i.length<3?{hata:"Fatura için ad soyad yaz."}:r&&!Qs(r)?{hata:"T.C. kimlik numarası geçerli görünmüyor."}:{fatura:{tur:"bireysel",ad_soyad:i,...r?{tckn:r}:{}}}}return{hata:"Fatura türünü seç (bireysel ya da kurumsal)."}}function Xs(a){return[a?.first_name,a?.last_name].map(n=>Xe(n,60)).filter(Boolean).join(" ")}function Ja(a,n){const i=a??{};return i.tur==="bireysel"?kn({...i,ad_soyad:Xe(n,120)||i.ad_soyad}):kn(i)}function Qn(a,n){const i=Xs(a),r=a?.metadata?.fatura;if(r){const{fatura:s}=Ja(r,i);if(s)return s}return n?Ja(n,i).fatura??null:i?{tur:"bireysel",ad_soyad:i}:null}function Jn(a){const n=a.find(i=>i.is_default_billing)??a.find(i=>i.is_default_shipping)??null;return n&&!n.metadata?.fatura?n:null}function er(a){return`••••${a.slice(-3)}`}function ar(){return{tur:"bireysel",tckn:"",unvan:"",vkn:"",vergi_dairesi:""}}function Xn(a){return a.tur==="kurumsal"?{tur:"kurumsal",unvan:a.unvan,vkn:a.vkn,vergi_dairesi:a.vergi_dairesi}:{tur:"bireysel",tckn:a.tckn}}function ei(a){const n=ar();return a?a.tur==="kurumsal"?{...n,tur:"kurumsal",unvan:a.unvan,vkn:a.vkn,vergi_dairesi:a.vergi_dairesi}:{...n,tckn:a.tckn??""}:n}function ai({value:a,onChange:n}){const i=r=>s=>n({...a,[r]:s.target.value});return e.jsxs("fieldset",{className:"faturaForm",children:[e.jsx("legend",{children:t("Fatura türü")}),e.jsxs("div",{className:"faturaTur",role:"radiogroup","aria-label":t("Fatura türü"),children:[e.jsxs("label",{className:a.tur==="bireysel"?"on":"",children:[e.jsx("input",{type:"radio",name:"fatura_tur",checked:a.tur==="bireysel",onChange:()=>n({...a,tur:"bireysel"})}),t("Bireysel")]}),e.jsxs("label",{className:a.tur==="kurumsal"?"on":"",children:[e.jsx("input",{type:"radio",name:"fatura_tur",checked:a.tur==="kurumsal",onChange:()=>n({...a,tur:"kurumsal"})}),t("Kurumsal")]})]}),a.tur==="bireysel"?e.jsxs(e.Fragment,{children:[e.jsx("input",{"aria-label":t("T.C. kimlik no (isteÄŸe baÄŸlı)"),placeholder:t("T.C. kimlik no (isteÄŸe baÄŸlı)"),inputMode:"numeric",maxLength:11,value:a.tckn,onChange:i("tckn")}),e.jsx("p",{className:"muted small",children:t("Fatura bu adresteki ad soyadla kesilir.")})]}):e.jsxs(e.Fragment,{children:[e.jsx("input",{"aria-label":t("Åžirket unvanı"),placeholder:t("Åžirket unvanı"),value:a.unvan,onChange:i("unvan")}),e.jsxs("div",{className:"frow",children:[e.jsx("input",{"aria-label":t("Vergi kimlik no"),placeholder:t("Vergi kimlik no (10 hane)"),inputMode:"numeric",maxLength:10,value:a.vkn,onChange:i("vkn")}),e.jsx("input",{"aria-label":t("Vergi dairesi"),placeholder:t("Vergi dairesi"),value:a.vergi_dairesi,onChange:i("vergi_dairesi")})]})]})]})}function Ya({fatura:a,adGoster:n=!1}){return a?a.tur==="kurumsal"?e.jsx("span",{className:"faturaOzet",children:B("Kurumsal · {unvan} · VKN {vkn} · {vergi_dairesi} VD",{unvan:e.jsx("strong",{children:a.unvan})},{vkn:a.vkn,vergi_dairesi:a.vergi_dairesi})}):e.jsxs("span",{className:"faturaOzet",children:[n?t("Bireysel · {ad_soyad}",{ad_soyad:a.ad_soyad}):t("Bireysel"),a.tckn?t(" · TCKN {tckn}",{tckn:er(a.tckn)}):""]}):null}const ti={get siparisler(){return t("SipariÅŸlerim")},get adresler(){return t("Adreslerim")},get favoriler(){return t("Favorilerim")},get takip(){return t("Takip listem")},get profil(){return t("Profil ve güvenlik")}},lo={get siparisler(){return t("SipariÅŸler")},get adresler(){return t("Adresler")},get favoriler(){return t("Favoriler")},get takip(){return t("Takip listem")},get profil(){return t("Profil ve güvenlik")}},oo=a=>`/hesap/${a}`;function gn(a){return!a||a==="bilgiler"||a==="epostalar"?"profil":a==="haberver"?"takip":a==="fatura"?"adresler":Object.hasOwn(ti,a)?a:"profil"}function tr(a,n){const i=n.startsWith("?")?n:n?`?${n}`:"",r=new URLSearchParams(i).has("kod");switch(a){case"egitimlerim":return`/egitim/benim/${i}`;case"sinifim":return`${r?"/egitim/katil/":"/egitim/sinifim/"}${i}`;case"siniflarim":return`/egitim/ogretmen/siniflar/${i}`;case"etkinlestir":return`/egitim/etkinlestir/${i}`;default:return null}}const nr=u.lazy(()=>Mi(()=>import("./Panel-BIQwFCZk.js"),__vite__mapDeps([0,1,2]))),ir={get pending(){return t("Hazırlanıyor")},get completed(){return t("Tamamlandı")},get draft(){return t("Taslak")},get canceled(){return ma("order","İptal")},get archived(){return t("ArÅŸivlendi")},get requires_action(){return t("İşlem bekliyor")}},sr={get cayma(){return t("Cayma hakkı (fikrimi deÄŸiÅŸtirdim)")},get hasarli(){return t("Ürün hasarlı geldi")},get eksik(){return t("Eksik parça")},get yanlis(){return t("Yanlış ürün geldi")},get diger(){return t("DiÄŸer")}};function rr({user:a}){const[n,i]=u.useState("loading"),[r,s]=u.useState(""),[o,l]=u.useState(""),[c,d]=u.useState(!1),[m,f]=u.useState(!1),[g,x]=u.useState("");u.useEffect(()=>{let h=!0;return(async()=>{try{const v=await fetch("/api/auth/bulten/token",{credentials:"include"});if(!v.ok){h&&i("hidden");return}const z=await v.json();if(!z?.token||!z?.email){h&&i("hidden");return}const j=await fetch(`/blog/api/bulten/durum?email=${encodeURIComponent(z.email)}`,{headers:{"X-Bulten-Token":z.token}});if(!j.ok){h&&i("hidden");return}const b=await j.json();if(!h)return;s(z.token),l(z.email),d(!!b.abone),i("ready")}catch{h&&i("hidden")}})(),()=>{h=!1}},[a.email]);async function k(h){f(!0),x("");try{const v=await fetch("/blog/api/bulten/ayar",{method:"POST",headers:{"Content-Type":"application/json","X-Bulten-Token":r},body:JSON.stringify({email:o,abone:h})});if(!v.ok)throw new Error;const z=await v.json();d(!!z.abone)}catch{x(t("Åžu an kaydedilemedi, tekrar dene."))}finally{f(!1)}}return n!=="ready"||Ct(o)?null:e.jsxs("section",{className:"bultenSec",children:[e.jsx("h2",{children:t("Bülten")}),e.jsx("p",{className:"muted small",children:t("Yeni robotlar, eÄŸitim içerikleri ve duyurular. Ayda birkaç e-posta; istediÄŸin an çıkabilirsin.")}),e.jsxs("label",{className:"check",children:[e.jsx("input",{type:"checkbox",checked:c,disabled:m,onChange:h=>k(h.target.checked)}),e.jsx("span",{children:t("{email} adresine bülten gönderilsin",{email:o})})]}),g&&e.jsx("p",{className:"formErr",role:"alert",children:g})]})}function lr({user:a,ek:n}){const i=Fa(),{data:r,error:s,refresh:o}=ka(a.id,()=>Ta(a.email)),[l,c]=u.useState(""),[d,m]=u.useState(!1),[f,g]=u.useState(!1),[x,k]=u.useState(!1),[h,v]=u.useState(""),[z,j]=u.useState(!1),[b,C]=u.useState(!1),[S,L]=u.useState(""),[K,G]=u.useState(!1),[O,se]=u.useState(!1),[ae,te]=u.useState("");u.useEffect(()=>{if(!K)return;const F=window.setTimeout(()=>G(!1),5e3);return()=>window.clearTimeout(F)},[K]);async function ne(F){if(F.preventDefault(),te(""),!K){G(!0);return}se(!0);try{const V=await Xi(S);if(!V.ok){te(W(V.error)),G(!1);return}i("/")}catch{te(t("Hesap silinemedi. BaÄŸlantını kontrol edip tekrar dene.")),G(!1)}finally{se(!1)}}async function M(F){F.preventDefault(),g(!0),c(""),m(!1);const V=new FormData(F.currentTarget);try{await Qi(a.email,{first_name:String(V.get("first_name")??""),last_name:String(V.get("last_name")??""),phone:String(V.get("phone")??"")}),m(!0)}catch{c(t("Bilgiler kaydedilemedi. Tekrar dene."))}finally{g(!1)}}async function X(F){F.preventDefault();const V=F.currentTarget,ue=new FormData(V),ge=String(ue.get("currentPassword")??""),Te=String(ue.get("newPassword")??""),J=String(ue.get("newPassword2")??"");if(v(""),C(!1),Te!==J){v(t("Yeni ÅŸifreler aynı deÄŸil."));return}k(!0);try{const U=await Ji(ge,Te);if(!U.ok){v(W(ra(U.code,t("Mevcut ÅŸifre hatalı ya da yeni ÅŸifre kabul edilmedi."))));return}V.reset(),C(!0)}catch{v(t("Åžifre deÄŸiÅŸtirilemedi. BaÄŸlantını kontrol edip tekrar dene."))}finally{k(!1)}}return e.jsxs(e.Fragment,{children:[s?e.jsx(ta,{retry:o}):r?e.jsxs("form",{className:"authForm",onSubmit:M,children:[e.jsxs("div",{className:"frow",children:[e.jsx("input",{name:"first_name","aria-label":t("Ad"),placeholder:t("Ad"),defaultValue:r.first_name??""}),e.jsx("input",{name:"last_name","aria-label":t("Soyad"),placeholder:t("Soyad"),defaultValue:r.last_name??""})]}),Ct(r.email)?e.jsx("input",{value:a.username??"","aria-label":t("Kullanıcı adı (deÄŸiÅŸtirilemez)"),disabled:!0}):e.jsx("input",{value:r.email,"aria-label":t("E-posta (deÄŸiÅŸtirilemez)"),disabled:!0}),e.jsx("input",{name:"phone",type:"tel","aria-label":t("Telefon"),placeholder:t("Telefon (kargo için) - 05xx xxx xx xx"),defaultValue:r.phone??""}),l&&e.jsx("p",{className:"formErr",role:"alert",children:l}),e.jsx("button",{className:"btn p",disabled:f,children:d?t("Kaydedildi ✓"):t("Bilgileri kaydet")})]}):e.jsx("p",{className:"muted",children:t("Yükleniyor…")}),e.jsxs("form",{className:"authForm passForm",onSubmit:X,children:[e.jsx("h2",{children:t("Åžifre deÄŸiÅŸtir")}),e.jsx(qe,{name:"currentPassword","aria-label":t("Mevcut ÅŸifre"),placeholder:t("Mevcut ÅŸifre"),autoComplete:"current-password",required:!0,minLength:8}),e.jsxs("div",{className:"frow",children:[e.jsx(qe,{name:"newPassword","aria-label":t("Yeni ÅŸifre"),placeholder:t("Yeni ÅŸifre"),autoComplete:"new-password",required:!0,minLength:8,goster:z,onGosterDegis:j}),e.jsx(qe,{name:"newPassword2","aria-label":t("Yeni ÅŸifre tekrar"),placeholder:t("Yeni ÅŸifre tekrar"),autoComplete:"new-password",required:!0,minLength:8,goster:z,dugme:!1})]}),h&&e.jsx("p",{className:"formErr",children:h}),b&&e.jsx("p",{className:"formOk",children:t("Åžifren deÄŸiÅŸti ✓ DiÄŸer oturumların kapatıldı.")}),e.jsx("button",{className:"btn g",disabled:x,children:x?"…":t("Åžifreyi deÄŸiÅŸtir")})]}),e.jsx(rr,{user:a}),n,e.jsxs("section",{className:"dangerZone",children:[e.jsx("h2",{children:t("Hesabı sil")}),e.jsx("p",{className:"muted small",children:t("Hesabın, e-posta adreslerin ve oturumların kalıcı silinir. SipariÅŸ kayıtları yasal saklama süresi boyunca anonim ÅŸekilde saklanır.")}),e.jsxs("form",{className:"authForm",onSubmit:ne,children:[e.jsx(qe,{name:"delPassword","aria-label":t("Hesap silme için ÅŸifre"),placeholder:t("Åžifreni gir"),autoComplete:"current-password",required:!0,minLength:8,value:S,onChange:F=>L(F.target.value)}),ae&&e.jsx("p",{className:"formErr",children:ae}),e.jsx("button",{className:"btn g danger",disabled:O,children:O?"…":K?t("Emin misin? Tekrar tıkla"):t("Hesabımı kalıcı sil")})]})]})]})}function fn({ilk:a,ilkAdres:n=!1,ilkFatura:i,busy:r,onSubmit:s,onCancel:o}){const[l,c]=u.useState({city:a?.city??"",province:a?.province??"",postal_code:a?.postal_code??""}),[d,m]=u.useState(()=>ei(a?.metadata?.fatura??i)),[f,g]=u.useState("");function x(k){k.preventDefault();const h=new FormData(k.currentTarget);if(!Pt(String(h.get("phone")??""))){g(t("Telefon numarasını 05xx xxx xx xx biçiminde yaz; kargo firması teslimatta bu numarayı arar."));return}if(!l.city.trim()||!l.province.trim()){g(t("İl ve ilçeyi yaz ya da adres aramasından seç."));return}const v=`${h.get("first_name")??""} ${h.get("last_name")??""}`,{fatura:z,hata:j}=Ja(Xn(d),v);if(!z){g(j?W(j):t("Fatura bilgisini kontrol et."));return}g(""),s({is_default_shipping:h.get("is_default_shipping")==="on",is_default_billing:h.get("is_default_billing")==="on",address_name:String(h.get("address_name")??"").trim(),first_name:String(h.get("first_name")??""),last_name:String(h.get("last_name")??""),address_1:String(h.get("address_1")??""),city:l.city.trim(),province:l.province.trim(),postal_code:l.postal_code.trim(),phone:String(h.get("phone")??""),metadata:{fatura:z}})}return e.jsxs("form",{className:"authForm",onSubmit:x,children:[f&&e.jsx("p",{className:"formErr",role:"alert",children:f}),e.jsx("input",{name:"address_name","aria-label":t("Adres baÅŸlığı"),placeholder:t("Adres baÅŸlığı (Ev, Atölye…)"),defaultValue:a?.address_name??""}),e.jsxs("div",{className:"frow",children:[e.jsx("input",{name:"first_name","aria-label":t("Ad"),placeholder:t("Ad"),required:!0,defaultValue:a?.first_name??""}),e.jsx("input",{name:"last_name","aria-label":t("Soyad"),placeholder:t("Soyad"),required:!0,defaultValue:a?.last_name??""})]}),e.jsx(Wn,{onPick:k=>c({city:k.city,province:k.province,postal_code:k.postal_code}),defaultValue:a?.address_1??""}),e.jsxs("div",{className:"frow",children:[e.jsx("input",{name:"city","aria-label":t("İlçe"),placeholder:t("İlçe"),required:!0,value:l.city,onChange:k=>c(h=>({...h,city:k.target.value}))}),e.jsx("input",{name:"province","aria-label":t("İl"),placeholder:t("İl"),required:!0,value:l.province,onChange:k=>c(h=>({...h,province:k.target.value}))})]}),e.jsxs("div",{className:"frow",children:[e.jsx("input",{name:"postal_code","aria-label":t("Posta kodu"),placeholder:t("Posta kodu"),value:l.postal_code,onChange:k=>c(h=>({...h,postal_code:k.target.value}))}),e.jsx("input",{name:"phone",type:"tel","aria-label":t("Telefon"),placeholder:t("Telefon - 05xx xxx xx xx"),required:!0,defaultValue:a?.phone??""})]}),e.jsx(ai,{value:d,onChange:m}),e.jsxs("label",{className:"check checkLine",children:[e.jsx("input",{type:"checkbox",name:"is_default_shipping",defaultChecked:a?!!a.is_default_shipping:n}),e.jsx("span",{children:t("Varsayılan teslimat adresim")})]}),e.jsxs("label",{className:"check checkLine",children:[e.jsx("input",{type:"checkbox",name:"is_default_billing",defaultChecked:a?!!a.is_default_billing:n}),e.jsx("span",{children:t("Varsayılan fatura adresim")})]}),e.jsxs("div",{className:"row",children:[e.jsx("button",{className:"btn p",disabled:r,children:a?t("DeÄŸiÅŸikliÄŸi kaydet"):t("Adresi kaydet")}),e.jsx("button",{type:"button",className:"btn g",onClick:o,children:t("Vazgeç")})]})]})}function or({user:a}){const{data:n,error:i,refresh:r}=ka(a.id,async()=>{const[b,C]=await Promise.all([Ta(a.email),Dn(a.email).catch(()=>null)]);return{me:b,eski:C}}),s=n?.me,[o,l]=u.useState(""),[c,d]=u.useState(!1),[m,f]=u.useState(!1),[g,x]=u.useState(null);async function k(b){d(!0),l("");try{await b(),await r()}catch(C){l(C instanceof Error&&C.message?W(C.message):t("İşlem tamamlanamadı. Bilgilerini kontrol edip tekrar dene."))}finally{d(!1)}}if(i)return e.jsx(ta,{retry:r});if(!s)return e.jsx("p",{className:"muted",children:t("Yükleniyor…")});const h=s.addresses??[],v=h.find(b=>b.id===g)??null,z=n?.eski??null,j=z?Jn(h):null;return e.jsxs("div",{children:[o&&e.jsx("p",{className:"formErr",role:"alert",children:o}),h.length===0&&!m&&e.jsx("p",{className:"muted",children:t("Kayıtlı adresin yok. Kargo için bir teslimat adresi ekle.")}),e.jsx("ul",{className:"addrList",children:h.map(b=>e.jsxs("li",{children:[e.jsxs("div",{children:[e.jsxs("b",{children:[b.address_name||t("Adres"),b.is_default_shipping&&e.jsx("span",{className:"adrRozet",children:t("Varsayılan teslimat")}),b.is_default_billing&&e.jsx("span",{className:"adrRozet",children:t("Varsayılan fatura")})]}),e.jsxs("span",{children:[b.first_name," ",b.last_name," · ",b.address_1,", ",b.city,"/",b.province," ",b.postal_code,b.phone?` · ${b.phone}`:""]}),e.jsx("span",{className:"adrFatura","data-testid":"adres-fatura",children:B("Fatura: {summary}",{summary:e.jsx(Ya,{fatura:Qn(b,j?.id===b.id?z:null)})})}),j?.id===b.id&&e.jsx("span",{className:"adrFatura muted small",children:B("Hesabındaki fatura bilgisi. {button}",{button:e.jsx("button",{type:"button",className:"linkBtn",disabled:c,onClick:()=>k(()=>Qa(a.email,b.id,{metadata:{fatura:z}})),children:t("Bu adrese kaydet")})})})]}),e.jsxs("span",{className:"addrActs",children:[e.jsx("button",{type:"button",className:"linkBtn",disabled:c,onClick:()=>{f(!1),x(b.id)},children:t("Düzenle")}),e.jsx("button",{className:"cartRm","aria-label":t("Adresi sil"),disabled:c,onClick:()=>{window.confirm(t("Bu adres silinsin mi?"))&&k(()=>ss(a.email,b.id))},children:"✕"})]})]},b.id))}),v?e.jsx(fn,{ilk:v,ilkFatura:j?.id===v.id?z:null,busy:c,onCancel:()=>x(null),onSubmit:b=>k(async()=>{await Qa(a.email,v.id,b),x(null)})},v.id):m?e.jsx(fn,{busy:c,ilkAdres:h.length===0,ilkFatura:h.length===0?z:null,onCancel:()=>f(!1),onSubmit:b=>k(async()=>{await On(a.email,b),f(!1)})}):e.jsx("button",{className:"btn g",onClick:()=>f(!0),children:t("+ Yeni adres ekle")})]})}function cr({user:a}){const{data:n,error:i,refresh:r}=ka(a.id,es),[s,o]=u.useState(""),[l,c]=u.useState(""),[d,m]=u.useState(!1);async function f(k){k.preventDefault();const h=k.currentTarget,v=String(new FormData(h).get("email")??"").trim();if(v){m(!0),c(""),o("");try{await nn(v),await r(),h.reset(),o(t("DoÄŸrulama maili gönderildi - gelen kutusunu kontrol et."))}catch(z){c(z instanceof Error?W(z.message):t("İşlem ÅŸu an tamamlanamadı"))}finally{m(!1)}}}async function g(k){m(!0),c(""),o("");try{await nn(k),await r(),o(t("DoÄŸrulama maili gönderildi - gelen kutusunu kontrol et."))}catch(h){c(h instanceof Error?W(h.message):t("İşlem ÅŸu an tamamlanamadı"))}finally{m(!1)}}async function x(k){m(!0),c(""),o("");try{await as(k),await r()}catch(h){c(h instanceof Error?W(h.message):t("İşlem ÅŸu an tamamlanamadı"))}finally{m(!1)}}return i?e.jsx(ta,{retry:r}):n===null?e.jsx("p",{className:"muted",children:t("Yükleniyor…")}):e.jsxs("div",{children:[e.jsx("p",{className:"muted small",children:t("DoÄŸrulanmış adreslerinin herhangi biriyle giriÅŸ yapabilirsin.")}),e.jsxs("ul",{className:"addrList",children:[e.jsxs("li",{children:[e.jsx("div",{children:Ct(a.email)?e.jsxs(e.Fragment,{children:[e.jsx("b",{children:a.username}),e.jsx("span",{children:t("Kullanıcı adı (hesap sınıf koduyla açıldı, e-postası yok)")})]}):e.jsxs(e.Fragment,{children:[e.jsx("b",{children:a.email}),e.jsx("span",{children:t("Birincil e-posta")})]})}),e.jsx("span",{className:"chip",children:t("birincil")})]}),n.map(k=>{const h=!!k.verified_at;return e.jsxs("li",{children:[e.jsxs("div",{children:[e.jsx("b",{children:k.email}),e.jsx("span",{className:`emailStatus ${h?"ok":"wait"}`,children:h?t("✓ doÄŸrulandı"):t("doÄŸrulama bekliyor")})]}),!h&&e.jsx("button",{className:"linkBtn",type:"button",onClick:()=>g(k.email),disabled:d,children:t("maili yeniden gönder")}),e.jsx("button",{className:"cartRm",type:"button","aria-label":t("E-postayı sil"),onClick:()=>x(k.id),disabled:d,children:"✕"})]},k.id)})]}),e.jsxs("form",{className:"authForm",onSubmit:f,children:[e.jsxs("div",{className:"frow",children:[e.jsx("input",{name:"email",type:"email","aria-label":t("Ek e-posta"),placeholder:t("Ek e-posta"),required:!0}),e.jsx("button",{className:"btn g",disabled:d,children:t("+ E-posta ekle")})]}),s&&e.jsx("p",{className:"formOk",role:"status",children:s}),l&&e.jsx("p",{className:"formErr",role:"alert",children:l})]})]})}function dr({user:a,o:n,onDone:i}){const[r,s]=u.useState(""),[o,l]=u.useState(""),[c,d]=u.useState(()=>Object.fromEntries(n.items.map(h=>[h.id,h.quantity]))),[m,f]=u.useState(""),[g,x]=u.useState(!1);async function k(h){h.preventDefault(),f(""),x(!0);try{await is(a.email,n.id,{sebep:r,aciklama:o,kalemler:Object.entries(c).filter(([,v])=>v>0).map(([v,z])=>({id:v,adet:z}))}),i()}catch(v){f(v instanceof Error?W(v.message):t("Gönderilemedi. Tekrar dene."))}finally{x(!1)}}return e.jsxs("form",{className:"authForm iadeForm",onSubmit:k,children:[e.jsx("b",{children:t("İade talebi")}),m&&e.jsx("p",{className:"formErr",role:"alert",children:m}),e.jsxs("select",{"aria-label":t("İade sebebi"),required:!0,value:r,onChange:h=>s(h.target.value),children:[e.jsx("option",{value:"",children:t("Sebep seç")}),ns.map(([h,v])=>e.jsx("option",{value:h,children:sr[h]??v},h))]}),e.jsx("ul",{className:"iadeKalem",children:n.items.map(h=>e.jsxs("li",{children:[e.jsx("span",{children:h.title}),e.jsx("select",{"aria-label":t("{title} iade adedi",{title:h.title}),value:c[h.id]??0,onChange:v=>d(z=>({...z,[h.id]:Number(v.target.value)})),children:Array.from({length:h.quantity+1},(v,z)=>e.jsx("option",{value:z,children:ze("{n} adet",z)},z))})]},h.id))}),e.jsx("textarea",{"aria-label":t("Açıklama"),placeholder:t("Kısaca ne olduÄŸunu yaz (hasar, eksik parça...)"),rows:3,maxLength:1e3,value:o,onChange:h=>l(h.target.value)}),e.jsx("p",{className:"muted small",children:t("Talebini inceleyip e-postayla dönüş yaparız; iade kargosu bilgisini o mesajda paylaşırız.")}),e.jsxs("div",{className:"row",children:[e.jsx("button",{className:"btn p",disabled:g,children:g?t("Gönderiliyor…"):t("Talebi gönder")}),e.jsx("button",{type:"button",className:"btn g",onClick:i,children:t("Vazgeç")})]})]})}function ur({user:a}){const{data:n,error:i,refresh:r}=ka(a.id,()=>ts(a.email)),[s,o]=u.useState(null),[l,c]=u.useState(null);return i?e.jsx(ta,{retry:r}):n===null?e.jsx("p",{className:"muted",children:t("Yükleniyor…")}):n.length===0?e.jsx("p",{className:"muted",children:t("Henüz sipariÅŸin yok.")}):e.jsx("ul",{className:"orderCards",children:n.map(d=>{const m=d.id,f=d.items,g=d.shipping_address,x=!!(g&&(g.address_1||g.city)),k=s===m,h=d.takip[0],v=h?.gonderiler.find(S=>S.takip_no),z=d.odeme.havale,j=d.status==="canceled"?ma("order","İptal"):z?t("Ödeme bekleniyor"):h?W(h.durum_metni):ir[d.status]??d.status,b=d.fatura,C=d.billing_address;return e.jsxs("li",{className:k?"on":"",children:[e.jsxs("button",{type:"button",className:"ordHead","aria-expanded":k,onClick:()=>o(k?null:m),children:[e.jsxs("span",{className:"mono",children:["#",String(d.display_id)]}),e.jsx("span",{className:"ordStatus",children:j}),e.jsx("span",{className:"muted small",children:Pa(new Date(String(d.created_at)),{year:"numeric",month:"numeric",day:"numeric"})}),e.jsx("b",{children:I(Number(d.total??0))}),e.jsx("span",{className:"ordCaret","aria-hidden":!0,children:k?"â–²":"â–¼"})]}),!k&&e.jsx("div",{className:"ordItems",children:f.map(S=>e.jsxs("span",{children:[S.title," × ",S.quantity]},S.id))}),v&&e.jsx("div",{className:"ordTrack",children:B("Kargo takip no: {trackingNo}",{trackingNo:v.takip_url?e.jsx("a",{href:v.takip_url,target:"_blank",rel:"noopener",children:v.takip_no}):e.jsx("span",{className:"mono",children:v.takip_no})})}),d.iade_talebi&&e.jsxs("div",{className:"ordTrack",children:[B("İade talebi: {status}",{status:e.jsx("b",{children:W(d.iade_talebi.durum_metni)})}),d.iade_talebi.not?e.jsxs("span",{className:"muted small",children:[" · ",d.iade_talebi.not]}):null]}),k&&e.jsxs("div",{className:"ordDetail",children:[e.jsx("ul",{className:"ordLines",children:f.map(S=>{const L=Number(S.unit_price??0),K=Number(S.quantity??0);return e.jsxs("li",{children:[e.jsxs("span",{className:"ordLineName",children:[S.title,S.variant_title?e.jsxs("span",{className:"muted small",children:[" ",S.variant_title]}):null," ",e.jsxs("span",{className:"muted",children:["× ",K]})]}),e.jsx("span",{className:"ordLineUnit muted small",children:t("{price} / adet",{price:I(L)})}),e.jsx("span",{className:"ordLineTotal",children:I(L*K)})]},S.id)})}),e.jsxs("dl",{className:"ordFacts",children:[typeof d.ara_toplam=="number"&&e.jsxs("div",{children:[e.jsx("dt",{children:t("Ürünler")}),e.jsx("dd",{children:I(d.ara_toplam)})]}),e.jsxs("div",{children:[e.jsx("dt",{children:t("Kargo ücreti")}),e.jsx("dd",{children:d.shipping_total?I(d.shipping_total):t("Ücretsiz")})]}),d.kart_farki?e.jsxs("div",{children:[e.jsxs("dt",{children:[t("Kart ödeme farkı"),d.kart_farki_orani?` (${In(d.kart_farki_orani,{style:"percent",maximumFractionDigits:2})})`:""]}),e.jsx("dd",{children:I(d.kart_farki)})]}):null,e.jsxs("div",{children:[e.jsx("dt",{children:t("Toplam")}),e.jsx("dd",{children:e.jsx("b",{children:I(Number(d.total??0))})})]}),d.odeme.yontem_metni&&e.jsxs("div",{children:[e.jsx("dt",{children:t("Ödeme yöntemi")}),e.jsx("dd",{children:W(d.odeme.yontem_metni)})]}),e.jsxs("div",{children:[e.jsx("dt",{children:t("Ödeme")}),e.jsx("dd",{children:W(d.odeme.metin)})]}),d.kargo&&e.jsxs("div",{children:[e.jsx("dt",{children:t("Kargo")}),e.jsx("dd",{children:d.kargo})]}),b&&e.jsxs("div",{children:[e.jsx("dt",{children:t("Fatura")}),e.jsx("dd",{className:"ph-sensitive",children:b.tur==="kurumsal"?t("{unvan} · VKN {vkn} · {vergi_dairesi} VD",{unvan:b.unvan,vkn:b.vkn,vergi_dairesi:b.vergi_dairesi}):b.ad_soyad})]})]}),z&&e.jsx(Zn,{t:z,tutar:Number(d.total??0)}),v&&v.gecmis.length>0&&e.jsx("ol",{className:"takipGecmis",children:[...v.gecmis].reverse().map((S,L)=>e.jsxs("li",{children:[e.jsx("b",{children:W(S.metin)}),e.jsxs("span",{className:"muted small",children:[[S.konum,S.aciklama].filter(Boolean).join(" · "),S.zaman?` · ${Pa(new Date(S.zaman),{year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"numeric",second:"numeric"})}`:""]})]},L))}),C&&C.address_1&&C.address_1!==g?.address_1&&e.jsxs("div",{className:"ordAddr",children:[e.jsx("b",{children:t("Fatura adresi")}),e.jsxs("span",{className:"ph-sensitive",children:[[C.first_name,C.last_name].filter(Boolean).join(" ")," · ",[C.address_1,C.city,C.province].filter(Boolean).join(", ")]})]}),x&&e.jsxs("div",{className:"ordAddr",children:[e.jsx("b",{children:t("Teslimat adresi")}),e.jsxs("span",{children:[[g.first_name,g.last_name].filter(Boolean).join(" "),g.phone?` · ${g.phone}`:""]}),e.jsx("span",{children:[g.address_1,g.city,g.province,g.postal_code].filter(Boolean).join(", ")})]}),!d.iade_talebi&&d.status!=="canceled"&&(l===m?e.jsx(dr,{user:a,o:d,onDone:()=>{c(null),r()}}):e.jsx("button",{type:"button",className:"linkBtn",onClick:()=>c(m),children:t("İade talebi oluÅŸtur")}))]})]},m)})})}function mr({user:a}){const{data:n,error:i,refresh:r}=ka(a.id,async()=>{const[s,o]=await Promise.all([Kn(a.email),ha()]);return o.filter(l=>s.includes(l.id))});return i?e.jsx(ta,{retry:r}):n===null?e.jsx("p",{className:"muted",children:t("Yükleniyor…")}):n.length===0?e.jsx("p",{className:"muted",children:B("Henüz favorin yok - ürün sayfalarındaki ♡ ile eklersin. {link}.",{link:e.jsx(_,{to:"/urunler",children:t("Ürünlere göz at")})})}):e.jsx("div",{className:"parts",children:n.map(s=>e.jsx(Ba,{p:s},s.id))})}function hr({user:a}){const[n,i]=u.useState(!1),[r,s]=u.useState(""),{data:o,error:l,refresh:c}=ka(a.id,async()=>{const[d,m]=await Promise.all([$n(a.email),ha()]);return d.map(f=>({alertId:f.id,product:m.find(g=>g.id===f.product_id)})).filter(f=>f.product)});return l?e.jsx(ta,{retry:c}):o===null?e.jsx("p",{className:"muted",children:t("Yükleniyor…")}):o.length===0?e.jsx("p",{className:"muted",children:He()?t("Takip listen boÅŸ. Ürün duyuruları açıldığında buradan takip edebilirsin."):B(`Takip listen boÅŸ. "Fiyat yakında" olan ürünlerde {button}'e bas; satış açılınca e-posta atarız.`,{button:e.jsx("b",{children:t("Gelince haber ver")})})}):e.jsxs(e.Fragment,{children:[r&&e.jsx("p",{className:"formErr",role:"alert",children:r}),e.jsx("ul",{className:"addrList",children:o.map(({alertId:d,product:m})=>e.jsxs("li",{children:[e.jsxs("div",{children:[e.jsx("b",{children:e.jsx(_,{to:`/urun/${m.handle}`,children:Ne(m.title)})}),e.jsx("span",{className:"mono small",children:m.variants?.[0]?.sku})]}),e.jsx("button",{className:"cartRm","aria-label":t("Listeden çıkar"),disabled:n,onClick:async()=>{i(!0),s("");try{await Ln(a.email,m.id),await c()}catch{s(t("Takip listesi güncellenemedi. Tekrar dene."))}finally{i(!1)}},children:"✕"})]},d))})]})}let yn=!1;function ni(){const[a]=Ge(),{bolum:n}=pa(),i=an(a.get("returnTo")),r=i??(n?an(`${location.pathname}${location.search}`):null),s=i&&qi(i)!==void 0?i.slice(Hi(i).length):"",o=s.startsWith("/etkinlestir"),l=s.startsWith("/katil"),[c,d]=u.useState(""),[m,f]=u.useState(!1),g=u.useRef(0),x=u.useRef(!1),k=()=>{!i||x.current||(x.current=!0,location.assign(i))},[h,v]=u.useState(null),[z,j]=u.useState(!1),[b,C]=u.useState(()=>a.get("kayit")==="1"?"kayit":"giris"),[S,L]=u.useState(!1),[K,G]=u.useState(o?"ogretmen":l?"ogrenci":""),[O,se]=u.useState(""),[ae,te]=u.useState(!1),[ne,M]=u.useState(()=>a.has("error")?t("DoÄŸrulama baÄŸlantısı geçersiz veya süresi dolmuÅŸ. GiriÅŸ yapmayı dene; doÄŸrulama e-postasını yeniden gönderebilirsin."):a.get("alias")==="invalid"?t("Ek e-posta baÄŸlantısı geçersiz veya süresi dolmuÅŸ. E-posta adreslerim bölümünden yeniden gönder."):""),[X,F]=u.useState(()=>a.get("yenilendi")==="1"?t("Åžifren yenilendi. Yeni ÅŸifrenle giriÅŸ yapabilirsin."):a.get("verified")==="1"&&!a.has("error")?t("E-postan doÄŸrulandı. GiriÅŸ yapabilirsin."):a.get("alias")==="ok"?t("Ek e-postan doÄŸrulandı."):""),V=e.jsx(he,{title:h?t("{section} - Hesap - Probot Studio",{section:ti[gn(n)]}):t("Hesap - Probot Studio"),description:t("Probot Studio hesabına giriÅŸ yap, adreslerini, sipariÅŸlerini, favorilerini ve takip listeni yönet."),path:"/hesap",noindex:!0});async function ue(J=!0){const U=++g.current;J&&j(!1),f(!1);try{const ie=await Za();U===g.current&&(v(ie?.user??null),ie?.user&&k())}catch{U===g.current&&f(!0)}finally{U===g.current&&j(!0)}}u.useEffect(()=>{a.get("verified")==="1"&&!a.has("error")&&!yn&&(yn=!0,pe("hesap_eposta_dogrulandi",{yontem:"eposta"}))},[]),u.useEffect(()=>{ue();const J=()=>{ue(!1)},U=()=>{document.visibilityState==="visible"&&J()};return window.addEventListener(tn,J),window.addEventListener("focus",J),document.addEventListener("visibilitychange",U),()=>{g.current++,window.removeEventListener(tn,J),window.removeEventListener("focus",J),document.removeEventListener("visibilitychange",U)}},[]);async function ge(){te(!0),M(""),F("");try{const J=await Yi(c,r??void 0);J.ok?F(t("DoÄŸrulama e-postası istendi. Gelen kutunu ve spam klasörünü kontrol et.")):M(W(ra(J.code,t("DoÄŸrulama e-postası gönderilemedi. Biraz bekleyip tekrar dene."))))}catch{M(t("BaÄŸlantı kurulamadı. Tekrar dene."))}finally{te(!1)}}async function Te(J){J.preventDefault(),te(!0),M(""),F("");const U=new FormData(J.currentTarget),ie=String(U.get("email")??"").trim();try{if(b==="sifre"){const Q=await Ui(ie);Q.ok?F(t("Bu e-posta kayıtlıysa sıfırlama baÄŸlantısı gönderildi.")):M(W(ra(Q.code,t("İstek gönderilemedi - tekrar dene."))));return}const Re=String(U.get("password")??"");if(b==="kayit"&&Re!==String(U.get("password2")??"")){M(t("Åžifreler aynı deÄŸil."));return}const be=U.get("hesapTuru")!=="ogretmen",N=be&&U.get("resitDegil")==="evet",R=String(U.get("veliEposta")??"").trim();if(b==="kayit"&&N&&R.toLowerCase()===ie.toLowerCase()){M(W(ra("VELI_EPOSTA_AYNI","")));return}const D=b==="kayit"?await Wi(String(U.get("name")??""),ie,Re,r??void 0,be?"ogrenci":"ogretmen",{resitDegil:N,...N?{veliEposta:R}:{}}):await Zi(ie,Re);if(!D.ok){D.code==="EMAIL_NOT_VERIFIED"&&d(ie),M(W(ra(D.code,b==="kayit"?t("Kayıt olmadı - bilgileri kontrol et."):t("GiriÅŸ olmadı - e-posta, kullanıcı adı ya da ÅŸifre hatalı olabilir."))));return}if(b==="kayit"){pe("hesap_kayit_olusturuldu",{yontem:"eposta",resit_degil:N}),d(ie),F(N?t("Hesabın oluÅŸturuldu. Devam etmek için e-postandaki doÄŸrulama baÄŸlantısını aç. E-postanı doÄŸruladığında veline ({veliEposta}) bir onay e-postası göndereceÄŸiz; o onaylayana kadar ders fotoÄŸrafı yükleyemez ve asistanı kullanamazsın.",{veliEposta:R}):t("Hesabın oluÅŸturuldu. Devam etmek için e-postandaki doÄŸrulama baÄŸlantısını aç."));return}const Y=await Za();v(Y?.user??null),Y?.user&&k()}catch{M(t("BaÄŸlantı kurulamadı. Bilgilerini kontrol edip tekrar dene."))}finally{te(!1)}}return z?m&&!h?e.jsxs(e.Fragment,{children:[V,e.jsx("section",{className:"account",children:e.jsx(ta,{retry:ue})})]}):h?e.jsxs(e.Fragment,{children:[V,e.jsx(u.Suspense,{fallback:e.jsx("section",{className:"account",children:e.jsx("p",{className:"muted",children:t("Yükleniyor…")})}),children:e.jsx(nr,{user:h,bolum:gn(n),cikis:async()=>{M("");try{await Vi(),v(null)}catch{M(t("Çıkış yapılamadı. Oturumun açık olabilir; tekrar dene."))}},mesaj:e.jsxs(e.Fragment,{children:[m&&e.jsxs("p",{className:"hp-uyari",role:"status",children:[t("Oturum bilgin yenilenemedi; baÄŸlantını kontrol et.")," ",e.jsx("button",{type:"button",className:"hp-metin-dugme",onClick:()=>{ue(!1)},children:t("Tekrar dene")})]}),ne&&e.jsx("p",{className:"formErr",role:"alert",children:ne}),X&&e.jsx("p",{className:"formOk",role:"status",children:X}),e.jsx(Gi,{user:h})]}),slotlar:{siparisler:e.jsx(ur,{user:h}),adresler:e.jsx(or,{user:h}),favoriler:e.jsx(mr,{user:h}),takip:e.jsx(hr,{user:h}),epostalar:e.jsx(cr,{user:h}),bilgiler:J=>e.jsx(lr,{user:h,ek:J})}})})]}):c?e.jsxs(e.Fragment,{children:[V,e.jsxs("section",{className:"account",children:[e.jsx("h1",{children:t("E-postanı doÄŸrula")}),e.jsx("p",{children:B("{email} adresindeki doÄŸrulama baÄŸlantısını aç. Gelen kutunu ve spam klasörünü kontrol et.",{email:e.jsx("b",{children:c})})}),X&&e.jsx("p",{className:"formOk",role:"status",children:X}),ne&&e.jsx("p",{className:"formErr",role:"alert",children:ne}),e.jsxs("div",{className:"row",children:[e.jsx("button",{className:"btn p",disabled:ae,onClick:ge,children:t("DoÄŸrulama e-postasını yeniden gönder")}),e.jsx("button",{className:"btn g",disabled:ae,onClick:()=>{d(""),C("giris"),F(""),M("")},children:t("DoÄŸruladım, giriÅŸ yap")}),e.jsx("button",{className:"linkBtn",disabled:ae,onClick:()=>{d(""),C("kayit"),F(t("Adresi düzelterek yeniden kayıt olabilirsin.")),M("")},children:t("Adresi düzelt")})]})]})]}):e.jsxs(e.Fragment,{children:[V,e.jsxs("section",{className:"account",children:[e.jsx("h1",{children:B("Probot {hl}",{hl:e.jsx("span",{className:"hl",children:t("Hesabın")})})}),e.jsx("p",{className:"muted",children:t("Tek hesap; maÄŸaza, Builder ve Blocks'ta geçerli.")}),o&&e.jsx("p",{className:"formOk",role:"note",children:t("Kit kodunu etkinleÅŸtirmek için önce giriÅŸ yap ya da öğretmen / mentör hesabı oluÅŸtur. Kodun kaybolmaz; giriÅŸten sonra buradan devam edersin.")}),l&&e.jsx("p",{className:"formOk",role:"note",children:t("Sınıfa katılmak için önce giriÅŸ yap ya da öğrenci hesabı oluÅŸtur. Sınıf kodun kaybolmaz; giriÅŸten sonra katılma sayfasına dönersin.")}),e.jsxs("div",{className:"authTabs",children:[e.jsx("button",{className:b==="giris"?"on":"",onClick:()=>{C("giris"),M(""),F("")},children:t("GiriÅŸ")}),e.jsx("button",{className:b==="kayit"?"on":"",onClick:()=>{C("kayit"),M(""),F("")},children:t("Kayıt ol")})]}),e.jsxs("form",{className:"authForm",onSubmit:Te,children:[b==="kayit"&&e.jsx("input",{name:"name","aria-label":t("Ad Soyad"),placeholder:t("Ad Soyad"),required:!0,minLength:2,maxLength:80}),b==="kayit"&&e.jsxs("fieldset",{className:"hesapTuru",style:{border:0,padding:0,margin:0,display:"flex",flexWrap:"wrap",gap:"6px 16px",alignItems:"center"},children:[e.jsx("legend",{style:{padding:0,marginBottom:4,fontSize:13,fontWeight:700},children:t("Hesap türü")}),e.jsxs("label",{className:"check",style:{alignItems:"center"},children:[e.jsx("input",{type:"radio",name:"hesapTuru",value:"ogrenci",required:!0,checked:K==="ogrenci",onChange:()=>G("ogrenci")})," ",e.jsx("span",{children:t("Öğrenci")})]}),e.jsxs("label",{className:"check",style:{alignItems:"center"},children:[e.jsx("input",{type:"radio",name:"hesapTuru",value:"ogretmen",required:!0,checked:K==="ogretmen",onChange:()=>G("ogretmen")})," ",e.jsx("span",{children:t("Öğretmen / mentör")})]})]}),b==="kayit"&&K==="ogrenci"&&e.jsxs("fieldset",{className:"hesapTuru",style:{border:0,padding:0,margin:0,display:"flex",flexWrap:"wrap",gap:"6px 16px",alignItems:"center"},children:[e.jsx("legend",{style:{padding:0,marginBottom:4,fontSize:13,fontWeight:700},children:t("18 yaşından küçük müsün?")}),e.jsxs("label",{className:"check",style:{alignItems:"center"},children:[e.jsx("input",{type:"radio",name:"resitDegil",value:"hayir",required:!0,checked:O==="hayir",onChange:()=>se("hayir")})," ",e.jsx("span",{children:t("Hayır, 18 yaşından büyüğüm")})]}),e.jsxs("label",{className:"check",style:{alignItems:"center"},children:[e.jsx("input",{type:"radio",name:"resitDegil",value:"evet",required:!0,checked:O==="evet",onChange:()=>se("evet")})," ",e.jsx("span",{children:t("Evet, 18 yaşından küçüğüm")})]})]}),b==="kayit"&&K==="ogrenci"&&O==="evet"&&e.jsxs(e.Fragment,{children:[e.jsx("input",{name:"veliEposta",type:"email","aria-label":t("Veli e-postası"),placeholder:t("Veli e-postası (anne, baba ya da vasi)"),required:!0}),e.jsx("p",{className:"muted small",style:{margin:0},children:t("E-postanı doÄŸruladığında veline bir onay baÄŸlantısı göndereceÄŸiz. Onaylayana kadar hesabınla eÄŸitimleri okuyabilir ve sınıfına katılabilirsin ama ders fotoÄŸrafı yükleyemez ve eÄŸitim asistanını kullanamazsın.")})]}),b==="giris"?e.jsx("input",{name:"email",type:"text","aria-label":t("E-posta ya da kullanıcı adı"),placeholder:t("E-posta ya da kullanıcı adı"),autoComplete:"username",autoCapitalize:"none",spellCheck:!1,required:!0}):e.jsx("input",{name:"email",type:"email","aria-label":t("E-posta"),placeholder:t("E-posta"),required:!0}),b!=="sifre"&&e.jsx(qe,{name:"password","aria-label":t("Åžifre"),placeholder:t("Åžifre (en az 8 karakter)"),required:!0,minLength:8,autoComplete:b==="kayit"?"new-password":"current-password",goster:S,onGosterDegis:L}),b==="kayit"&&e.jsx(qe,{name:"password2","aria-label":t("Åžifre (tekrar)"),placeholder:t("Åžifre (tekrar)"),required:!0,minLength:8,autoComplete:"new-password",goster:S,dugme:!1}),b==="kayit"&&e.jsxs("label",{className:"check",children:[e.jsx("input",{type:"checkbox",required:!0}),e.jsxs("span",{children:[B("{membership}'ni okudum, kabul ediyorum; {privacy}'ni okudum.",{membership:e.jsx(_,{to:"/yasal/uyelik-sozlesmesi",target:"_blank",rel:"noopener",children:t("Üyelik SözleÅŸmesi")}),privacy:e.jsx(_,{to:"/yasal/aydinlatma-metni",target:"_blank",rel:"noopener",children:t("Aydınlatma Metni")})}),K==="ogretmen"&&t(" 18 yaşından büyük olduÄŸumu beyan ederim.")]})]}),ne&&e.jsx("p",{className:"formErr",role:"alert",children:ne}),X&&e.jsx("p",{className:"formOk",role:"status",children:X}),e.jsx("button",{className:"btn p",disabled:ae,children:ae?"…":b==="kayit"?t("Hesap oluÅŸtur"):b==="sifre"?t("Sıfırlama baÄŸlantısı gönder"):t("GiriÅŸ yap →")}),b==="giris"&&e.jsx("button",{type:"button",className:"linkBtn",onClick:()=>{C("sifre"),M(""),F("")},children:t("Åžifreni mi unuttun?")}),b==="giris"&&e.jsx("p",{style:{margin:0,fontSize:13.5},children:B("Öğretmeninden sınıf kodu mu aldın? {link}",{link:e.jsx("a",{href:l&&i?i:tt("/egitim/katil/"),children:t("Sınıf kodum var")})})}),b==="giris"&&e.jsx("p",{style:{margin:0,fontSize:13.5},children:B("Hesabın yok mu? {button}",{button:e.jsx("button",{type:"button",className:"linkBtn",style:{display:"inline",padding:0},onClick:()=>{C("kayit"),M(""),F("")},children:t("Hesap oluÅŸtur")})})}),b==="kayit"&&e.jsx("p",{style:{margin:0,fontSize:13.5},children:B("Zaten hesabın var mı? {button}",{button:e.jsx("button",{type:"button",className:"linkBtn",style:{display:"inline",padding:0},onClick:()=>{C("giris"),M(""),F("")},children:t("GiriÅŸ yap")})})}),b==="sifre"&&e.jsx("p",{className:"muted small",style:{margin:0},children:t("Hesabını sınıf koduyla, e-postasız açtıysan ÅŸifreni öğretmenin yeniler; ondan yeni bir geçici ÅŸifre iste.")}),b==="sifre"&&e.jsx("button",{type:"button",className:"linkBtn",onClick:()=>{C("giris"),M(""),F("")},children:t("↠GiriÅŸe dön")}),e.jsx("p",{className:"muted small",children:t("Google ile giriÅŸ çok yakında.")})]})]})]}):e.jsxs(e.Fragment,{children:[V,e.jsx("section",{className:"account",children:e.jsx("p",{className:"muted",children:t("Yükleniyor…")})})]})}function la(a){const n=a?.pack_size;return typeof n=="number"&&Number.isSafeInteger(n)&&n>1?n:1}function pr(a,n){const i=la(n);return i>1?`${a} paket (${a*i} adet)`:`${a} adet`}const kr=rs;function Me(a){return typeof a=="string"?a.trim():""}function gr(a){return a?[a.first_name,a.last_name].map(Me).filter(Boolean).join(" "):""}function fr(a){return a?[a.address_1,a.city,a.province,a.postal_code].map(Me).filter(Boolean).join(", "):""}function yr(a){return(a.items??[]).reduce((n,i)=>n+i.unit_price*i.quantity,0)}function xr(a,n={}){const i=He(),r=n.shippingAddress??a.shipping_address,s=Me(n.name)||gr(r),o=Me(n.address)||fr(r),l=Me(n.phone)||Me(r?.phone),c=a.item_total??a.subtotal??yr(a),d=a.total??c,m=(a.items??[]).some(g=>!g.unit_price);return`Probot Studio - SipariÅŸ
`+(a.items??[]).map(g=>{const x=g.product_title??g.title,k=Me(g.variant_title),h=k&&k!=="Standart"?`${x} (${k})`:x,v=Me(g.variant_sku),z=v?` [${v}]`:"",j=pr(g.quantity,g.product?.metadata);return i||!g.unit_price?`- ${h}${z} x ${j}
`:`- ${h}${z} x ${j} = ${I(g.unit_price*g.quantity)}
`}).join("")+(i?"":`
Genel toplam: ${I(d)}${m?" (fiyatı yazılmayan ürünler hariç)":""}
`)+`
Ad Soyad: ${s}
Teslimat adresim: ${o}
Telefon: ${l}
`+(i?"(Fiyat, ödeme ve teslimat detaylarını burada netleÅŸtirelim.)":"(SipariÅŸini onaylayınca ödeme ve teslimat detaylarını burada netleÅŸtiririz.)")}function br(a,n){return`https://wa.me/${kr}?text=${encodeURIComponent(xr(a,n))}`}function jr(a,n){const i=br(a,n),r=window.open(i,"_blank");r?r.opener=null:window.location.assign(i)}const vr=!1;function Nr(){const a=He(),[n,i]=Ge(),[r,s]=u.useState(void 0),[o,l]=u.useState(""),[c,d]=u.useState(""),[m,f]=u.useState(!1),[g,x]=u.useState(!1),k=e.jsx(he,{title:t("Sepet - Probot Studio"),description:a?t("Probot Studio maÄŸaza sepetindeki ürünleri görüntüle."):t("Probot Studio maÄŸaza sepetindeki ürünleri ve toplam tutarı görüntüle."),path:"/sepet",noindex:!0}),h=()=>qn().then(j=>{s(j),d("")}).catch(()=>d(t("Sepete ulaşılamadı. Mevcut sepetin korunuyor."))),v=async j=>{if(!m){f(!0);try{await j(),await h()}catch{d(t("Sepet güncellenemedi. Tekrar dene."))}finally{f(!1)}}};if(u.useEffect(()=>{const j=n.get("cart");j?ls(j).then(C=>{s(C);const S=new URLSearchParams(n);S.delete("cart"),i(S,{replace:!0})}).catch(()=>d(t("Sepet baÄŸlantısı açılamadı. Mevcut sepetin korunuyor."))):h();const b=()=>h();return window.addEventListener("cart:updated",b),()=>window.removeEventListener("cart:updated",b)},[]),c&&(!r||!r.items?.length))return e.jsxs(e.Fragment,{children:[k,e.jsxs("section",{className:"account",children:[e.jsx("h1",{children:t("Sepetin")}),e.jsx("p",{role:"alert",children:c}),e.jsx("button",{className:"btn p",onClick:()=>window.dispatchEvent(new CustomEvent("cart:updated")),children:t("Tekrar dene")})]})]});if(r===void 0)return e.jsxs(e.Fragment,{children:[k,e.jsx("section",{className:"account",children:e.jsx("p",{className:"muted",children:t("Sepet yükleniyor…")})})]});const z=r?.items??[];return!r||z.length===0?e.jsxs(e.Fragment,{children:[k,e.jsxs("section",{className:"account",children:[e.jsx("h1",{children:B("Sepetin {hl}",{hl:e.jsx("span",{className:"hl",children:t("ÅŸimdilik boÅŸ")})})}),e.jsx("p",{className:"muted",children:t("Kitlere ve parçalara göz at - beÄŸendiklerini ÅŸimdiden sepetine koy.")}),e.jsx("div",{className:"row",children:e.jsx(_,{to:"/",className:"btn p",children:t("MaÄŸazaya git →")})})]})]}):e.jsxs(e.Fragment,{children:[k,e.jsxs("section",{className:"cartPage",children:[e.jsx("h1",{children:t("Sepetin")}),c&&e.jsxs("p",{role:"alert",children:[c," ",e.jsx("button",{className:"linkBtn",onClick:()=>window.dispatchEvent(new CustomEvent("cart:updated")),children:t("Tekrar dene")})]}),e.jsx("ul",{className:"cartList",children:z.map(j=>e.jsxs("li",{children:[j.thumbnail?e.jsx("img",{src:j.thumbnail,alt:""}):e.jsx("span",{className:"cart-ic",children:"📦"}),e.jsxs("div",{className:"cartInfo",children:[e.jsx("b",{children:Ne(j.product_title??j.title)}),j.variant_title&&j.variant_title!=="Standart"&&e.jsx("span",{className:"muted small",children:Mn(j.variant_title)}),!a&&(j.unit_price?e.jsx("span",{className:"muted small",children:la(j.product?.metadata)>1?t("{price} / paket",{price:I(j.unit_price)}):t("{price} / adet",{price:I(j.unit_price)})}):e.jsx("span",{className:"muted small",children:t("Fiyatı mesajda netleÅŸir")})),la(j.product?.metadata)>1&&e.jsx("span",{className:"muted small packSummary",children:ze("{n} paket ({total} adet)",j.quantity,{total:j.quantity*la(j.product?.metadata)})})]}),e.jsxs("div",{className:"qty sm","aria-label":la(j.product?.metadata)>1?t("Paket adedi"):t("Adet"),children:[e.jsx("button",{type:"button","aria-label":t("Adedi azalt"),disabled:m,onClick:()=>{v(()=>j.quantity<=1?sn(j.id):rn(j.id,j.quantity-1))},children:"−"}),e.jsx("span",{className:"qval",children:j.quantity}),e.jsx("button",{type:"button","aria-label":t("Adedi artır"),disabled:m,onClick:()=>{v(()=>rn(j.id,j.quantity+1))},children:"+"})]}),!a&&!!j.unit_price&&e.jsx("span",{className:"cartLineTotal",children:I(j.unit_price*j.quantity)}),e.jsx("button",{className:"cartRm",disabled:m,onClick:()=>{v(()=>sn(j.id))},"aria-label":t("Kaldır"),children:"✕"})]},j.id))}),vr,(r.promotions??[]).map(j=>e.jsxs("p",{className:"couponOk",children:["ðŸŽŸï¸ ",B("{code} uygulandı",{code:e.jsx("b",{children:j.code})}),r.discount_total?t(" - indirim {amount}",{amount:I(r.discount_total)}):"",e.jsx("button",{className:"linkBtn",onClick:()=>os(j.code),children:t("kaldır")})]},j.code)),e.jsxs("div",{className:"cartFoot",children:[e.jsx("span",{children:a?e.jsx("span",{className:"muted",children:t("Fiyatlar WhatsApp'ta netleÅŸiyor")}):e.jsxs(e.Fragment,{children:[r.discount_total?e.jsxs(e.Fragment,{children:[e.jsx("s",{className:"muted",children:I(r.total+r.discount_total)})," "]}):null,B("Toplam {total}",{total:e.jsx("b",{children:I(r.total)})})]})}),e.jsxs("div",{className:"cartAksiyon",children:[!a&&e.jsx(_,{to:"/odeme",className:"btn p",onClick:()=>pe("odeme_baslatildi",{tutar:r.total,yontem:"kart"}),children:t("Kartla öde")}),e.jsx("button",{type:"button",className:a?"btn p":"btn g",onClick:()=>{pe("whatsapp_siparis_tiklandi",{cart_id:r.id,kalem_sayisi:z.length,adet_toplam:z.reduce((j,b)=>j+(b.quantity??0),0)}),pe("odeme_baslatildi",{tutar:a?null:r.total,yontem:"whatsapp"}),jr(r)},children:t("🟢 WhatsApp ile sipariÅŸ ver")})]})]}),a?e.jsx("p",{className:"muted small",children:t("Butona bastığınızda sepetiniz WhatsApp mesajı olarak hazırlanır, sipariÅŸ iÅŸlemi oradan devam eder.")}):e.jsx("p",{className:"muted small",children:t("Kartla ödemede teslimat ve kargo seçiminden sonra güvenli ödeme yaparsın. İstersen sepetini WhatsApp mesajı olarak gönderip sipariÅŸini oradan da verebilirsin.")}),e.jsx(it,{})]})]})}function zr({step:a}){const n=[t("Teslimat"),t("Kargo"),t("Onay ve SipariÅŸ")];return e.jsx("ol",{className:"coSteps","aria-label":t("Ödeme adımları"),children:n.map((i,r)=>{const s=r+1,o=s<a?"done":s===a?"on":"";return e.jsxs("li",{className:o,children:[e.jsx("span",{className:"coStepNo",children:s<a?"✓":s}),e.jsx("span",{className:"coStepLabel",children:i})]},i)})})}function Sa(a){return[a.first_name,a.last_name].filter(Boolean).join(" ")}function Ma(a){return[a.address_1,a.city,a.province,a.postal_code].filter(Boolean).join(", ")}function qa({guest:a,onSubmit:n,submitLabel:i,onCancel:r,kayit:s,ilk:o,ilkEmail:l,faturaAlani:c,ilkFatura:d}){const[m,f]=u.useState({city:o?.city??"",province:o?.province??"",postal_code:o?.postal_code??""}),[g,x]=u.useState(!0),[k,h]=u.useState(s?.varsayilan??!1),[v,z]=u.useState(()=>ei(o?.metadata?.fatura??d)),[j,b]=u.useState("");function C(S){S.preventDefault();const L=new FormData(S.currentTarget),K=String(L.get("phone")??"").trim();if(!Pt(K)){b(t("Telefonu 05xx xxx xx xx biçiminde yaz; kargo firması teslimatta bu numarayı arar."));return}if(!m.city.trim()||!m.province.trim()){b(t("İl ve ilçe gerekli. Adres önerisinden seçersen otomatik dolar."));return}let G=null;if(c){const O=Ja(Xn(v),`${L.get("first_name")??""} ${L.get("last_name")??""}`);if(!O.fatura){b(O.hata===void 0?t("Fatura bilgisini kontrol et."):W(O.hata));return}G=O.fatura}b(""),n(a?String(L.get("email")??"").trim():null,{first_name:String(L.get("first_name")??"").trim(),last_name:String(L.get("last_name")??"").trim(),address_1:String(L.get("address_1")??"").trim(),city:m.city.trim(),province:m.province.trim(),postal_code:m.postal_code.trim(),phone:K},s?{kaydet:g,ad:String(L.get("address_name")??"").trim(),varsayilan:g&&k}:null,G)}return e.jsxs("form",{className:"authForm",onSubmit:C,children:[j&&e.jsx("p",{className:"formErr",role:"alert",children:j}),a&&e.jsxs(e.Fragment,{children:[e.jsx("input",{name:"email",type:"email","aria-label":t("E-posta"),placeholder:t("E-posta (sipariÅŸ onayı buraya gelir)"),required:!0,defaultValue:l??""}),e.jsx("p",{className:"muted small kvkkNote",children:B("E-postan yalnızca sipariÅŸ onayı, kargo bildirimi ve faturan için kullanılır; pazarlama için kullanılmaz. {link}.",{link:e.jsx(_,{to:"/yasal/aydinlatma-metni",target:"_blank",rel:"noopener",children:t("KVKK Aydınlatma Metni")})})})]}),e.jsxs("div",{className:"frow",children:[e.jsx("input",{name:"first_name","aria-label":t("Ad"),placeholder:t("Ad"),required:!0,defaultValue:o?.first_name??""}),e.jsx("input",{name:"last_name","aria-label":t("Soyad"),placeholder:t("Soyad"),required:!0,defaultValue:o?.last_name??""})]}),e.jsx(Wn,{onPick:S=>f({city:S.city,province:S.province,postal_code:S.postal_code}),defaultValue:o?.address_1??""}),e.jsxs("div",{className:"frow",children:[e.jsx("input",{name:"city","aria-label":t("İlçe"),placeholder:t("İlçe"),required:!0,value:m.city,onChange:S=>f(L=>({...L,city:S.target.value}))}),e.jsx("input",{name:"province","aria-label":t("İl"),placeholder:t("İl"),required:!0,value:m.province,onChange:S=>f(L=>({...L,province:S.target.value}))})]}),e.jsxs("div",{className:"frow",children:[e.jsx("input",{name:"postal_code","aria-label":t("Posta kodu"),placeholder:t("Posta kodu"),value:m.postal_code,onChange:S=>f(L=>({...L,postal_code:S.target.value}))}),e.jsx("input",{name:"phone",type:"tel","aria-label":t("Telefon"),placeholder:t("Telefon - 05xx xxx xx xx"),required:!0,defaultValue:o?.phone??""})]}),c&&e.jsx(ai,{value:v,onChange:z}),s&&e.jsxs("div",{className:"adresKayit",children:[e.jsxs("label",{className:"check checkLine",children:[e.jsx("input",{type:"checkbox",name:"kaydet",checked:g,onChange:S=>x(S.target.checked)}),e.jsx("span",{children:t("Bu adresi hesabıma kaydet")})]}),g&&e.jsxs(e.Fragment,{children:[e.jsx("input",{name:"address_name","aria-label":t("Adres baÅŸlığı"),placeholder:t("Adres baÅŸlığı (ör. Ev, Okul, İş)"),maxLength:40}),e.jsxs("label",{className:"check checkLine",children:[e.jsx("input",{type:"checkbox",name:"varsayilan",checked:k,onChange:S=>h(S.target.checked)}),e.jsx("span",{children:s.varsayilanMetni})]})]})]}),e.jsxs("div",{className:"row",children:[e.jsx("button",{className:"btn p",children:i}),r&&e.jsx("button",{type:"button",className:"btn g",onClick:r,children:t("Vazgeç")})]})]})}function Sr(a){return a==="Kargo"?t("Kargo"):a==="Kargo (sabit ücret)"?t("Kargo (sabit ücret)"):a}function wr(){const a=Fa(),n=He(),[i,r]=u.useState(!1),[s,o]=u.useState(null),[l,c]=u.useState(void 0),[d,m]=u.useState(1),[f,g]=u.useState(""),[x,k]=u.useState(!1),[h,v]=u.useState([]),[z,j]=u.useState(null),[b,C]=u.useState(!1),[S,L]=u.useState(!0),[K,G]=u.useState(!1),[O,se]=u.useState(null),[ae,te]=u.useState(null),[ne,M]=u.useState(!1),[X,F]=u.useState(null),[V,ue]=u.useState(null),[ge,Te]=u.useState(null),[J,U]=u.useState(null),[ie,Re]=u.useState(null),[be,N]=u.useState(null),[R,D]=u.useState(!1),[Y,Q]=u.useState(!1),[re,Ie]=u.useState(null),[Ee,Ve]=u.useState("kart"),ee=s?.email;u.useEffect(()=>{if(n)return;let y=!0;return(async()=>{const T=(await Za())?.user??null;if(!y)return;o(T),r(!0);const A=await ln(T?.email);if(y){if(c(A),!A||!(A.items??[]).length){a("/sepet",{replace:!0});return}if(T){try{const $=await Ta(T.email);y&&Ye($.addresses??[],!0)}catch{}try{const $=await Dn(T.email);y&&$&&ue($)}catch{}}}})(),()=>{y=!1}},[n]);function Ye(y,E){if(v(y),!E)return;const T=y.find($=>$.is_default_shipping)??y[0],A=y.find($=>$.is_default_billing);T&&j(T.id),A&&te(A.id),T&&A&&A.id!==T.id&&!on(A,T)&&L(!1)}async function lt(){const y=await ln(ee);return c(y),y}function $e(y){const E=V?Jn(h):null;return Qn(y,E?.id===y.id?V:null)}function Ue(y,E){return{...E?{metadata:{fatura:E}}:{},first_name:y.first_name??"",last_name:y.last_name??"",address_1:y.address_1??"",city:y.city??"",province:y.province??"",postal_code:y.postal_code??"",phone:y.phone??"",country_code:"tr"}}async function Ht(y){if(!ee||!y.length)return;let E=h;for(const A of y){const $=E.find(xe=>on(xe,A.adres)),ve={...A.teslimat?{is_default_shipping:!0}:{},...A.fatura?{is_default_billing:!0}:{},...A.adres.metadata?.fatura?{metadata:{fatura:A.adres.metadata.fatura}}:{}};if($){Object.keys(ve).length&&await Qa(ee,$.id,ve);continue}await On(ee,{address_name:A.ad||null,first_name:A.adres.first_name??null,last_name:A.adres.last_name??null,address_1:A.adres.address_1??null,city:A.adres.city??null,province:A.adres.province??null,postal_code:A.adres.postal_code??null,phone:A.adres.phone??null,...ve}),E=[...E,{id:"",...A.adres}]}const T=await Ta(ee);Ye(T.addresses??[],!1)}async function Ia(y,E,T,A=[],$=null){const ve=T.metadata?.fatura??null;if(!ve){g(t("Fatura bilgisi eksik. Fatura adresini düzenle."));return}g(""),k(!0);try{await cs({email:y||ee,shipping_address:E,billing_address:T},ee),await Ht(A).catch(()=>g(t("Adres sipariÅŸe eklendi ama hesabına kaydedilemedi; Hesabım > Adreslerim bölümünden ekleyebilirsin.")));const xe=await lt(),Ka=await ds(ee);Re(Ka),N(xe?.shipping_methods?.[0]?.shipping_option_id??Ka[0]?.id??null),se(null),Te(ve),U($),m(2)}catch(xe){g(xe instanceof Error?W(xe.message):t("Adres kaydedilemedi - tekrar dene."))}finally{k(!1)}}function ia(y,E,T,A,$=null){if(S){const ve=T&&(T.teslimat||!h.some(xe=>xe.is_default_billing))?{...T,fatura:!0}:T;Ia(y,E,{...E,...A?{metadata:{fatura:A}}:{}},ve?[ve]:[],$)}else se({email:y,ship:E,kayit:T})}function ga(y,E,T){return E?.kaydet?{adres:y,ad:E.ad,teslimat:T==="teslimat"&&E.varsayilan,fatura:T==="fatura"&&E.varsayilan}:null}function ot(y){y.preventDefault();const E=h.find(A=>A.id===z);if(!E){g(t("Bir adres seç ya da yeni adres ekle."));return}const T=Ue(E);if(!Pt(T.phone)){g(t("SeçtiÄŸin adreste geçerli bir telefon yok. Hesabım > Adreslerim bölümünden telefonu ekle ya da yeni adres gir."));return}ia(ee??null,T,K&&!E.is_default_shipping?{adres:T,ad:"",teslimat:!0,fatura:!1}:null,$e(E),E.id)}function $a(y){if(y.preventDefault(),!O)return;const E=h.find(T=>T.id===ae);if(!E){g(t("Bir fatura adresi seç ya da yeni adres ekle."));return}Ia(O.email,O.ship,Ue(E,$e(E)),O.kayit?[O.kayit]:[],E.id)}async function P(y,E,T){if(ee){g(""),k(!0);try{await Qa(ee,y,{...E,...T?{metadata:{fatura:T}}:{}});const A=await Ta(ee);Ye(A.addresses??[],!1),F(null)}catch(A){g(A instanceof Error?W(A.message):t("Adres güncellenemedi - tekrar dene."))}finally{k(!1)}}}function We(){m(1),se(null),s&&J&&F(J)}async function Se(){if(!be){g(t("Bir kargo yöntemi seç."));return}g(""),k(!0);try{const y=await us(be,ee);c(y),Ie(null);const E=await ms(ee);Ie(E),E.kart.acik?Ve("kart"):E.havale.acik&&Ve("havale"),m(3)}catch(y){g(y instanceof Error?W(y.message):t("Kargo yöntemi eklenemedi - tekrar dene."))}finally{k(!1)}}async function fe(){if(n||!(R&&Y)||!l||!(l.items??[]).length)return;const y=ge;if(!y){g(t("Fatura bilgisi eksik. Fatura adresini düzenle."));return}g(""),k(!0);const E=(l.items??[]).map(T=>({id:T.id,title:T.product_title??T.title,quantity:T.quantity,unit_price:T.unit_price}));try{if(Ee==="havale"){const A=await hs(y,ee);try{localStorage.setItem(Ga,JSON.stringify({id:A.order_id,display_id:A.display_id,email:l.email??ee,total:A.tutar,kargo:ce,items:E,havale:A.havale}))}catch{}xt(),pe("satin_alindi",{siparis_no:A.display_id,tutar:A.tutar,yontem:"havale"}),a("/odeme/sonuc?durum=havale",{replace:!0});return}const T=await ps(y,ee);if(T.durum==="yonlendir"){try{localStorage.setItem(bt,JSON.stringify({cart_id:l.id,total:T.tutar,kart_farki:T.kart_farki,kargo:ce,items:E}))}catch{}pe("odeme_sayfasina_gidildi",{tutar:T.tutar}),window.location.assign(T.url);return}xt(),a("/hesap",{replace:!0})}catch(T){g(T instanceof Error?W(T.message):t("Ödeme baÅŸlatılamadı. Birazdan tekrar dene.")),k(!1)}}const we=e.jsx(he,{title:t("SipariÅŸ - Probot Studio"),description:t("Probot Studio sipariÅŸini güvenle tamamla."),path:"/odeme",noindex:!0});if(n)return e.jsxs(e.Fragment,{children:[we,e.jsxs("section",{className:"account",children:[e.jsx("h1",{children:t("Çok yakında")}),e.jsx("button",{type:"button",className:"btn p",disabled:!0,children:t("Çok yakında")}),e.jsx("div",{className:"row",children:e.jsx(_,{to:"/",className:"btn g",children:t("MaÄŸazaya dön")})})]})]});if(!i||l===void 0)return e.jsxs(e.Fragment,{children:[we,e.jsx("section",{className:"account",children:e.jsx("p",{className:"muted",children:t("Yükleniyor…")})})]});const Ze=l?.items??[],ce=l?.shipping_total??0,Qe=l?.item_total??l?.subtotal??0,Ce=l?.discount_total??0,je=re?.kart.acik?re.kart:null,fa=je?Ca()===void 0?je.oran_metni:In(je.oran,{style:"percent",maximumFractionDigits:2}):"",ye=re?.havale.acik?re.havale:null,Pe=Ee==="kart"&&je?je.fark:0,_e=Ee==="kart"?je?.toplam??null:ye?.toplam??null,ya=!!re&&!je&&!ye,de=X&&h.find(y=>y.id===X)||null,xa=y=>e.jsx("button",{type:"button",className:"linkBtn adrDuzenle",disabled:x,onClick:()=>F(y.id),children:t("Düzenle")});return e.jsxs(e.Fragment,{children:[we,e.jsxs("section",{className:"checkout",children:[e.jsx("h1",{children:t("SipariÅŸ")}),e.jsx(zr,{step:d}),f&&e.jsx("p",{className:"formErr",role:"alert",children:f}),d===1&&de&&e.jsxs("div",{className:"coCard",children:[e.jsx("h2",{children:t("Adresi düzenle")}),e.jsx(qa,{guest:!1,ilk:de,faturaAlani:!0,ilkFatura:$e(de),submitLabel:x?"…":t("DeÄŸiÅŸikliÄŸi kaydet"),onCancel:()=>F(null),onSubmit:(y,E,T,A)=>P(de.id,E,A)},de.id)]}),d===1&&!O&&!de&&e.jsxs("div",{className:"coCard",children:[e.jsx("h2",{children:t("Teslimat bilgileri")}),s?h.length&&!b?e.jsxs("form",{onSubmit:ot,children:[e.jsx("p",{className:"muted small",children:B("Merhaba {name} - kayıtlı adreslerinden seç:",{name:e.jsx("span",{className:"ph-sensitive",children:s.name||s.email})})}),e.jsx("ul",{className:"addrPick",children:h.map(y=>e.jsxs("li",{children:[e.jsxs("label",{className:z===y.id?"on":"",children:[e.jsx("input",{type:"radio",name:"addr",checked:z===y.id,onChange:()=>j(y.id)}),e.jsxs("span",{className:"ph-sensitive",children:[e.jsxs("b",{children:[y.address_name||Sa(y)||t("Adres"),y.is_default_shipping&&e.jsx("span",{className:"adrRozet",children:t("Varsayılan")})]}),e.jsxs("span",{className:"muted small",children:[Sa(y),y.phone?` · ${y.phone}`:""," · ",Ma(y)]}),S&&e.jsx("span",{className:"small adrFatura",children:B("Fatura: {summary}",{summary:e.jsx(Ya,{fatura:$e(y)})})})]})]}),xa(y)]},y.id))}),z&&!h.find(y=>y.id===z)?.is_default_shipping&&e.jsxs("label",{className:"check checkLine",children:[e.jsx("input",{type:"checkbox",checked:K,onChange:y=>G(y.target.checked)}),e.jsx("span",{children:t("Bu adresi varsayılan teslimat adresim yap")})]}),e.jsxs("label",{className:"check checkLine billingChk",children:[e.jsx("input",{type:"checkbox",checked:S,onChange:y=>L(y.target.checked)}),e.jsx("span",{children:t("Fatura adresim teslimat adresimle aynı")})]}),e.jsxs("div",{className:"row",children:[e.jsx("button",{className:"btn p",disabled:x||!z,children:x?"…":S?t("Devam et →"):t("Fatura adresi →")}),e.jsx("button",{type:"button",className:"btn g",onClick:()=>C(!0),children:t("+ Yeni adres")})]})]}):e.jsxs(e.Fragment,{children:[e.jsxs("label",{className:"check checkLine billingChk",children:[e.jsx("input",{type:"checkbox",checked:S,onChange:y=>L(y.target.checked)}),e.jsx("span",{children:t("Fatura adresim teslimat adresimle aynı")})]}),e.jsx(qa,{guest:!1,faturaAlani:S,ilkFatura:h.length?null:V,submitLabel:x?"…":S?t("Devam et →"):t("Fatura adresi →"),onCancel:h.length?()=>C(!1):void 0,kayit:{varsayilanMetni:t("Varsayılan teslimat adresim olsun"),varsayilan:!h.some(y=>y.is_default_shipping)},onSubmit:(y,E,T,A)=>{const $=Ue(E);ia(ee??null,$,ga(Ue(E,A),T,"teslimat"),A)}})]}):e.jsxs(e.Fragment,{children:[e.jsx("p",{className:"muted small",children:B("Üye olmadan devam ediyorsun. Zaten hesabın varsa {link} - adreslerin hazır gelir.",{link:e.jsx(_,{to:"/hesap",children:t("giriÅŸ yap")})})}),e.jsxs("label",{className:"check checkLine billingChk",children:[e.jsx("input",{type:"checkbox",checked:S,onChange:y=>L(y.target.checked)}),e.jsx("span",{children:t("Fatura adresim teslimat adresimle aynı")})]}),e.jsx(qa,{guest:!0,faturaAlani:S,ilk:l?.shipping_address,ilkEmail:l?.email,ilkFatura:S?ge:null,submitLabel:x?"…":S?t("Devam et →"):t("Fatura adresi →"),onSubmit:(y,E,T,A)=>ia(y,Ue(E),null,A)})]})]}),d===1&&O&&!de&&e.jsxs("div",{className:"coCard",children:[e.jsx("h2",{children:t("Fatura adresi")}),s&&h.length>0&&!ne?e.jsxs("form",{onSubmit:$a,children:[e.jsx("p",{className:"muted small",children:t("Faturanın düzenleneceÄŸi adresi seç:")}),e.jsx("ul",{className:"addrPick",children:h.map(y=>e.jsxs("li",{children:[e.jsxs("label",{className:ae===y.id?"on":"",children:[e.jsx("input",{type:"radio",name:"bill",checked:ae===y.id,onChange:()=>te(y.id)}),e.jsxs("span",{className:"ph-sensitive",children:[e.jsxs("b",{children:[y.address_name||Sa(y)||t("Adres"),y.is_default_billing&&e.jsx("span",{className:"adrRozet",children:t("Varsayılan fatura")})]}),e.jsxs("span",{className:"muted small",children:[Sa(y)," · ",Ma(y)]}),e.jsx("span",{className:"small adrFatura",children:B("Fatura: {summary}",{summary:e.jsx(Ya,{fatura:$e(y)})})})]})]}),xa(y)]},y.id))}),e.jsxs("div",{className:"row",children:[e.jsx("button",{className:"btn p",disabled:x||!ae,children:x?"…":t("Devam et →")}),e.jsx("button",{type:"button",className:"btn g",onClick:()=>M(!0),children:t("+ Yeni fatura adresi")}),e.jsx("button",{type:"button",className:"btn g",onClick:()=>se(null),children:t("↠Teslimat")})]})]}):e.jsxs(e.Fragment,{children:[e.jsx("p",{className:"muted small",children:t("Teslimat adresinden farklı fatura adresini gir.")}),e.jsx(qa,{guest:!1,faturaAlani:!0,ilk:s?null:l?.billing_address,ilkFatura:s?h.length?null:V:ge,submitLabel:x?"…":t("Devam et →"),onCancel:()=>h.length&&ne?M(!1):se(null),kayit:s?{varsayilanMetni:t("Varsayılan fatura adresim olsun"),varsayilan:!h.some(y=>y.is_default_billing)}:void 0,onSubmit:(y,E,T,A)=>{const $=Ue(E,A),ve=[O.kayit,ga($,T,"fatura")].filter(xe=>!!xe);Ia(O.email,O.ship,$,ve)}})]})]}),d===2&&e.jsxs("div",{className:"coCard",children:[e.jsx("h2",{children:t("Kargo yöntemi")}),ie===null?e.jsx("p",{className:"muted",children:t("Kargo seçenekleri yükleniyor…")}):ie.length===0?e.jsx("p",{className:"formErr",children:t("Bu adres için kargo seçeneÄŸi bulunamadı. destek@probotstudio.com")}):e.jsx("ul",{className:"shipList",children:ie.map(y=>e.jsx("li",{children:e.jsxs("label",{className:be===y.id?"on":"",children:[e.jsx("input",{type:"radio",name:"ship",checked:be===y.id,onChange:()=>N(y.id)}),e.jsx("span",{className:"shipName",children:Sr(y.name)}),e.jsx("span",{className:"shipAmt",children:y.amount>0?I(y.amount):t("Ücretsiz")})]})},y.id))}),e.jsxs("div",{className:"row",children:[e.jsx("button",{className:"btn p",disabled:x||!be,onClick:Se,children:x?"…":t("Devam et →")}),e.jsx("button",{type:"button",className:"btn g",onClick:()=>m(1),children:t("↠Adres")})]})]}),d===3&&e.jsxs("div",{className:"coCard",children:[e.jsx("h2",{children:t("SipariÅŸ özeti")}),e.jsx("ul",{className:"coSummary",children:Ze.map(y=>e.jsxs("li",{children:[e.jsxs("span",{className:"coSumName",children:[Ne(y.product_title??y.title)," ",e.jsxs("span",{className:"muted",children:["× ",y.quantity]})]}),e.jsx("span",{className:"coSumAmt",children:I(y.unit_price*y.quantity)})]},y.id))}),e.jsxs("dl",{className:"coTotals",children:[e.jsxs("div",{children:[e.jsx("dt",{children:t("Ara toplam")}),e.jsx("dd",{children:I(Qe)})]}),Ce>0&&e.jsxs("div",{className:"coDisc",children:[e.jsx("dt",{children:t("İndirim")}),e.jsxs("dd",{children:["-",I(Ce)]})]}),e.jsxs("div",{children:[e.jsx("dt",{children:t("Kargo")}),e.jsx("dd",{children:ce>0?I(ce):t("Ücretsiz")})]}),Pe>0&&je&&e.jsxs("div",{"data-testid":"kart-farki-satiri",children:[e.jsx("dt",{children:t("Kart ödeme farkı ({rate})",{rate:fa})}),e.jsx("dd",{children:I(Pe)})]}),e.jsxs("div",{className:"coGrand",children:[e.jsx("dt",{children:t("Genel toplam")}),e.jsx("dd",{"data-testid":"genel-toplam",children:_e===null?"…":I(_e)})]})]}),l?.shipping_address&&e.jsxs("div",{className:"coAddrBox",children:[e.jsx("b",{children:t("Teslimat")}),e.jsxs("span",{className:"muted small ph-sensitive",children:[Sa(l.shipping_address),l.shipping_address.phone?` · ${l.shipping_address.phone}`:""]}),e.jsx("span",{className:"muted small ph-sensitive",children:Ma(l.shipping_address)}),e.jsx("button",{type:"button",className:"linkBtn",onClick:()=>m(1),children:t("Adresi deÄŸiÅŸtir")})]}),e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"coAddrBox","data-testid":"fatura-ozet",children:[e.jsx("b",{children:t("Fatura")}),e.jsx("span",{className:"small ph-sensitive",children:ge?e.jsx(Ya,{fatura:ge,adGoster:!0}):t("Fatura bilgisi eksik.")}),l?.billing_address&&e.jsx("span",{className:"muted small ph-sensitive",children:Ma(l.billing_address)}),e.jsx("button",{type:"button",className:"linkBtn",onClick:We,children:t("Fatura bilgisini düzenle")})]}),e.jsxs("div",{className:"coPay",children:[e.jsx("b",{children:t("Ödeme yöntemi")}),re?ya?e.jsx("p",{className:"formErr",children:t("Åžu an çevrimiçi ödeme alamıyoruz. destek@probotstudio.com")}):e.jsxs("ul",{className:"shipList odemeYontem",children:[je&&e.jsx("li",{children:e.jsxs("label",{className:Ee==="kart"?"on":"",children:[e.jsx("input",{type:"radio",name:"yontem",value:"kart",checked:Ee==="kart",onChange:()=>Ve("kart")}),e.jsxs("span",{className:"shipName",children:[t("Kredi ya da banka kartı"),e.jsx("span",{className:"muted small",children:t("Tek çekim. Kartla ödemede ödeme kuruluÅŸunun iÅŸlem bedeli olarak {rate} kart ödeme farkı ({fee}) eklenir. Kart bilgilerini Paratika'nın güvenli ödeme sayfasında girersin; kart bilgin bize ulaÅŸmaz.",{rate:fa,fee:I(je.fark)})})]}),e.jsx("span",{className:"shipAmt",children:I(je.toplam)})]})}),ye&&e.jsx("li",{children:e.jsxs("label",{className:Ee==="havale"?"on":"",children:[e.jsx("input",{type:"radio",name:"yontem",value:"havale",checked:Ee==="havale",onChange:()=>Ve("havale")}),e.jsxs("span",{className:"shipName",children:[t("Havale / EFT"),e.jsx("span",{className:"muted small",children:ze("Ek ücret yok. SipariÅŸin hemen oluÅŸur; IBAN ve açıklama bir sonraki sayfada ve e-postanda. {n} gün içinde ödeme gelmezse sipariÅŸ iptal edilir. Ödeme hesabımıza geçince sipariÅŸini hazırlamaya baÅŸlarız.",ye.iptal_gun)})]}),e.jsx("span",{className:"shipAmt",children:I(ye.toplam)})]})})]}):e.jsx("p",{className:"muted small",children:t("Ödeme seçenekleri yükleniyor…")})]})]}),e.jsxs("div",{className:"coConsent",children:[e.jsxs("label",{className:"check",children:[e.jsx("input",{type:"checkbox",checked:R,onChange:y=>D(y.target.checked)}),e.jsx("span",{children:B("{link}'ni okudum ve onaylıyorum.",{link:e.jsx(_,{to:"/yasal/mesafeli-satis-sozlesmesi",target:"_blank",rel:"noopener",children:t("Mesafeli Satış SözleÅŸmesi")})})})]}),e.jsxs("label",{className:"check",children:[e.jsx("input",{type:"checkbox",checked:Y,onChange:y=>Q(y.target.checked)}),e.jsx("span",{children:B("{link}'nu okudum ve onaylıyorum.",{link:e.jsx(_,{to:"/yasal/on-bilgilendirme-formu",target:"_blank",rel:"noopener",children:t("Ön Bilgilendirme Formu")})})})]})]}),e.jsxs("div",{className:"row",children:[e.jsx("button",{className:"btn p coPayBtn",disabled:x||!(R&&Y)||_e===null||ya,onClick:fe,title:R&&Y?"":t("SözleÅŸmeleri onayla"),"data-testid":"odeme-tusu",children:Ee==="havale"?x?t("SipariÅŸ oluÅŸturuluyor…"):t("SipariÅŸi tamamla {amount}",{amount:_e===null?"":I(_e)}):x?t("Ödeme sayfası açılıyor…"):t("Kartla öde {amount}",{amount:_e===null?"":I(_e)})}),e.jsx("button",{type:"button",className:"btn g",onClick:()=>m(2),children:t("↠Kargo")})]})]})]})]})}const _r=45e3;function pt(a){try{const n=localStorage.getItem(a);return n?JSON.parse(n):null}catch{return null}}function xn({o:a,toplamEtiketi:n}){const i=a.items??[];return e.jsxs(e.Fragment,{children:[i.length>0&&e.jsxs("ul",{className:"coSummary orderSummary",children:[i.map(r=>e.jsxs("li",{children:[e.jsxs("span",{className:"coSumName",children:[Ne(r.title)," ",e.jsxs("span",{className:"muted",children:["× ",r.quantity]})]}),typeof r.unit_price=="number"&&e.jsx("span",{className:"coSumAmt",children:I(r.unit_price*r.quantity)})]},r.id)),typeof a.kargo=="number"&&e.jsxs("li",{children:[e.jsx("span",{className:"coSumName",children:t("Kargo")}),e.jsx("span",{className:"coSumAmt",children:a.kargo>0?I(a.kargo):t("Ücretsiz")})]}),typeof a.kart_farki=="number"&&a.kart_farki>0&&e.jsxs("li",{children:[e.jsx("span",{className:"coSumName",children:t("Kart ödeme farkı")}),e.jsx("span",{className:"coSumAmt",children:I(a.kart_farki)})]})]}),typeof a.total=="number"&&e.jsxs("p",{className:"coGrandLine","data-testid":"sonuc-tutar",children:[n," ",e.jsx("b",{children:I(a.total)})]})]})}function Ar(){const a=He(),[n]=Ge(),[i,r]=u.useState({s:"checking"}),s=u.useRef(!1),o=e.jsx(he,{title:t("SipariÅŸ sonucu - Probot Studio"),description:t("Ödeme sonucu ve sipariÅŸ özeti."),path:"/odeme/sonuc",noindex:!0});if(u.useEffect(()=>{if(a||s.current)return;s.current=!0;let c=!0;const d=(m,f)=>{localStorage.setItem(Ga,JSON.stringify(m)),(!f||ht()===f)&&xt(),localStorage.removeItem(bt),pe("satin_alindi",{siparis_no:m.display_id,tutar:m.total}),r({s:"ok",order:m})};return(async()=>{const m=n.get("ref")??"",f=n.get("durum");if(f==="hata"){const x=n.get("mesaj");r({s:"fail",message:t("Ödeme onaylanmadı{reason}. Kartından para çekilmedi; sepetin duruyor, tekrar deneyebilirsin.",{reason:x?` (${x})`:""})});return}if(f==="havale"){const x=pt(Ga);x?.havale?r({s:"havale",order:x}):r({s:"fail",message:t("SipariÅŸ bilgisi bu cihazda bulunamadı. SipariÅŸin oluÅŸtuysa ödeme bilgileri SipariÅŸlerim bölümünde ve e-postanda.")});return}if(/^payses_[A-Za-z0-9]+$/.test(m)){const x=pt(bt)??{},k=Date.now()+_r;for(;c&&Date.now()<k;){try{const h=await ks(m);if(h.durum==="tamamlandi"){d({id:h.order_id,display_id:h.display_id??0,total:typeof h.tutar=="number"?h.tutar:x.total,kart_farki:x.kart_farki,kargo:x.kargo,items:x.items},h.cart_id);return}if(h.durum==="hata"){r({s:"fail",message:t("Ödemen bankadan onay almadı. Sepetin duruyor; dilersen tekrar dene.")});return}if(h.durum==="yok")break}catch{}await new Promise(h=>setTimeout(h,2e3))}c&&r({s:"pending"});return}const g=pt(Ga);if(g&&!ht()){r(g.havale?{s:"havale",order:g}:{s:"ok",order:g});return}r({s:"fail",message:t("Ödeme oturumu bulunamadı. SipariÅŸin oluÅŸtuysa SipariÅŸlerim bölümünde görürsün; oluÅŸmadıysa sepetin korunur.")})})(),()=>{c=!1}},[n,a]),a)return e.jsxs(e.Fragment,{children:[o,e.jsxs("section",{className:"account",children:[e.jsx("h1",{children:t("Çok yakında")}),e.jsx(_,{to:"/",className:"btn g",children:t("MaÄŸazaya dön")})]})]});if(i.s==="checking")return e.jsxs(e.Fragment,{children:[o,e.jsxs("section",{className:"account",children:[e.jsx("h1",{children:t("Ödeme kontrol ediliyor…")}),e.jsx("p",{className:"muted",children:t("Bankadan dönüşün doÄŸrulanıyor, lütfen bekle. Bu sayfayı kapatma.")})]})]});if(i.s==="pending")return e.jsxs(e.Fragment,{children:[o,e.jsxs("section",{className:"account","data-testid":"sonuc-bekliyor",children:[e.jsx("h1",{children:t("Ödemen iÅŸleniyor")}),e.jsx("p",{className:"muted",children:t("Bankadan onay henüz gelmedi. Ödemen onaylandıysa sipariÅŸin birkaç dakika içinde oluÅŸur ve onay e-postası gelir; Hesabım'daki SipariÅŸlerim bölümünde de görünür. Tekrar ödeme yapma.")}),e.jsxs("div",{className:"row",children:[e.jsx(_,{to:"/hesap",className:"btn p",children:t("SipariÅŸlerim")}),e.jsx(_,{to:"/sepet",className:"btn g",children:t("Sepete dön")})]})]})]});if(i.s==="fail"){const c=!!ht();return e.jsxs(e.Fragment,{children:[o,e.jsxs("section",{className:"account","data-testid":"sonuc-hata",children:[e.jsx("h1",{children:B("Ödeme {hl}",{hl:e.jsx("span",{className:"hl",children:t("tamamlanamadı")})})}),e.jsx("p",{className:"muted",children:i.message}),e.jsx("p",{className:"muted small",children:t("Kartından çekim yapıldıysa ve sipariÅŸ görünmüyorsa endiÅŸelenme: onaylanan ödeme birkaç dakika içinde sipariÅŸe dönüşür, sipariÅŸe dönüşmeyen tutar iade edilir. Sorun için destek@probotstudio.com.")}),e.jsxs("div",{className:"row",children:[c&&e.jsx(_,{to:"/odeme",className:"btn p","data-testid":"tekrar-dene",children:t("Tekrar dene →")}),e.jsx(_,{to:"/sepet",className:c?"btn g":"btn p",children:t("Sepete dön")}),e.jsx(_,{to:"/hesap",className:"btn g",children:t("SipariÅŸlerim")})]})]})]})}const l=i.order;return i.s==="havale"&&l.havale?e.jsxs(e.Fragment,{children:[o,e.jsxs("section",{className:"account","data-testid":"sonuc-havale",children:[e.jsx("h1",{children:B("SipariÅŸin {hl}",{hl:e.jsx("span",{className:"hl",children:t("ödeme bekliyor")})})}),e.jsx("p",{className:"muted",children:B("SipariÅŸ numaran {orderNo}. AÅŸağıdaki hesaba havale ya da EFT yapınca sipariÅŸini hazırlamaya baÅŸlarız. Bu bilgiler e-postana da gönderildi ve Hesabım'daki SipariÅŸlerim bölümünde duruyor.",{orderNo:e.jsxs("b",{className:"mono",children:["#",l.display_id]})})}),e.jsx(Zn,{t:l.havale,tutar:l.total??0}),e.jsx(xn,{o:l,toplamEtiketi:t("Ödenecek tutar")}),e.jsx("p",{className:"muted small",children:t("Ödemen hesabımıza geçince onay e-postası gelir; ardından sipariÅŸini atölyede hazırlayıp kargoya veririz.")}),e.jsxs("div",{className:"row",children:[e.jsx(_,{to:"/hesap",className:"btn p",children:t("SipariÅŸlerim →")}),e.jsx(_,{to:"/urunler",className:"btn g",children:t("AlışveriÅŸe devam")})]})]})]}):e.jsxs(e.Fragment,{children:[o,e.jsxs("section",{className:"account","data-testid":"sonuc-ok",children:[e.jsx("h1",{children:B("SipariÅŸin {hl}",{hl:e.jsx("span",{className:"hl",children:t("alındı")})})}),e.jsx("p",{className:"muted",children:l.email?B("TeÅŸekkürler! SipariÅŸ numaran {orderNo}. Onay e-postası {email} adresine gönderildi.",{orderNo:e.jsxs("b",{className:"mono",children:["#",l.display_id]}),email:e.jsx("b",{children:l.email})}):B("TeÅŸekkürler! SipariÅŸ numaran {orderNo}. Onay e-postası gönderildi.",{orderNo:e.jsxs("b",{className:"mono",children:["#",l.display_id]})})}),e.jsx(xn,{o:l,toplamEtiketi:t("Ödenen tutar")}),e.jsx("p",{className:"muted small",children:t("SipariÅŸini atölyede hazırlayıp kargoya verince e-posta ile takip numarası göndereceÄŸiz.")}),e.jsxs("div",{className:"row",children:[e.jsx(_,{to:"/hesap",className:"btn p",children:t("SipariÅŸlerim →")}),e.jsx(_,{to:"/takip",className:"btn g",children:t("Kargo takibi")}),e.jsx(_,{to:"/urunler",className:"btn g",children:t("AlışveriÅŸe devam")})]})]})]})}const Tr=new Set(["altigen-gobek-7mm","altigen-mil","baglanti-aparati","civata","disli","ftc-biobuzz-starter-bot","ftc-motor-adaptor","kaucuk-tahrik-teker-100","kayis","mil-bilezigi","omni-sase","omni-teker-100","rulman","somun","structure"]),Er=/\((PRB-[A-Z0-9][A-Z0-9\-/.]*)\)/;function Cr(a,n){const i=Er.exec(a),r=i?n[i[1]]:void 0;if(!i||!r)return a;const s=a.slice(0,i.index).trimEnd(),o=a.slice(i.index);return s?e.jsxs(e.Fragment,{children:[e.jsx(_,{to:`/urun/${r}?sku=${encodeURIComponent(i[1])}`,children:s})," ",o]}):a}function Pr(a){const n=[];for(const i of a.split(`
`)){const r=i.trim();if(!r){n[n.length-1]?.kind==="para"&&n.push({kind:"para",lines:[]});continue}const s=/^\*\*(.+)\*\*$/.exec(r);if(s){n.push({kind:"head",text:s[1].trim()});continue}if(r.startsWith("!! ")){n.push({kind:"uyari",text:r.slice(3).trim()});continue}if(r.startsWith("- ")||r.startsWith("• ")){const l=r.replace(/^(-|•)\s*/,""),c=n[n.length-1];c?.kind==="list"?c.items.push(l):n.push({kind:"list",items:[l]});continue}const o=n[n.length-1];o?.kind==="para"?o.lines.push(r):n.push({kind:"para",lines:[r]})}return n.filter(i=>i.kind==="para"?i.lines.length>0:!0)}function ii({note:a,skuHandles:n}){const i=Pr(a);return e.jsx(e.Fragment,{children:i.map((r,s)=>e.jsxs(u.Fragment,{children:[r.kind==="head"&&e.jsx("p",{className:"notHead",children:r.text}),r.kind==="uyari"&&e.jsx("p",{className:"notUyari",children:r.text}),r.kind==="list"&&e.jsx("ul",{className:"notListe muted small",children:r.items.map((o,l)=>e.jsx("li",{children:Cr(o,n)},l))}),r.kind==="para"&&e.jsx("p",{className:"muted small",children:r.lines.join(" ")})]},s))})}function Br({urun:a,secili:n,degisti:i,fiyatGizli:r,skuHandles:s}){const o=Aa(a)[0];if(!o)return null;const l=Va(o),c=Hn(o),m=(Array.isArray(a.metadata?.variant_notes)?a.metadata.variant_notes:[]).find(g=>g?.title===o.title)?.note??null,f=le(a.title);return e.jsxs("div",{className:`urunEklenti${l?" yok":""}`,children:[e.jsxs("label",{className:"urunEklenti-sec",children:[e.jsx("input",{type:"checkbox",checked:n&&!l,disabled:l,onChange:g=>i(g.target.checked)}),e.jsxs("span",{className:"urunEklenti-ad",children:[e.jsx("b",{children:t("{ad} ekle",{ad:f})}),l?e.jsx("span",{className:"urunEklenti-durum",children:t("Stokta yok")}):null]}),!r&&c!==null&&e.jsxs("span",{className:"urunEklenti-fiyat",children:["+",I(c)]})]}),a.description&&e.jsx("p",{className:"muted small",children:le(a.description)}),m&&e.jsxs("details",{className:"urunEklenti-icerik",children:[e.jsx("summary",{children:t("Paketin içeriği")}),e.jsx("div",{className:"variantNote",children:e.jsx(ii,{note:le(m),skuHandles:s})})]})]})}const Rr=[{egitim:"starter-bot",ad:"Probot Starter Bot Eğitimi",yol:"/egitim/starter-bot/",kit:"ftc-biobuzz-starter-bot",kitAd:"Starter Bot kiti"}],Fr={egitimler:Rr},Rt=a=>Fr.egitimler.find(n=>n.kit===a);let bn=null;function Lr(a){return bn??=fetch("/egitim/urun-dersleri.json",{credentials:"same-origin"}).then(n=>n.ok?n.json():{urunler:{}}).then(n=>n.urunler??{}).catch(()=>({})),bn.then(n=>n[a]??[])}function Ir({handle:a}){const[n,i]=u.useState([]);if(u.useEffect(()=>{let s=!0;return i([]),Rt(a)||Lr(a).then(o=>{s&&i(o)}),()=>{s=!1}},[a]),!n.length)return null;const r=[...new Set(n.map(s=>s.egitim).filter(Boolean))];return e.jsxs("div",{className:"pdp-dok pdp-egitimde",children:[e.jsxs("h2",{children:[t("Eğitimde"),r.length===1&&e.jsxs("span",{children:[" · ",r[0]]})]}),e.jsx("ul",{children:n.map(s=>e.jsx("li",{children:e.jsx("a",{href:s.yol,children:s.baslik})},s.yol))})]})}function $r({handle:a}){const n=Rt(a);return n?e.jsxs("div",{className:"pdp-learn",children:[e.jsx("h2",{children:t("Bu kitle gelen eğitim")}),e.jsx("p",{children:B("{kurs}'nde bu robotu görev görev toplayıp Blocks ya da OnBot Java ile programlıyorsun. Türkçe ve ücretsiz.",{kurs:e.jsx("a",{href:n.yol,children:n.ad})})}),e.jsx("a",{className:"btn g",href:n.yol,children:t("Eğitime git →")}),e.jsx("p",{className:"muted small",children:B("Öğretmen ya da mentörsen kit kutusundaki karttaki kodu {link} sayfasında gir. Sınıfın açılır, öğrencilerine katılım kodunu verirsin.",{link:e.jsx("a",{href:tt("/egitim/etkinlestir/"),children:t("Kit etkinleştir")})})})]}):null}const Kr=new Set(["ftc-biobuzz-starter-bot"]),Dr={get siyah(){return t("Siyah")},get gri(){return t("Gri")},get beyaz(){return t("Beyaz")},get mavi(){return t("Mavi")},get mor(){return t("Mor")},get koyu_yesil(){return t("Koyu yeşil")},get parlak_yesil(){return t("Parlak yeşil")},get kirmizi(){return t("Kırmızı")},get turuncu(){return t("Turuncu")}};function jn({n:a}){return e.jsxs("span",{className:"stars",children:["★".repeat(Math.round(a)),"☆".repeat(5-Math.round(a))]})}const vn="https://schema.org/NewCondition",Or="Probot kullanıcısı";function Mr(a,n){const i=n.kit_status==="on-talep";return a?.manage_inventory?(a.inventory_quantity??0)>0?"https://schema.org/InStock":a.allow_backorder?"https://schema.org/BackOrder":"https://schema.org/OutOfStock":i?"https://schema.org/PreOrder":void 0}const qr=1e4;function Hr(a,n){return{"@type":"OfferShippingDetails",shippingDestination:{"@type":"DefinedRegion",addressCountry:"TR"},shippingRate:{"@type":"MonetaryAmount",value:a>=qr?0:200,currency:"TRY"},...n?{}:{deliveryTime:{"@type":"ShippingDeliveryTime",handlingTime:{"@type":"QuantitativeValue",minValue:1,maxValue:2,unitCode:"DAY"}}}}}const Gr={"@type":"MerchantReturnPolicy",applicableCountry:"TR",returnPolicyCategory:"https://schema.org/MerchantReturnFiniteReturnWindow",merchantReturnDays:14,returnMethod:"https://schema.org/ReturnByMail",merchantReturnLink:da("/yasal/teslimat-iade"),returnFees:"https://schema.org/FreeReturn"};function Vr(){const{handle:a=""}=pa(),[n]=Ge(),i=n.get("sku")??"",r=He(),[s,o]=u.useState(void 0),[l,c]=u.useState(null),[d,m]=u.useState(!1),[f,g]=u.useState(null),[x,k]=u.useState([]),[h,v]=u.useState(!1),[z,j]=u.useState(null),[b,C]=u.useState(!1),[S,L]=u.useState(1),[K,G]=u.useState(0),[O,se]=u.useState(""),ae=u.useRef(null),te=u.useRef(null);u.useEffect(()=>(ae.current=null,se(""),C(!1),()=>{te.current!==null&&clearTimeout(te.current)}),[a,K,S]);const[ne,M]=u.useState(!1),[X,F]=u.useState(!1),[V,ue]=u.useState(""),[ge,Te]=u.useState(""),[J,U]=u.useState(!1),[ie,Re]=u.useState(!1),[be,N]=u.useState(""),[R,D]=u.useState(""),[Y,Q]=u.useState(null),[re,Ie]=u.useState(!1),[Ee,Ve]=u.useState(!1),[ee,Ye]=u.useState(!1),[lt,$e]=u.useState(0),[Ue,Ht]=u.useState(null),[Ia,ia]=u.useState(!1);u.useEffect(()=>{},[]);const[ga,ot]=u.useState({});if(u.useEffect(()=>{Ye(!1),$e(0),ia(!1)},[K]),u.useEffect(()=>{let p=!0;return ha().then(w=>{if(!p)return;const Z={};for(const Ae of w)for(const Be of Ae.variants??[])Be.sku&&(Z[Be.sku]=Ae.handle);ot(Z)}).catch(()=>null),()=>{p=!1}},[]),u.useEffect(()=>{o(void 0),c(null),m(!1),v(!1),g(null),k([]),D(""),Q(null),Re(!1),N(""),ue(""),Te(""),G(0),Ye(!1),$e(0),gs(a).then(p=>{if(o(p),p){if(i){const w=Aa(p).findIndex(Z=>Z.sku===i);w>0&&G(w)}pe("urun_goruntulendi",{product_id:p.id,handle:p.handle,grup:cn(p),fiyat:r?null:Le(p)}),Na(p.id).then(g).catch(()=>null),fs(p.handle).then(w=>c(w[0]??null)).catch(()=>null),ys(p,Wa(cn(p)??"")?.ilgili??[]).then(k).catch(()=>k([]))}Za().then(async w=>{const Z=w?.user??null;j(Z),Z&&p&&(Kn(Z.email).then(Ae=>M(Ae.includes(p.id))).catch(()=>null),$n(Z.email).then(Ae=>F(Ae.some(Be=>Be.product_id===p.id))).catch(()=>null))}).catch(()=>{j(null),v(!0)})})},[a,r,i]),u.useEffect(()=>{!z||!s||Na(s.id,z.email).then(g).catch(()=>null)},[z,s?.id]),s===void 0)return e.jsxs(e.Fragment,{children:[e.jsx(he,{title:t("Ürün - Probot Studio"),description:t("Probot Studio mağazasında robotik kit ve parçaları incele."),path:`/urun/${a}`}),e.jsx("section",{className:"account",children:e.jsx("p",{className:"muted",children:t("Yükleniyor…")})})]});if(s===null)return e.jsxs(e.Fragment,{children:[e.jsx(he,{title:t("Ürün bulunamadı - Probot Studio"),description:t("Aradığın ürün Probot Studio mağazasında bulunamadı."),path:`/urun/${a}`,noindex:!0}),e.jsxs("section",{className:"account",children:[e.jsx("h1",{children:t("Ürün bulunamadı")}),e.jsx(_,{className:"btn g",to:"/",children:t("Mağazaya dön")})]})]});const $a=xs(s);if($a)return e.jsx(ca,{to:`/urun/${$a}`,replace:!0});const P=s.metadata??{},We=la(P),Se=Aa(s),fe=Se[Math.min(K,Math.max(Se.length-1,0))],we=Hn(fe),Ze=we!==null||Le(s)!==null,ce=Va(fe),Qe=(s.options??[]).length>1?s.options:[],Ce=(p,w)=>p?.options?.find(Z=>Z.option_id===w)?.value??"";function je(p,w){const Z=Se.filter(Be=>Ce(Be,p)===w),Ae=Z.find(Be=>Qe.every(sa=>sa.id===p||Ce(Be,sa.id)===Ce(fe,sa.id)))??Z[0];Ae&&fa(Se.indexOf(Ae),p)}function fa(p,w){const Z=Se[p];!Z||p===K||(G(p),pe("varyant_secildi",{product_id:s.id,variant_id:Z.id,sku:Z.sku??null,option_id:w}))}const ye=fe?.sku??"",Pe=Bt(s,ye),_e=p=>Array.isArray(p)?p.filter(w=>typeof w=="string"&&!!w):[],ya=P.variant_drawings&&typeof P.variant_drawings=="object"?_e(P.variant_drawings[ye]):[],de=ya.length?ya:_e(P.drawings),xa=p=>p.replace(/\.pdf$/i,".png"),y=P.variant_guides&&typeof P.variant_guides=="object"?P.variant_guides[ye]:void 0,E=typeof y=="string"&&y?y:"",T=P.variant_gallery&&typeof P.variant_gallery=="object"?_e(P.variant_gallery[ye]):[],A=T.length?T:_e(P.gallery),$=Math.min(lt,A.length+de.length),ve=null,xe=p=>{ia(!1),$e(p)},Ka=de.length>0||!!E,ct=fe?.id,Gt=(Array.isArray(P.variant_notes)?P.variant_notes:[]).find(p=>p.title===fe?.title)?.note??null,Ke=P.kind==="kit",Da=Kr.has(a??""),dt=Da&&Array.isArray(P.about)?P.about.filter(p=>typeof p=="string"):[],ba=Da&&Array.isArray(P.faq)?P.faq.filter(p=>typeof p?.q=="string"&&typeof p?.a=="string"):[],Vt=Array.isArray(P.specs)?P.specs.filter(p=>typeof p?.k=="string"&&typeof p?.v=="string"):[],Yt=P.kit_status==="basvuru",vi=s.categories?.[0]?.name,Oa=typeof P.marka_ad=="string"&&P.marka_ad?P.marka_ad:null,ja=Bn(s),Ut=typeof P.kaynak_url=="string"&&/^https:\/\//.test(P.kaynak_url)?P.kaynak_url:null,Ni=typeof P.aciklama_tam=="string"&&P.aciklama_tam.trim()?P.aciklama_tam:s.description??"",zi=vt(s.description||`${s.title} Probot Studio mağazasında.`),Si=vt(s.description?le(s.description):t("{title} Probot Studio mağazasında.",{title:Ne(s.title)})),Wt=`/urun/${s.handle}`,Zt=s.thumbnail||jt,wi=nt(Zt),_i=Tr.has(s.handle)?`/shop/og/${s.handle}.jpg`:Zt,Qt=da(Wt),va=bs(s)??[{title:vi||"Tüm ürünler",yol:"/urunler"}],Ai=va[va.length-1].title,Jt={"@context":"https://schema.org","@type":"Product",name:s.title,description:zi,image:[wi],sku:ye||void 0,mpn:Oa?void 0:ye||void 0,itemCondition:vn,brand:{"@type":"Brand",name:Oa||"Probot Studio"},category:Ai,offers:!r&&we?{"@type":"Offer",price:we,priceCurrency:"TRY",url:Qt,sku:ye||void 0,itemCondition:vn,availability:Mr(fe,P),hasMerchantReturnPolicy:Gr,shippingDetails:Hr(we,Ke),seller:{"@type":"Organization",name:"Probot Studio"}}:void 0,aggregateRating:f&&f.count>0&&f.average?{"@type":"AggregateRating",ratingValue:f.average,reviewCount:f.count}:void 0},Xt=ba.length?{"@context":"https://schema.org","@type":"FAQPage",mainEntity:ba.map(p=>({"@type":"Question",name:p.q,acceptedAnswer:{"@type":"Answer",text:p.a}}))}:null,en={"@context":"https://schema.org","@type":"BreadcrumbList",itemListElement:[{"@type":"ListItem",position:1,name:"Mağaza",item:da("/")},...va.map((p,w)=>({"@type":"ListItem",position:w+2,name:p.title,item:da(p.yol)})),{"@type":"ListItem",position:va.length+2,name:s.title,item:Qt}]},ut=f?.reviews.find(p=>p.is_mine)??null;async function Ti(){if(!(!ct||ce)){Ve(!0);try{se(""),ae.current??=crypto.randomUUID();const p=d&&l?Aa(l)[0]:null,w=p&&!Va(p)?p:null;await vs([{variant_id:ct,quantity:S},...w?[{variant_id:w.id,quantity:S}]:[]],ae.current),ae.current=null,pe("sepete_eklendi",{product_id:s.id,variant_id:ct,sku:fe?.sku??null,adet:S,tutar:!r&&we!==null?we*S:null,...w?{eklenti_sku:w.sku??null}:{}}),C(!0),te.current!==null&&clearTimeout(te.current),te.current=setTimeout(()=>C(!1),2500)}catch(p){p?.status===400&&fe?.manage_inventory&&!fe.allow_backorder?(ae.current=null,se(S>1?t("Bu seçenekten stokta istediğin kadar yok. Adedi azaltıp tekrar dene."):t("Bu seçenek stokta kalmadı, sepete eklenemedi."))):se(t("Sepete ekleme tamamlanamadı. Mevcut sepetin korunuyor; tekrar dene."))}finally{Ve(!1)}}}const mt=p=>Math.max(1,Math.min(99,Math.round(p)||1));async function Ei(p){p.preventDefault(),N(""),U(!0);try{await Ns(s.id,V.trim(),ge),Re(!0),pe("stok_alarmi_kuruldu",{product_id:s.id,misafir:!0})}catch{N(t("Kaydedilemedi - e-postanı kontrol edip tekrar dene."))}finally{U(!1)}}async function Ci(p){if(p.preventDefault(),!z)return;const w=new FormData(p.currentTarget);D(""),Ie(!0);try{await zs(s.id,z.email,Number(w.get("rating")),String(w.get("content")));const Z=await Na(s.id,z.email);g(Z),p.target.reset()}catch(Z){D(kt(Z,t("Yorum gönderilemedi - tekrar dene.")))}finally{Ie(!1)}}async function Pi(p){if(p.preventDefault(),!(!z||!Y)){D(""),Ie(!0);try{await Ss(s.id,z.email,Y.rating,Y.content),g(await Na(s.id,z.email)),Q(null)}catch(w){D(kt(w,t("Yorum güncellenemedi - tekrar dene.")))}finally{Ie(!1)}}}async function Bi(){if(z){D(""),Ie(!0);try{await ws(s.id,z.email),g(await Na(s.id,z.email)),Q(null)}catch(p){D(kt(p,t("Yorum silinemedi - tekrar dene.")))}finally{Ie(!1)}}}return e.jsxs(e.Fragment,{children:[e.jsx(he,{title:`${s.title} - Probot Studio`,description:Si,path:Wt,image:_i,type:"product",jsonLd:Xt?[Jt,en,Xt]:[Jt,en]}),e.jsxs("nav",{className:"crumbs",children:[e.jsx(_,{to:"/",children:t("Mağaza")})," ",e.jsx("span",{children:"›"})," ",va.map(p=>e.jsxs("span",{className:"katCrumb",children:[e.jsx(_,{to:p.yol,children:me(p.title)})," ",e.jsx("span",{children:"›"})]},p.yol))," ",e.jsx("b",{children:Ne(s.title)})]}),e.jsxs("section",{className:"pdp",children:[e.jsxs("div",{className:"pdp-media",children:[$>A.length?e.jsxs(e.Fragment,{children:[e.jsx("img",{className:"cizimGorsel",src:xa(de[$-A.length-1]),alt:t("{title} teknik çizim",{title:Ne(s.title)})}),e.jsx("small",{className:"muted",children:de.length>1?t("Teknik çizim {n}",{n:$-A.length}):t("Teknik çizim")})]}):$>0?e.jsx("img",{src:A[$-1],alt:t("{title}, görsel {n}",{title:Ne(s.title),n:$+1})}):Pe.src&&!ee?e.jsx("img",{src:Pe.src,alt:Pe.example?t("{title}: {label}",{title:Ne(s.title),label:Pe.label}):Ne(s.title),onError:()=>Ye(!0)}):e.jsx("div",{className:"pdp-ic",children:P.icon??"📦"}),$===0&&Pe.example&&!ee&&e.jsx("small",{className:"muted",children:Pe.label}),(de.length>0||A.length>0||!1)&&e.jsxs("div",{className:"pdp-thumbs",children:[e.jsx("button",{type:"button",className:`pdp-thumb${$===0?" on":""}`,"aria-label":t("Ürün görseli"),"aria-pressed":$===0,onClick:()=>xe(0),children:Pe.src&&!ee?e.jsx("img",{src:Pe.src,alt:""}):e.jsx("span",{className:"pdp-thumbIc",children:P.icon??"📦"})}),A.map((p,w)=>e.jsx("button",{type:"button",className:`pdp-thumb${$===w+1?" on":""}`,"aria-label":t("Ürün görseli {n}",{n:w+2}),"aria-pressed":$===w+1,onClick:()=>xe(w+1),children:e.jsx("img",{src:p,alt:"",loading:"lazy"})},p)),de.map((p,w)=>e.jsx("button",{type:"button",className:`pdp-thumb${$===A.length+w+1?" on":""}`,"aria-label":de.length>1?t("Teknik çizim {n}",{n:w+1}):t("Teknik çizim"),"aria-pressed":$===A.length+w+1,onClick:()=>xe(A.length+w+1),children:e.jsx("img",{src:xa(p),alt:""})},p)),ve]})]}),e.jsxs("div",{className:"pdp-info",children:[e.jsxs("div",{className:"pdp-topRow",children:[e.jsx("span",{className:"mono sku",children:ye}),e.jsx("button",{className:`favBtn${ne?" on":""}`,"aria-label":ne?t("Favorilerden çıkar"):t("Favorilere ekle"),disabled:h,title:h?t("Hesap bilgisi alınamadı"):z?"":t("Favorilemek için giriş yap"),onClick:async()=>{if(!z)return;const p=await js(z.email,s.id);M(p),p&&pe("favori_eklendi",{product_id:s.id})},children:ne?"🧡":"♡"})]}),Oa&&e.jsx("p",{className:"pdp-marka",children:Oa}),e.jsx("h1",{children:Ne(s.title)}),ja&&e.jsxs("p",{className:"pdp-ftc",children:[e.jsx("span",{className:`ftcRozet${ja.uyumlu?" ok":""}`,children:ja.etiket}),ja.neden&&e.jsx("span",{className:"muted small",children:le(ja.neden)})]}),(!r&&Ze||ce)&&e.jsxs("div",{className:"pdp-priceRow",children:[!r&&Ze&&(we!=null?e.jsx("p",{className:"pdp-price",children:I(we)}):e.jsx("p",{className:"pdp-price tbd",children:t("Bu seçeneğin fiyatı sipariş mesajında netleşir")})),ce&&e.jsx("span",{className:"stokYok",role:"status",children:ft(s)})]}),!r&&Ze&&e.jsx(it,{}),h&&e.jsxs("p",{className:"muted small",role:"status",children:[t("Hesap bilgisi alınamadı.")," ",e.jsx(_,{to:"/hesap",children:t("Hesap sayfasından tekrar dene.")})]}),f&&f.count>0&&e.jsxs("p",{className:"rating-line",children:[e.jsx(jn,{n:f.average??0})," ",f.average," · ",ze("{n} yorum",f.count)]}),e.jsx("div",{className:"pdp-desc",children:le(Ni).split(/\n{2,}/).filter(Boolean).map((p,w)=>p.startsWith("• ")?e.jsx("ul",{className:"muted",children:p.split(`
`).map((Z,Ae)=>e.jsx("li",{children:Z.replace(/^\u2022\s*/,"")},Ae))},w):e.jsx("p",{className:"muted",children:p},w))}),Ka&&e.jsxs("div",{className:"pdp-dok",children:[e.jsx("h2",{children:t("Dokümanlar")}),e.jsxs("ul",{children:[de.map((p,w)=>e.jsx("li",{children:e.jsx("a",{href:p,download:!0,target:"_blank",rel:"noopener",children:de.length>1?t("Teknik çizim {n} (PDF)",{n:w+1}):t("Teknik çizim (PDF)")})},p)),E&&e.jsx("li",{children:e.jsx("a",{href:E,download:!0,target:"_blank",rel:"noopener",children:t("Montaj kılavuzu (PDF)")})})]})]}),e.jsx(Ir,{handle:s.handle}),e.jsx("div",{className:"chips",children:(P.print_color||P.renk)&&e.jsxs("span",{className:"chip",children:["🎨 ",Dr[P.print_color||P.renk]??(P.print_color||P.renk)]})}),typeof P.metal_note=="string"&&P.metal_note&&e.jsx("p",{className:"metal-note",children:le(P.metal_note)}),Qe.map(p=>e.jsxs("div",{className:"variantPick",children:[e.jsx("label",{htmlFor:`pdp-option-${p.id}`,children:le(p.title)}),e.jsx("select",{id:`pdp-option-${p.id}`,value:Ce(fe,p.id),onChange:w=>je(p.id,w.target.value),children:[...new Set(Se.map(w=>Ce(w,p.id)))].map(w=>{const Z=Qe.slice(0,Qe.indexOf(p));return Se.some(Be=>Ce(Be,p.id)===w&&Z.every(sa=>Ce(Be,sa.id)===Ce(fe,sa.id)))?e.jsx("option",{value:w,children:le(w)},w):null})})]},p.id)),Qe.length===0&&(Se.length>1||a==="rulman"&&Se.length===1)&&e.jsxs("div",{className:"variantPick",children:[e.jsx("label",{htmlFor:"pdp-variant",children:typeof P.option_label=="string"?le(P.option_label):t("Seçenek")}),e.jsx("select",{id:"pdp-variant",value:K,onChange:p=>fa(Number(p.target.value),null),children:Se.map((p,w)=>e.jsxs("option",{value:w,children:[(p.title!=null?Mn(p.title):p.sku)??t("Seçenek {n}",{n:w+1}),Va(p)?P.kaynak==="elektronik"?t(" (çok yakında)"):t(" (stokta yok)"):""]},p.id))})]}),Gt&&e.jsx("div",{className:"variantNote",children:e.jsx(ii,{note:le(Gt),skuHandles:ga})}),l&&!Yt&&(r||Ze)&&e.jsx(Br,{urun:l,secili:d,degisti:m,fiyatGizli:r,skuHandles:ga}),Yt?e.jsx("a",{className:"btn g",href:`mailto:destek@probotstudio.com?subject=${encodeURIComponent(s.title+" baÅŸvurusu")}`,children:t("BaÅŸvuruyla → destek@probotstudio.com")}):r||Ze?e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"row buyRow",children:[e.jsxs("div",{className:"qty","aria-label":We>1?t("Paket adedi"):t("Adet"),children:[e.jsx("button",{type:"button","aria-label":t("Adedi azalt"),onClick:()=>L(p=>mt(p-1)),disabled:ce||S<=1,children:"−"}),e.jsx("input",{inputMode:"numeric",value:S,onChange:p=>L(mt(Number(p.target.value))),"aria-label":We>1?t("Paket adedi"):t("Adet"),disabled:ce}),e.jsx("button",{type:"button","aria-label":t("Adedi artır"),onClick:()=>L(p=>mt(p+1)),disabled:ce,children:"+"})]}),e.jsx("button",{className:`btn p${ce?" stokYokBtn":""}`,onClick:Ti,disabled:Ee||ce,"aria-disabled":Ee||ce,children:ce?ft(s):b?t("Sepete eklendi ✓"):We>1?ze("{n} paket sepete ekle",S):S>1?t("{n} adet sepete ekle",{n:S}):t("Sepete ekle")}),e.jsx(_,{className:"btn g",to:"/sepet",children:t("Sepete git")})]}),We>1&&e.jsx("p",{className:"muted small packSummary",children:ze("{n} paket = {total} adet",S,{total:S*We})}),ce&&e.jsx("p",{className:"muted small stokNot",children:P.kaynak==="elektronik"?t("Bu ürün çok yakında satışa açılacak. Fiyat bilgi için gösteriliyor."):t("Bu seçenek ÅŸu an stokta yok, sepete eklenemiyor. Fiyat bilgi için gösteriliyor.")}),!ce&&e.jsx("p",{className:"muted small kargoSuresi",children:Ke?t("Kitlerde ve toplu sipariÅŸlerde kargoya veriliÅŸ süresini sipariÅŸ onayında bildiririz."):t("1-2 iÅŸ günü içinde kargoya verilir.")}),O&&e.jsx("p",{className:"formErr",role:"alert",children:O}),!1]}):e.jsx("div",{className:"notifyBox",children:z?e.jsxs(e.Fragment,{children:[e.jsx("button",{className:`btn ${X?"g":"p"}`,onClick:async()=>{const p=await Ln(z.email,s.id);F(p),p&&pe("stok_alarmi_kuruldu",{product_id:s.id})},children:X?t("🔕 Takipten çıkar"):t("🔔 Gelince haber ver")}),X&&e.jsx("p",{className:"formOk",children:t("Takip listende - satış açılınca e-posta atacağız.")})]}):ie?e.jsx("p",{className:"formOk",children:t("Fiyat/stok gelince haber vereceÄŸiz ✓")}):e.jsxs("form",{className:"waitlist",onSubmit:Ei,children:[e.jsx("p",{className:"muted small",children:t("Bu parçanın satış fiyatı belirleniyor. E-postanı bırak, gelince ilk sen öğren.")}),e.jsx("input",{type:"email",inputMode:"email",autoComplete:"email",value:V,onChange:p=>ue(p.target.value),placeholder:t("e-posta adresin"),"aria-label":t("E-posta adresi"),required:!0}),e.jsx("p",{className:"muted xsmall kvkk",children:t("Bu e-posta yalnızca ürün duyuruları için kullanılır; üçüncü kiÅŸilerle paylaşılmaz. DilediÄŸin zaman çıkabilirsin (KVKK kapsamında talebinle silinir).")}),e.jsxs("select",{value:ge,onChange:p=>Te(p.target.value),"aria-label":t("Kimsiniz? (opsiyonel)"),children:[e.jsx("option",{value:"",children:t("Kimsiniz? (opsiyonel)")}),e.jsx("option",{value:"Veli",children:t("Veli")}),e.jsx("option",{value:"Öğretmen-Okul",children:t("Öğretmen / Okul")}),e.jsx("option",{value:"Öğrenci",children:t("Öğrenci")}),e.jsx("option",{value:"Meraklı",children:t("Meraklı")})]}),be&&e.jsx("p",{className:"formErr",children:be}),e.jsx("button",{className:"btn p",disabled:J,children:t("🔔 Gelince haber ver")}),e.jsx("p",{className:"muted xsmall",children:B("Hesabın varsa {link} - takip listen profilinde dursun.",{link:e.jsx(_,{to:"/hesap",children:t("giriÅŸ yap")})})})]})}),Vt.length>0&&e.jsxs("div",{className:"pdp-specs",children:[e.jsx("h2",{children:t("Özellikler")}),e.jsx("dl",{children:Vt.map(p=>e.jsxs("div",{children:[e.jsx("dt",{children:le(p.k)}),e.jsx("dd",{children:le(p.v)})]},p.k))})]}),Ut&&e.jsxs("p",{className:"pdp-kaynak",children:[e.jsx("a",{href:Ut,target:"_blank",rel:"noopener",children:t("Açık donanım kaynağı")}),P.marka==="boardoza"&&e.jsxs("span",{className:"muted",children:[" ",t("Kart tasarımı Boardoza, CC-BY-SA 4.0.")]})]}),Da&&Ke&&Array.isArray(P.features)&&e.jsxs("div",{className:"features",children:[e.jsx("h2",{children:t("Öne çıkanlar")}),e.jsx("ul",{children:P.features.map(p=>e.jsx("li",{children:le(p)},p))}),P.in_the_box_note&&e.jsx("p",{className:"muted small",children:le(P.in_the_box_note)})]})]})]}),Da&&(dt.length>0||ba.length>0||Ke)&&e.jsxs("section",{className:`pdp-detay${Ke?"":" tek"}`,children:[e.jsxs("div",{className:"pdp-detayAna",children:[dt.length>0&&e.jsxs("div",{className:"pdp-about",children:[e.jsx("h2",{children:Ke?t("Bu kit ne iÅŸe yarıyor?"):t("Bu parça ne iÅŸe yarıyor?")}),dt.map(p=>e.jsx("p",{children:le(p)},p.slice(0,40)))]}),ba.length>0&&e.jsxs("div",{className:"pdp-faq",children:[e.jsx("h2",{children:t("Sık sorulanlar")}),e.jsx("dl",{children:ba.map(p=>e.jsxs("div",{className:"faqItem",children:[e.jsx("dt",{children:le(p.q)}),e.jsx("dd",{children:le(p.a)})]},p.q))}),e.jsx("p",{className:"muted small",children:t("Sorun listede yoksa sepet sayfasındaki WhatsApp butonundan yazabilirsin.")})]})]}),Ke&&e.jsx("aside",{className:"pdp-detayYan",children:e.jsxs("div",{className:"pdp-detayYanIc",children:[e.jsx($r,{handle:s.handle}),!Rt(s.handle)&&e.jsxs("div",{className:"pdp-learn",children:[e.jsx("h2",{children:t("Kurulumu ve kodu nereden öğreneceksin?")}),e.jsx("p",{children:t("Robotun kurulumunu ve ilk kodunu EÄŸitim bölümünde adım adım anlatıyoruz. Tamamı Türkçe ve ücretsiz, önceden robotik bilgisi gerekmiyor. Yeni kaynaklar yazıldıkça oraya ekleniyor.")}),e.jsx("a",{className:"btn g",href:tt("/egitim/"),children:t("EÄŸitim bölümüne git →")}),e.jsx("p",{className:"muted small",children:t("Okul ya da takım adına çalışıyorsan kurulum ve kaynaklar için bize yazabilirsin.")})]}),r&&e.jsxs("div",{className:"pdp-howto",children:[e.jsx("h2",{children:t("SipariÅŸ nasıl ilerliyor?")}),e.jsxs("ol",{children:[e.jsx("li",{children:t("SeçeneÄŸi ve adedi seç, sepete ekle.")}),e.jsx("li",{children:t("Sepet sayfasındaki WhatsApp butonuyla listeni bize gönder.")}),e.jsx("li",{children:t("Fiyat, teslim süresi ve kargoyu mesajda netleÅŸtirip onayınla üretime alıyoruz.")})]}),e.jsx("p",{className:"muted small",children:t("Okul, kulüp veya takım adına toplu alım yapıyorsan aynı kanaldan yaz. Fatura ve teklif sürecini oradan yürütüyoruz.")})]})]})})]}),x.length>0&&e.jsxs("section",{className:"relatedSec","aria-labelledby":"similar-products-title",children:[e.jsxs("div",{className:"relatedHead",children:[e.jsx("h2",{id:"similar-products-title",children:Ke?t("İlgili ürünler"):t("İlgili parçalar")}),Ke&&e.jsx(_,{className:"coll-more",to:"/urunler",children:t("Parçaları tek tek de alabilirsin →")})]}),e.jsx("div",{className:"parts",children:x.map(p=>e.jsx(Ba,{p},p.id))})]}),e.jsxs("section",{className:"revSec",children:[e.jsxs("h2",{children:[t("Yorumlar")," ",f?`(${f.count})`:""]}),f&&f.reviews.length>0?e.jsx("ul",{className:"revList",children:f.reviews.map(p=>e.jsxs("li",{children:[e.jsxs("div",{className:"revHead",children:[e.jsx("b",{children:p.display_name===Or?W(p.display_name):p.display_name})," ",e.jsx(jn,{n:p.rating}),p.verified&&e.jsx("span",{className:"chip",children:t("✓ onaylı alıcı")}),e.jsx("span",{className:"muted small",children:Pa(new Date(p.created_at))})]}),e.jsx("p",{children:p.content})]},p.id))}):e.jsx("p",{className:"muted",children:t("Henüz yorum yok - ilk yorumu sen yaz.")}),z&&ut?Y?e.jsxs("form",{className:"revForm",onSubmit:Pi,children:[e.jsx("div",{className:"row",children:e.jsx("select",{value:Y.rating,onChange:p=>Q(w=>w&&{...w,rating:Number(p.target.value)}),children:[5,4,3,2,1].map(p=>e.jsxs("option",{value:p,children:["★".repeat(p)," (",p,")"]},p))})}),e.jsx("textarea",{value:Y.content,onChange:p=>Q(w=>w&&{...w,content:p.target.value}),required:!0,minLength:3,rows:3}),R&&e.jsx("p",{className:"formErr",children:R}),e.jsxs("div",{className:"row",children:[e.jsx("button",{className:"btn g",disabled:re,children:t("Kaydet")}),e.jsx("button",{className:"btn g",type:"button",onClick:()=>Q(null),disabled:re,children:t("Vazgeç")})]})]}):e.jsxs("div",{className:"revForm",children:[e.jsx("p",{className:"muted small",children:t("Bu ürün için yorumun var.")}),R&&e.jsx("p",{className:"formErr",children:R}),e.jsxs("div",{className:"row",children:[e.jsx("button",{className:"btn g",type:"button",onClick:()=>Q({rating:ut.rating,content:ut.content}),disabled:re,children:t("Yorumunu düzenle")}),e.jsx("button",{className:"btn g",type:"button",onClick:Bi,disabled:re,children:t("Sil")})]})]}):z?e.jsxs("form",{className:"revForm",onSubmit:Ci,children:[e.jsx("div",{className:"row",children:e.jsx("select",{name:"rating",defaultValue:"5",children:[5,4,3,2,1].map(p=>e.jsxs("option",{value:p,children:["★".repeat(p)," (",p,")"]},p))})}),e.jsx("textarea",{name:"content",placeholder:t("Deneyimini yaz…"),required:!0,minLength:3,rows:3}),R&&e.jsx("p",{className:"formErr",children:R}),e.jsx("button",{className:"btn g",disabled:re,children:t("Yorumu gönder")})]}):e.jsx("p",{className:"muted small",children:B("Yorum yazmak için {link}.",{link:e.jsx(_,{to:"/hesap",children:t("giriÅŸ yap")})})})]})]})}function kt(a,n){const r=(a instanceof Error?a.message:"").match(/\{.*\}$/);if(r)try{const s=JSON.parse(r[0]).message;return s?W(s):n}catch{return n}return n}function si(a){if(!(typeof window>"u"))try{const n=new URL(window.location.href);if(!n.searchParams.has(a))return;n.searchParams.delete(a),window.history.replaceState(window.history.state,"",`${n.pathname}${n.search}${n.hash}`)}catch{}}function Yr(){const[a]=Ge(),[n]=u.useState(()=>a.get("token")??"");u.useEffect(()=>{si("token")},[]);const[i,r]=u.useState(""),[s,o]=u.useState(!1),[l,c]=u.useState(!1),d=Fa(),m=e.jsx(he,{title:t("Åžifre yenileme - Probot Studio"),description:t("Probot Studio hesabın için yeni ÅŸifre belirle."),path:"/hesap/sifre-yenile",noindex:!0});if(!n)return e.jsxs(e.Fragment,{children:[m,e.jsxs("section",{className:"account",children:[e.jsx("h1",{children:t("BaÄŸlantı eksik")}),e.jsx("p",{className:"muted",children:B("Åžifre sıfırlama baÄŸlantısı geçersiz görünüyor. {link} yeni bir istek gönderebilirsin.",{link:e.jsx(_,{to:"/hesap",children:t("Hesap sayfasından")})})})]})]});async function f(g){g.preventDefault(),o(!0),r("");const x=new FormData(g.currentTarget),k=String(x.get("p1")??""),h=String(x.get("p2")??"");if(k!==h){r(t("Åžifreler aynı deÄŸil.")),o(!1);return}try{const v=await _s(k,n);if(!v.ok){r(W(ra(v.code,t("Åžifre güncellenemedi - baÄŸlantının süresi dolmuÅŸ olabilir."))));return}d("/hesap?yenilendi=1")}catch{r(t("BaÄŸlantı kurulamadı. Åžifren güncellenemedi; tekrar dene."))}finally{o(!1)}}return e.jsxs(e.Fragment,{children:[m,e.jsxs("section",{className:"account",children:[e.jsx("h1",{children:B("Yeni {hl}",{hl:e.jsx("span",{className:"hl",children:t("ÅŸifre belirle")})})}),e.jsxs("form",{className:"authForm",onSubmit:f,children:[e.jsx(qe,{name:"p1","aria-label":t("Yeni ÅŸifre"),placeholder:t("Yeni ÅŸifre (en az 8 karakter)"),autoComplete:"new-password",required:!0,minLength:8,goster:l,onGosterDegis:c}),e.jsx(qe,{name:"p2","aria-label":t("Yeni ÅŸifre (tekrar)"),placeholder:t("Yeni ÅŸifre (tekrar)"),autoComplete:"new-password",required:!0,minLength:8,goster:l,dugme:!1}),i&&e.jsx("p",{className:"formErr",role:"alert",children:i}),e.jsx("button",{className:"btn p",disabled:s,children:s?"…":t("Åžifreyi güncelle")})]})]})]})}function Ur(){const[a]=Ge(),[n]=u.useState(()=>a.get("t")??"");u.useEffect(()=>{si("t")},[]);const[i,r]=u.useState("bekliyor"),[s,o]=u.useState(null),[l,c]=u.useState(""),d=u.useRef(null);u.useEffect(()=>{l&&d.current?.focus()},[l]);async function m(){r("gonderiliyor"),c("");try{const g=await As.veliOnayDogrula(n);o({ogrenci:g.ogrenci,zaten:g.zaten}),r("tamam")}catch(g){c(g instanceof Ts?W(g.message):t("Onay ÅŸu an kaydedilemedi. İnternet baÄŸlantınızı kontrol edip tekrar deneyin.")),r("hata")}}const f=e.jsx(he,{title:t("Veli onayı - Probot Studio"),description:t("ÇocuÄŸunuzun Probot Studio hesabı için veli onayı."),path:"/hesap/veli-onay",noindex:!0});return n?e.jsxs(e.Fragment,{children:[f,e.jsxs("section",{className:"account veliOnay",children:[e.jsx("h1",{children:B("Veli {hl}",{hl:e.jsx("span",{className:"hl",children:t("onayı")})})}),i==="tamam"&&s?e.jsxs(e.Fragment,{children:[e.jsx("p",{className:"formOk",role:"status",children:s.zaten?t("{ogrenci} için onayınız zaten kayıtlı. TeÅŸekkürler.",{ogrenci:s.ogrenci||ma("guardian","Öğrenci")}):t("TeÅŸekkürler. {ogrenci} için onayınız kaydedildi; hesap artık ders fotoÄŸrafı yükleyebilir ve eÄŸitim asistanını kullanabilir.",{ogrenci:s.ogrenci||ma("guardian","Öğrenci")})}),e.jsx("p",{className:"muted small",children:t("Onayınızı geri almak ya da verilerle ilgili bir talep için kvkk@probotstudio.com adresine yazabilirsiniz. Onay geri alınınca ders fotoÄŸrafı yükleme ve eÄŸitim asistanı yeniden kapanır ve yüklenmiÅŸ bütün ders fotoÄŸrafları silinir. Asistanın tuttuÄŸu notlar ve son mesajlar asistan sunucusunda kalır: çocuÄŸunuz bunları asistan panelinden silebilir, siz de silinmesini aynı adresten isteyebilirsiniz; aksi hâlde en geç 180 gün içinde kendiliÄŸinden silinir. Sınıf üyeliÄŸi ve eÄŸitim hizmeti onaydan bağımsız olduÄŸu için sürer.")})]}):e.jsxs(e.Fragment,{children:[e.jsx("p",{className:"muted",children:t("ÇocuÄŸunuz Probot Studio'da 18 yaşından küçük olduÄŸunu belirterek bir hesap açtı ve veli olarak sizi gösterdi.")}),e.jsx("h2",{children:t("Onayınızdan bağımsız: eÄŸitim hizmeti")}),e.jsx("p",{className:"muted",children:t("AÅŸağıdakiler eÄŸitim hizmetinin parçasıdır ve onay vermeseniz de iÅŸlenir:")}),e.jsxs("ul",{className:"veliListe",children:[e.jsxs("li",{children:[e.jsx("b",{children:t("Dersler ve ilerleme.")})," ",t('Hangi dersleri açıp okuduÄŸu ve ne zaman çalıştığı, "Dersi bitirdik" kayıtları (iÅŸaretlediÄŸi Kontrol maddeleri ve "takıldığımız yer" notu).')]}),e.jsxs("li",{children:[e.jsx("b",{children:t("Sınıf.")})," ",t("Öğretmeninin verdiÄŸi katılım koduyla bir sınıfa katılabilir ya da öğretmeni onu e-posta adresiyle sınıfa ekleyebilir. Sınıftan istediÄŸi zaman ayrılabilir.")]}),e.jsxs("li",{children:[e.jsx("b",{children:t("Sınıftaki kayıtlar.")})," ",t("Ödev teslimleri (yazdıkları, blok programları, Builder projeleri) ve öğretmenin bunlara yazdığı geri bildirim, yoklama, canlı derste hangi sayfada olduÄŸu, derslerdeki etkinlik ve challenge'larda neleri denediÄŸi ve tamamladığı, öğretmenin verdiÄŸi ekip etiketi.")]})]}),e.jsx("p",{className:"muted small",children:t("Bunları katıldığı sınıfın öğretmenleri (sınıfı açan ve ortak öğretmenler) görür; sınıfa atanmış eÄŸitimlerde sınıfa katılmadan önce yapılanlar da buna dahildir. Öğretmen sınıfa atamadığı eÄŸitimlerde ne okunduÄŸunu görmez. Öğretmen ekranlarında e-posta adresi gösterilmez; hesapta ad yoksa yalnız gizlenmiÅŸ hâli görünür.")}),e.jsx("h2",{children:t("Onayınızla açılanlar")}),e.jsxs("ul",{className:"veliListe",children:[e.jsxs("li",{children:[e.jsx("b",{children:t("İsteÄŸe baÄŸlı ders fotoÄŸrafı.")})," ",t("Ders sonunda robotunun fotoÄŸrafını yükleyebilir. Sınıfın öğretmenleri görür; sınıftan ayrılınca ya da çıkarılınca silinir, çocuÄŸunuz da istediÄŸi zaman silebilir.")]}),e.jsxs("li",{children:[e.jsx("b",{children:t("Yapay zekâ eÄŸitim asistanı.")})," ",t("Asistana yazdığı sorular ve aldığı cevaplar, cevabı üretmek için yurt dışındaki model saÄŸlayıcısına (OpenRouter üzerinden DeepSeek) iletilir. Asistan notları yalnız çocuÄŸunuzun hesabında tutulur ve silinebilir.")]})]}),e.jsx("p",{className:"muted small",children:B("Onay vermezseniz yalnız bu iki özellik kapalı kalır; eÄŸitim hizmeti aynen sürer. Ayrıntılı bilgi, saklama süreleri ve haklarınız için {link}.",{link:e.jsx(_,{to:"/yasal/aydinlatma-metni",target:"_blank",rel:"noopener",children:t("Aydınlatma Metni")})})}),l&&e.jsx("p",{ref:d,tabIndex:-1,className:"formErr",role:"alert",children:l}),e.jsx("div",{className:"row",children:e.jsx("button",{type:"button",className:"btn p",disabled:i==="gonderiliyor",onClick:()=>{m()},children:i==="gonderiliyor"?t("Onaylanıyor…"):t("Okudum, onaylıyorum")})})]})]})]}):e.jsxs(e.Fragment,{children:[f,e.jsxs("section",{className:"account",children:[e.jsx("h1",{children:B("Veli {hl}",{hl:e.jsx("span",{className:"hl",children:t("onayı")})})}),e.jsx("p",{className:"muted",children:t("Bu sayfa, çocuÄŸunuzun Probot Studio hesabı için size gönderilen e-postadaki baÄŸlantıyla açılır. BaÄŸlantı eksikse e-postadaki düğmeyi kullanın; e-posta gelmediyse çocuÄŸunuz hesap sayfasından yeniden gönderebilir.")})]})]})}const Wr="pk_a44f3f48fdaf252739a6d2a0edc8d818159ff5c1c1bc7b9838ffa6e3541f5d94",Nn=[["siparis","🧾",()=>t("SipariÅŸ alındı")],["hazirlandi","📦",()=>t("Atölyede hazırlandı")],["kargoda","🚚",()=>t("Kargoya verildi")],["teslim","ðŸ ",()=>ma("shipping","Teslim edildi")]],Zr=a=>a?Pa(new Date(a),{dateStyle:"medium",timeStyle:"short"}):null;function zn(){const{no:a=""}=pa(),[n,i]=u.useState(null),r=Fa(),s=e.jsx(he,{title:t("Kargo takibi - Probot Studio"),description:t("Probot Studio sipariÅŸin için kargo takip durumunu sorgula."),path:a?`/takip/${encodeURIComponent(a)}`:"/takip",noindex:!0});if(u.useEffect(()=>{a&&(i(null),fetch(`/store/track/${encodeURIComponent(a)}`,{headers:{"x-publishable-api-key":Wr}}).then(l=>l.ok?l.json():"yok").then(l=>i(l)).catch(()=>i("yok")))},[a]),!a){const l=c=>{c.preventDefault();const d=String(new FormData(c.currentTarget).get("no")??"").trim();d&&r(`/takip/${encodeURIComponent(d)}`)};return e.jsxs(e.Fragment,{children:[s,e.jsxs("section",{className:"account",children:[e.jsx("h1",{children:B("Kargo {hl}",{hl:e.jsx("span",{className:"hl",children:t("takibi")})})}),e.jsx("p",{className:"muted",children:t("SipariÅŸ onay e-postandaki takip numarasını gir.")}),e.jsxs("form",{className:"couponRow",onSubmit:l,children:[e.jsx("input",{name:"no",placeholder:t("Takip no (örn. TR-2026-…)"),"aria-label":t("Takip numarası"),autoFocus:!0}),e.jsx("button",{className:"btn p",children:t("Sorgula")})]}),e.jsx("p",{className:"muted small",children:B("SipariÅŸlerini hesabından da izleyebilirsin: {link}",{link:e.jsxs(_,{to:"/hesap",children:[t("Hesabım")," → ",t("SipariÅŸlerim")]})})})]})]})}if(n===null)return e.jsxs(e.Fragment,{children:[s,e.jsx("section",{className:"account",children:e.jsx("p",{className:"muted",children:t("Sorgulanıyor…")})})]});if(n==="yok")return e.jsxs(e.Fragment,{children:[s,e.jsxs("section",{className:"account",children:[e.jsx("h1",{children:t("Gönderi bulunamadı")}),e.jsx("p",{className:"muted",children:B("{no} numarasıyla kayıtlı gönderi yok. Numara e-postandaki baÄŸlantıyla aynı mı kontrol et; sorun sürerse destek@probotstudio.com'a yaz.",{no:e.jsx("span",{className:"mono",children:a})})}),e.jsx(_,{className:"btn g",to:"/",children:t("MaÄŸazaya dön")})]})]});const o=n.status==="teslim"?3:n.status==="yolda"?2:1;return e.jsxs(e.Fragment,{children:[s,e.jsxs("section",{className:"trackPage",children:[e.jsx("h1",{children:B("Kargo {hl}",{hl:e.jsx("span",{className:"hl",children:t("takibi")})})}),e.jsxs("p",{className:"muted",children:[B("Takip no: {number}",{number:e.jsx("span",{className:"mono",children:n.tracking_number})}),n.order_display_id?B(" · SipariÅŸ {order}",{order:e.jsxs("span",{className:"mono",children:["#",n.order_display_id]})}):null]}),n.status==="iptal"?e.jsx("p",{className:"formErr",children:t("Bu gönderi iptal edilmiÅŸ. Detay için destek@probotstudio.com")}):e.jsx("ol",{className:"trackSteps",children:Nn.map(([l,c,d],m)=>{const f=Zr(n.timeline[l]),g=m<=o&&(m===0||!!n.timeline[l]),x=g&&(m===o||m<o&&!n.timeline[Nn[m+1]?.[0]]);return e.jsxs("li",{className:g?"done":"","data-active":x||void 0,children:[e.jsx("span",{className:"tIc",children:c}),e.jsxs("div",{children:[e.jsx("b",{children:d()}),e.jsx("span",{className:"muted small",children:f??(g?"-":t("bekleniyor"))})]})]},l)})}),e.jsx("p",{className:"muted small",children:t("Durum bilgisi kargo firmasından geldikçe güncellenir. Sorular için destek@probotstudio.com")})]})]})}const Qr="pk_a44f3f48fdaf252739a6d2a0edc8d818159ff5c1c1bc7b9838ffa6e3541f5d94";function Jr(){const[a,n]=u.useState(!1),[i,r]=u.useState(!1),[s,o]=u.useState("");async function l(c){if(c.preventDefault(),a)return;o("");const d=new FormData(c.currentTarget),m={name:String(d.get("name")??"").trim(),email:String(d.get("email")??"").trim(),message:String(d.get("message")??"").trim()};n(!0);try{const f=await fetch("/store/contact",{method:"POST",headers:{"Content-Type":"application/json","x-publishable-api-key":Qr},body:JSON.stringify(m)}),g=await f.json().catch(()=>({}));f.ok&&g?.ok?r(!0):o(g?.message?W(g.message):t("Mesaj gönderilemedi - az sonra tekrar dene."))}catch{o(t("BaÄŸlantı kurulamadı - az sonra tekrar dene."))}finally{n(!1)}}return e.jsxs(e.Fragment,{children:[e.jsx(he,{title:t("İletiÅŸim - Probot Studio"),description:t("Probot Studio'ya soru, öneri ve destek için ulaÅŸ."),path:"/iletisim"}),e.jsxs("section",{className:"account",children:[e.jsx("h1",{children:B("İleti{hl}",{hl:e.jsx("span",{className:"hl",children:t("ÅŸim")})})}),e.jsx("p",{className:"muted",children:t("Soru/öneri için formu doldur ya da doÄŸrudan destek@probotstudio.com'a yaz.")}),i?e.jsx("p",{className:"formOk",children:t("Mesajın ulaÅŸtı - en geç 1 iÅŸ günü içinde döneriz.")}):e.jsxs("form",{className:"contactForm",onSubmit:l,children:[e.jsx("input",{name:"name",type:"text",placeholder:t("Adın"),"aria-label":t("Adın"),required:!0,maxLength:80}),e.jsx("input",{name:"email",type:"email",placeholder:t("E-posta adresin"),"aria-label":t("E-posta"),required:!0}),e.jsx("textarea",{name:"message",placeholder:t("Mesajın…"),"aria-label":t("Mesajın"),required:!0,rows:5,minLength:10,maxLength:2e3}),s&&e.jsx("p",{className:"formErr",children:s}),e.jsx("button",{className:"btn p",disabled:a,children:a?t("Gönderiliyor…"):t("Gönder")})]}),e.jsx("p",{className:"muted small",children:t("DoÄŸrudan e-posta: destek@probotstudio.com · Türkçe destek 🇹🇷")})]})]})}const Xr=`# Yasal Metinler - Kullanım Haritası
Storefront'ta render edilir (\`/shop/yasal/...\`). **Yayına girmeden Tuna son okuma yapmalı.**
| Dosya | Nerede gösterilir | Ne zaman onay alınır |
|---|---|---|
| \`aydinlatma-metni.md\` | Footer + kayıt formu linki + veli onay sayfası (\`/shop/hesap/veli-onay\`) | Kayıtta "okudum" (rıza değil, bilgilendirme). **Bölüm 7 TASLAK** (2026-10-01: reşit olmayan öğrenci, veli onayı, ders fotoğrafı, AI asistanı/yurt dışı aktarım, saklama) — hukuki inceleme bekliyor |
| \`cerez-politikasi.md\` | Çerez banner'ı "Detay" linki | Banner'da Kabul/Reddet (eşit buton) |
| \`uyelik-sozlesmesi.md\` | Kayıt formu | Kayıtta onay kutusu |
| \`mesafeli-satis-sozlesmesi.md\` | Checkout | Ödeme öncesi onay kutusu (zorunlu) |
| \`on-bilgilendirme-formu.md\` | Checkout (sözleşme öncesi) | Ödeme öncesi onay kutusu (zorunlu) |
| \`acik-riza-pazarlama.md\` | Kayıt/checkout opsiyonel kutu | AYRI, önceden İŞARETSİZ kutu + İYS kaydı |
| \`teslimat-iade.md\` | Footer (müşteri-yüzlü özet) | - |
## Satıcı bilgileri (2026-07-03, Tuna verdi - DOLDURULDU)
- Unvan: **Tuna Gül** (şahıs işletmesi - MERSİS/ticaret sicil alanları bu yüzden metinlerden çıkarıldı)
- Adres: Topçular Mah. Cengaver Sk. No:22 D:1, 34055 Eyüpsultan / İstanbul
- VKN: 4140655727 (BayrampaÅŸa VD)
- Eksik kalanlar (gelirse metinlere eklenir): telefon, KEP adresi
- İletişim e-postaları şimdilik: destek@probotstudio.com, kvkk@probotstudio.com (server-mail'e açtırılacak)
## Hukuki dayanaklar
KVKK 6698 (+ 2024 yurt dışı aktarım rejimi) · 6502 Tüketici Kanunu · Mesafeli Sözleşmeler
Yönetmeliği · 6563 E-Ticaret Kanunu (İYS) · KVKK Çerez Rehberi (2022).
âš ï¸ Ä°lk kampanya e-postasından önce İYS kaydı zorunlu. Yurt dışı aktarımlar (Meta, PostHog,
Google/Apple login) için standart sözleşme + 5 iş günü Kurum bildirimi değerlendirilecek.
`,el=`# Ticari Elektronik İleti ve Pazarlama Açık Rıza Metni
*(Kayıt/checkout'ta AYRI ve önceden işaretsiz bir onay kutusuyla sunulur. Onay vermemeniz
alışverişinizi hiçbir şekilde etkilemez.)*
Tuna Gül tarafından;
1. **Ticari elektronik ileti:** Kampanya, yeni ürün, yarışma ve duyuruların tarafıma
**e-posta** ile gönderilmesine, bu amaçla iletişim bilgilerimin işlenmesine ve onayımın
İleti Yönetim Sistemi'ne (İYS) kaydedilmesine,
2. **Pazarlama amaçlı işleme ve yurt dışı aktarım:** Alışveriş ve site kullanım verilerimin
pazarlama analizi ve reklam ölçümü amacıyla işlenmesine; bu kapsamda analitik hizmeti
PostHog'a (AB) ve reklam ölçümleme hizmeti Meta Platforms'a (AB/ABD) KVKK m.9'daki
güvenceler çerçevesinde aktarılmasına,
**açık rıza veriyorum.**
Rızanızı dilediğiniz an geri alabilirsiniz: e-postalardaki "listeden çık" bağlantısı,
hesap ayarları veya kvkk@probotstudio.com. Geri alma, önceki işlemenin hukuka uygunluğunu
etkilemez.
`,al=`# Kişisel Verilerin Korunması Aydınlatma Metni
**Son güncelleme:** 2026-10-07 · **Veri Sorumlusu:** Tuna Gül (Topçular Mah. Cengaver Sk. No:22 D:1, 34055 Eyüpsultan / İstanbul)
Bu metin, 6698 sayılı Kişisel Verilerin Korunması Kanunu ("KVKK") m.10 uyarınca,
probotstudio.com ve alt hizmetlerinde ("Probot") işlenen kişisel verileriniz hakkında sizi
bilgilendirmek için hazırlanmıştır.
## 1. Hangi verileri iÅŸliyoruz?
| Kategori | Örnekler | Kaynak |
|---|---|---|
| Kimlik | ad, soyad | üyelik/sipariş formu |
| İletişim | e-posta, telefon, teslimat adresi | üyelik/sipariş formu |
| Müşteri işlem | sipariş geçmişi, sepet, iade kayıtları | mağaza kullanımı |
| İşlem güvenliği | IP, oturum kayıtları, log | otomatik |
| Kullanım istatistiği (oturumla sınırlı, kimliksiz) | görüntülenen sayfa, tıklama, fare hareketi, oturum görselleştirmesi (sayfa yazıları görünür, yazdıklarınız ile hesap sayfaları ve kişisel bilgiler kayda alınmaz); IP ve dil bilgisi sunucu günlüğünde | otomatik |
| Pazarlama (rızaya bağlı) | site içi davranış, çerez verileri | çerez/analitik araçları |
**Ödeme verileriniz (kart bilgileri) tarafımızca saklanmaz**; ödeme, BDDK lisanslı ödeme
kuruluşu Paratika (Asseco) güvenli ödeme sayfasında gerçekleşir.
## 2. Neden ve hangi hukuki sebeple?
- **Siparişin kurulması ve ifası** (üyelik, teslimat, fatura, iade): KVKK m.5/2-c -
sözleşmenin kurulması/ifası için gereklilik.
- **Yasal yükümlülükler** (fatura saklama, tüketici mevzuatı, İYS): m.5/2-ç.
- **Meşru menfaat** (dolandırıcılık önleme, hizmet güvenliği, oturumla sınırlı kimliksiz kullanım
istatistiği ve oturum görselleştirmesi): m.5/2-f. Bu ölçüm kalıcı kayıt yazmaz (yalnız
sekme kapanınca silinen oturum deposu), ziyaretler arası bağlantısızdır, kimliğinizle
eşleştirilmez; görselleştirme kayıtları en fazla 30 gün saklanır.
- **Pazarlama ve çerezli ayrıntılı analitik** (kampanya e-postası, reklam ölçümleme, oturum
kaydı ve ziyaretler arası davranış analitiği): m.5/1 - **açık rızanız** ile. Rıza vermezseniz mağazayı aynı şekilde kullanmaya devam edersiniz.
## 3. Kimlere aktarıyoruz?
- **Kargo:** teslimat için ad, adres, telefon - Geliver altyapısı üzerinden anlaşmalı taşıyıcıya
(Yurtiçi, Aras, MNG, PTT vb.).
- **Ödeme:** işlem tutarı ve doğrulama bilgileri - Paratika'ya.
- **Yurt dışına:** anonim kullanım istatistiği ve (rızanızla) ayrıntılı analitik için PostHog (AB/Frankfurt), reklam ölçümü
için Meta Platforms (AB/ABD), Google/Apple ile giriş kullanırsanız ilgili sağlayıcıya.
Yurt dışı aktarımlar KVKK m.9 kapsamındaki güvencelerle yapılır.
## 4. Ne kadar saklıyoruz?
Üyelik verileri üyelik süresince ve sonrasında yasal zamanaşımı süreleri boyunca (genel kural
10 yıl, fatura/ticari kayıtlar ilgili mevzuat süresi); sunucu erişim günlükleri (IP, tarayıcı/dil bilgisi) en fazla 14 gün, işlem güvenliği log kayıtları 2 yıl; rızaya dayalı
pazarlama verileri rıza geri alınana kadar saklanır, süre sonunda silinir veya anonimleştirilir.
## 5. Haklarınız (KVKK m.11)
Verilerinize erişme, düzeltme, silme/yok etme, işlemeye itiraz, aktarıldığı üçüncü kişileri
öğrenme, otomatik sistem sonuçlarına itiraz ve zararın giderilmesini talep etme hakkına sahipsiniz.
**Başvuru:** kvkk@probotstudio.com adresine e-posta ile veya Topçular Mah. Cengaver Sk. No:22 D:1, 34055 Eyüpsultan / İstanbul adresine yazılı
olarak başvurabilirsiniz. Başvurular en geç 30 gün içinde ücretsiz sonuçlandırılır.
## 6. Çocukların verileri
Probot hesapları **veliler/18 yaş üstü kullanıcılar** içindir. Ürünler 8+ yaş kullanıcılara
yönelik olsa da üyelik, sipariş ve iletişim süreçleri veli hesabı üzerinden yürür; çocuklara
ait kimlik verisi talep etmiyoruz. Tek istisna eğitim platformudur: 18 yaşından küçük olduğunu
belirten bir kullanıcı da hesap açabilir; bu hesaplarda veri işleyen özellikler veli onayına
bağlıdır ve Bölüm 7'de (TASLAK) anlatılır.
## 7. Eğitim platformu, reşit olmayan öğrenciler ve yapay zekâ asistanı (TASLAK)
> **TASLAK – hukuki inceleme bekliyor.** Bu bölüm, okul pilotu öncesinde eğitim platformunun (LMS)
> işlediği verileri açıklamak için eklenmiştir; metin hukuk danışmanı tarafından onaylanmadan
> nihai değildir. Bölüm 6'daki genel kural saklıdır; aşağıdakiler eğitim platformunu kullanan
> hesaplar için, 18 yaş altı kurallar ise seçilen hesap türünden (öğrenci ya da öğretmen/mentör)
> bağımsız olarak 18 yaşından küçük olduğunu belirten **tüm** hesaplar için geçerlidir.
### 7.1 18 yaş altı kullanıcılar
Hesap açarken (hesap türü ne olursa olsun) "18 yaşından küçük müsün?" sorusuna verilen cevap ve, cevap "evet" ise,
**velinin e-posta adresi** işlenir. 18 yaşından küçük kullanıcının hesabının velinin bilgisiyle ve
tercihen velinin e-posta adresiyle açılması beklenir. Kullanıcı kendi e-posta adresini doğruladıktan
sonra veliye tek kullanımlık ve 7 gün geçerli bir onay bağlantısı gönderilir; bağlantıya tıklayan veli
neyin iÅŸleneceÄŸini okuyup onaylar.
Sınıf üyeliği veli onayına bağlı değildir: öğretmen öğrenciyi e-posta adresiyle sınıfına ekleyebilir
ya da öğrenci katılım koduyla katılabilir; sunucu tarafında sınıf için yaş ya da veli onayı kapısı
yoktur. Öğrenci istediği zaman sınıftan ayrılabilir, öğretmen de öğrenciyi sınıftan çıkarabilir;
ayrılma ve çıkarma kaydı silinmez, işaretlenir. Veli onayı gelene kadar hesap **ders fotoğrafı
yükleyemez ve yapay zekâ asistanını kullanamaz**. Bu kısıtlar sunucu tarafında uygulanır. Veli onayı KVKK m.5/1 kapsamındaki açık rızadır; veli, kvkk@probotstudio.com adresine
yazarak onayı geri alabilir. Bu durumda hesap onay öncesi hâline döner: kullanıcı katıldığı
sınıflardan çıkarılır ve bu sınıflardaki ders fotoğrafları silinir. Onayı doğrulamak için velinin e-posta adresi ve onay
zamanı saklanır; bağlantının kendisi saklanmaz (yalnız özeti).
### 7.2 Sınıf, ders ilerlemesi ve ders sonu kayıtları
Öğrenci bir sınıfa katılım koduyla katıldığında ya da öğretmen onu e-posta adresiyle sınıfa
eklediğinde sınıfın öğretmenleri (sınıfı açan öğretmen ve eklediği ortak öğretmenler) şunları görür: öğrencinin görünen
adı (ad yoksa gizlenmiş e-posta adresi; e-postanın kendisi gösterilmez), sınıfa atanan eğitimlerde
hangi dersleri açtığı ve okuduğu, "Dersi bitirdik" işaretleri, isteğe bağlı "takıldığımız yer" notu
ve ekip etiketi. Öğretmen başka eğitimlerde ne okunduğunu görmez. Öğrenci sınıftan ayrılınca ya da
çıkarılınca öğretmen bu kayıtları artık göremez. Hukuki sebep: eğitim hizmetinin sunulması
(m.5/2-c).
### 7.3 Ders fotoğrafları
Öğrenci ders sonunda isteğe bağlı olarak robotunun fotoğrafını yükleyebilir. Fotoğraf yalnız
sınıfın öğretmenleri (ve teknik gereklilikle yöneticiler) tarafından görülür; sunucuda rastgele adla
saklanır, dışarı aktarılmaz. Fotoğraf, öğrenci sildiğinde, yeni fotoğraf yüklediğinde, sınıftan
ayrıldığında ya da çıkarıldığında ve hesap silindiğinde **silinir**. Fotoğrafta kişilerin yer
almamasını öneririz.
### 7.4 Yapay zekâ eğitim asistanı (yurt dışına aktarım)
Eğitim asistanına yazılan sorular, seçili ders metni ve asistanın cevapları, cevabı üretmek için
**yurt dışındaki model sağlayıcısına** (OpenRouter altyapısı üzerinden DeepSeek modelleri)
iletilir; bu, KVKK m.9 kapsamında yurt dışına aktarımdır ve reşit olmayan öğrenciler için veli
onayıyla, yetişkinler için hizmetin kullanımına ilişkin açık rızayla yapılır. Hesap adı ve hesap türü
(öğrenci/öğretmen) asistanın cevabını uyarlamak için istemle birlikte gönderilir; e-posta adresi
gönderilmez. Asistanın kullanıcı hakkında aldığı kısa notlar ve son 40 mesaj yalnız kullanıcının
kendi hesap dosyasında tutulur; kullanıcı bunları asistan panelinden **kalıcı olarak silebilir**.
Kullanım günlüğünde soru ve cevap metni tutulmaz; yalnız sayfa, uzunluk ve süre gibi istatistik
alanları ve kimliğe geri döndürülemeyen anahtarlı bir özet bulunur.
### 7.5 Saklama süreleri (bu bölüm için)
- Ders ilerlemesi, ders sonu kayıtları ve sınıf üyeliği: hesap süresince; hesap silinince silinir.
- Ders fotoğrafları: 7.3'teki olaylardan ilkine kadar.
- Asistan notları ve konuşma geçmişi: kullanıcı silene kadar ya da hesaba 180 gün girilmezse
kendiliğinden; hesap silinince en geç 180 gün içinde.
- Asistan kullanım günlüğü (metinsiz): 180 gün.
- Veli onay kaydı (veli e-postası, onay zamanı): hesap süresince; hesap silinince silinir.
`,tl=`# Çerez Politikası
**Son güncelleme:** 2026-10-03 · Tuna Gül
probotstudio.com'da çerezleri KVKK ve Kişisel Verileri Koruma Kurumu'nun Çerez Uygulamaları
Rehberi'ne uygun kullanırız. Zorunlu çerezler dışındaki hiçbir çerez, siz onay vermeden
yazılmaz. Tercihinizi dilediğiniz an sayfa altındaki "Çerez Tercihleri" bağlantısından
değiştirebilir, verdiğiniz onayı geri çekebilirsiniz.
## Oturumla sınırlı, kimliksiz ölçüm (kalıcı çerez yazılmaz)
Siteyi iyileştirmek için **oturumla sınırlı, kimliksiz kullanım verisi** toplarız:
görüntülenen sayfa, tıklama, sayfada kalış, fare hareketi (ısı haritası) ve **oturum
görselleştirmesi**. Görselleştirmede sayfa yerleşimi, sayfadaki yazılar ve hareketler
görünür. Forma yazdığınız her şey cihazınızdan çıkmadan maskelenir. Hesap sayfaları ile ad,
e-posta, adres, telefon ve sipariş bilgileri kayda alınmaz. Bu ölçüm kalıcı çerez veya kalıcı kayıt yazmaz; yalnız tarayıcı oturumu
süresince yaşayan geçici oturum deposu (sessionStorage) kullanılır, sekme kapanınca
silinir ve sizi **ziyaretler arasında takip etmez**, kimliğinizle eşleştirilmez.
Görselleştirme kayıtları en fazla 30 gün saklanır. Veriler PostHog (AB/Frankfurt)
üzerinde işlenir; hukuki dayanak KVKK m.5/2(f) meşru menfaattir. Ayrıca sunucu erişim
kayıtlarında (IP adresi, tarayıcı ve dil bilgisi, istenen sayfa) güvenlik ve hata
ayıklama amacıyla en fazla 14 gün saklanan günlükler tutulur.
## Kullandığımız çerezler
### 1. Kesinlikle gerekli (rıza gerektirmez)
| Çerez | Amaç | Süre |
|---|---|---|
| oturum çerezi (\`better-auth.session_token\`) | hesap girişinizi sürdürmek | 7 gün |
| sepet/oturum kimlikleri | sepetinizi hatırlamak, ödeme akışı | oturum/30 gün |
| çerez tercihi | onay seçiminizi hatırlamak | 6 ay |
### 2. Ayrıntılı analitik (onayınızla)
Çerez bandında **Kabul et** derseniz ölçüm, çerezli ayrıntılı ölçüme yükselir: kalıcı
kimlik, yukarıdaki kuralla aynı oturum kaydı (yazdıklarınız maskeli, hesap sayfaları ve
kişisel bilgiler kayıt dışı) ve aşağıdaki araçlar
(bandta **Sadece zorunlu** seçeneği eşit biçimde sunulur):
| Araç | Amaç | Veri gittiği yer |
|---|---|---|
| PostHog | ziyaretler arası kullanım analizi, oturum kaydı (yazdıklarınız maskeli, hesap sayfaları kayıt dışı), ısı haritası, deneme (A/B) ölçümü | AB (Frankfurt) |
| Google Analytics | toplu trafik istatistiği (IP anonimleştirilmiş) | Google (yurt dışı) |
### 3. Pazarlama (onayınızla)
| Araç | Amaç | Veri gittiği yer |
|---|---|---|
| Meta Pixel + Conversions API | reklam ölçümü, yeniden pazarlama | Meta (yurt dışı) |
**Sadece zorunlu** der ya da "Çerez Tercihleri"nden onayınızı geri çekerseniz yalnız
yukarıdaki oturumla sınırlı, kimliksiz ölçüm çalışır; çerezli analitik ve pazarlama
araçları yüklenmez. Alışveriş deneyiminiz etkilenmez.
## Tarayıcıdan yönetim
Tarayıcı ayarlarından tüm çerezleri silebilir/engelleyebilirsiniz; zorunlu çerezler engellenirse
giriş ve sepet işlevleri çalışmayabilir.
Sorular için: kvkk@probotstudio.com
`,nl=`# Mesafeli Satış Sözleşmesi
**Son güncelleme:** 2026-10-07
## 1. Taraflar
**SATICI:** Tuna Gül · Topçular Mah. Cengaver Sk. No:22 D:1, 34055 Eyüpsultan / İstanbul · VKN: 4140655727 (Bayrampaşa VD) ·
E-posta: destek@probotstudio.com
**ALICI:** Sipariş formunda bilgileri yer alan tüketici.
## 2. Konu
İşbu sözleşme, ALICI'nın probotstudio.com üzerinden elektronik ortamda siparişini verdiği,
özellikleri ve satış fiyatı sipariş sayfasında ve ön bilgilendirme formunda belirtilen ürünün
satışı ve teslimi ile ilgili olarak 6502 sayılı Tüketicinin Korunması Hakkında Kanun ve
Mesafeli Sözleşmeler Yönetmeliği hükümleri gereğince tarafların hak ve yükümlülüklerini düzenler.
## 3. Ürün, fiyat ve ödeme
1. Ürünün cinsi, adedi, satış bedeli (KDV dahil) ve kargo ücreti sipariş özetinde gösterilir.
2. Ödeme, ALICI'nın seçimine göre Paratika güvenli ödeme sayfası üzerinden kredi/banka kartı
ile tek çekim olarak ya da havale/EFT ile alınır; taksit uygulanmaz. SATICI kart bilgilerini
görmez ve saklamaz.
3. Kartla ödemede, ödeme kuruluşunun işlem bedelini karşılamak üzere ürün ve kargo toplamına
kart ödeme farkı eklenir (güncel oran %4,49). Farkın oranı ve tutarı ödeme adımında, ödeme
yapılmadan önce sipariş özetinde ayrı satır olarak gösterilir ve ALICI ödenecek toplamı görerek
onaylar. Havale/EFT ile ödemede bu fark alınmaz.
4. Havale/EFT seçildiğinde sipariş ödeme bekler durumda oluşturulur; IBAN, alıcı adı, açıklamaya
yazılacak sipariş numarası ve son ödeme tarihi sipariş sonrasında gösterilir ve e-posta ile
gönderilir. Ödeme son ödeme tarihine kadar SATICI hesabına geçmezse sipariş iptal edilir.
5. Fiyatlar sipariş anında geçerli fiyatlardır; sipariş onayından sonra değişiklik ALICI'yı etkilemez.
## 4. Teslimat
1. Ürün, sipariş onayını takiben stok durumuna göre en geç **30 gün** içinde, anlaşmalı kargo
firması (Yurtiçi, Aras, MNG, PTT vb.) aracılığıyla ALICI'nın bildirdiği adrese teslim edilir.
Öngörülen kargoya veriliş süresi ürün sayfasında ayrıca belirtilir (el yapımı/parti üretimi
ürünlerde üretim süresi uygulanabilir).
2. Kargo ücreti sipariş özetinde gösterilir; kampanya belirtilmedikçe ALICI'ya aittir.
3. Teslimde hasarlı/eksik paket için tutanak tutturularak destek@probotstudio.com'a bildirilmelidir.
## 5. Cayma hakkı
1. ALICI, ürünü teslim aldığı tarihten itibaren **14 (on dört) gün** içinde hiçbir gerekçe
göstermeksizin cayma hakkına sahiptir. Cayma bildirimi destek@probotstudio.com adresine
veya yazılı olarak yapılabilir.
2. Cayma halinde ürün, faturası ve tüm parçaları eksiksiz olacak şekilde 10 gün içinde iade
edilir. İade kargo süreci SATICI'nın anlaşmalı taşıyıcısı üzerinden yürütülür; iade
yönergesi cayma bildirimine yanıt olarak paylaşılır.
3. Cayma hakkının kullanımından itibaren 14 gün içinde ödemeler (kargo ve kart ödeme farkı
dahil) ödeme yöntemine iade edilir. Havale/EFT ile yapılan ödemeler ALICI'nın bildirdiği
IBAN'a iade edilir.
4. **İstisnalar (Yönetmelik m.15):** ALICI'nın istekleri doğrultusunda kişiselleştirilen
ürünler; ambalajı açıldıktan sonra iadesi sağlık/hijyen açısından uygun olmayanlar; ve
niteliği itibarıyla iade edilemeyecek ürünler için cayma hakkı kullanılamaz. Elektronik
bileşenlerde lehimlenmiş/monte edilmiş, kullanım izi taşıyan parçalar ayıp incelemesi saklı
kalmak üzere iade kapsamı dışında değerlendirilebilir.
## 6. Ayıplı mal
Ayıplı çıkması halinde ALICI, 6502 sayılı Kanun m.11'deki seçimlik haklarına (onarım, değişim,
bedel iadesi, indirim) sahiptir. Türkçe kurulum dokümanları ve destek kanalı
(destek@probotstudio.com) sağlanır.
## 7. Mücbir sebep
Tarafların kontrolü dışındaki hallerde (doğal afet, salgın, tedarik krizi vb.) yükümlülükler
askıya alınır; 30 günü aşan gecikmede taraflar sözleşmeyi feshedebilir, ödemeler iade edilir.
## 8. Uyuşmazlık
Uyuşmazlıklarda ALICI'nın yerleşim yerindeki Tüketici Hakem Heyetleri (parasal sınırlar
dahilinde) ve Tüketici Mahkemeleri yetkilidir.
## 9. Yürürlük
ALICI, sipariş onayı öncesinde ön bilgilendirme formunu ve işbu sözleşmeyi okuyup elektronik
ortamda onayladığını kabul eder. Sözleşme, sipariş onayı ile kurulur; bir örneği ALICI'nın
e-posta adresine gönderilir.
`,il=`# Ön Bilgilendirme Formu
Mesafeli Sözleşmeler Yönetmeliği m.5 uyarınca, siparişinizi onaylamadan önce aşağıdaki
bilgileri okuyunuz.
## Satıcı
Tuna Gül · Topçular Mah. Cengaver Sk. No:22 D:1, 34055 Eyüpsultan / İstanbul · VKN: 4140655727 ·
E-posta: destek@probotstudio.com
## Ürün ve fiyat
Siparişinize konu ürünlerin temel nitelikleri, adedi, tüm vergiler dahil toplam satış fiyatı ve
kargo ücreti **sipariş özeti sayfasında** gösterilmektedir; bu bilgiler işbu formun ayrılmaz
parçasıdır.
## Ödeme ve teslimat
- Ödeme yöntemleri: kredi/banka kartı (Paratika güvenli ödeme sayfası üzerinden, tek çekim;
taksit uygulanmaz) ya da havale/EFT. Kart bilgileriniz satıcıda tutulmaz.
- Kart ödeme farkı: kartla ödemede, ödeme kuruluşunun işlem bedelini karşılamak üzere ürün ve
kargo toplamına kart ödeme farkı eklenir (güncel oran %4,49). Farkın oranı ve tutarı ödeme
adımında, ödeme yapılmadan önce sipariş özetinde ayrı satır olarak gösterilir. Havale/EFT ile
ödemede bu fark alınmaz.
- Havale/EFT: siparişiniz ödeme bekler durumda oluşturulur. IBAN, alıcı adı, açıklamaya
yazılacak sipariş numarası ve son ödeme tarihi sipariş sonrasında gösterilir ve e-posta ile
gönderilir. Ödeme son ödeme tarihine kadar hesabımıza geçmezse sipariş iptal edilir. Sipariş,
ödeme hesabımıza geçtikten sonra hazırlanır.
- Teslimat: Anlaşmalı kargo ile sipariş özetinde belirtilen adrese; azami 30 gün içinde.
Parti üretimi ürünlerde tahmini kargoya veriliş tarihi ürün sayfasında belirtilir.
- Kargo bedeli: sipariş özetinde gösterilir.
## Cayma hakkı
Teslimden itibaren **14 gün** içinde gerekçesiz cayma hakkınız vardır. Cayma bildiriminizi
destek@probotstudio.com'a iletebilirsiniz. İade süreci ve istisnalar için
[Mesafeli Satış Sözleşmesi](/shop/yasal/mesafeli-satis-sozlesmesi) m.5'e bakınız. Kişiselleştirilmiş
ürünlerde cayma hakkı bulunmaz.
## Şikâyet ve uyuşmazlık
Öncelikle destek@probotstudio.com'a başvurabilirsiniz. Ayrıca yerleşim yerinizdeki Tüketici
Hakem Heyeti ve Tüketici Mahkemelerine başvuru hakkınız saklıdır.
*Bu formu onaylamakla, sipariş verdiğiniz ürünler için ödeme yükümlülüğü altına girdiğinizi
bildiğinizi kabul etmiş olursunuz ("sipariş = ödeme yükümlülüğü").*
`,sl=`# Teslimat ve İade
## Teslimat
- Siparişler anlaşmalı kargo firmalarıyla (Yurtiçi, Aras, MNG, PTT vb.) gönderilir; kargo
ücreti sepette, ödeme öncesinde net olarak gösterilir.
- 10.000 TL ve üzeri siparişlerde kargo ücretsiz.
- Kitlerimiz parti üretimidir: tahmini kargoya veriliş süresi her ürün sayfasında yazar.
Kargoya verildiğinde takip bağlantısı e-postana gelir.
- Paket hasarlı geldiyse kargo görevlisine tutanak tutturup destek@probotstudio.com'a yaz.
## İade (14 gün cayma hakkı)
1. Ürünü teslim aldıktan sonra **14 gün** içinde gerekçe göstermeden iade edebilirsin.
2. destek@probotstudio.com'a sipariş numaranla yaz; iade kargo kodunu gönderelim.
3. Ürünü faturası ve tüm parçalarıyla paketle; kod ile ücretsiz iade kargosuna ver.
4. Ürün bize ulaştıktan sonra bedel 14 gün içinde ödeme yöntemine iade edilir.
**İade kapsamı dışında:** kişiselleştirilmiş ürünler; lehimlenmiş/monte edilip kullanım izi
oluşmuş elektronik parçalar (ayıplı ürün hakların saklıdır - ayıplı üründe onarım/değişim/iade
her zaman geçerli).
Okul ve şirket gibi kurumsal (faturalı) alımlarda cayma hakkı uygulanmaz, iade yapılmaz; ayıplı üründe haklar saklıdır.
Sorun mu var? Önce yaz: **destek@probotstudio.com** - Türkçe destek, gerçek insan.
`,rl=`# Üyelik Sözleşmesi
**Son güncelleme:** 2026-07-03
## 1. Taraflar
İşbu sözleşme, Tuna Gül (Topçular Mah. Cengaver Sk. No:22 D:1, 34055 Eyüpsultan / İstanbul, "Probot") ile probotstudio.com üzerinde
hesap oluşturan kullanıcı ("Üye") arasında, üyeliğin oluşturulmasıyla kurulmuş sayılır.
## 2. Konu
Sözleşme; Üye'nin Probot hesabı ("Probot Hesabı") ile mağaza, Builder, Blocks ve dokümantasyon
dahil Probot hizmetlerinden yararlanma koşullarını düzenler. **Tek hesap tüm Probot ürünlerinde
geçerlidir.**
## 3. Üyelik koşulları
1. Üyelik 18 yaş ve üzeri gerçek kişilere açıktır. Ürünler 8+ yaş kullanıcıya yönelik olsa da
hesap, sipariş ve iletişim veli/reşit kullanıcı üzerinden yürütülür.
2. Üye, kayıt bilgilerinin doğru ve güncel olduğunu taahhüt eder.
3. Hesap ve şifre güvenliği Üye'nin sorumluluğundadır; şifre üçüncü kişilerle paylaşılmaz.
Yetkisiz kullanım şüphesinde destek@probotstudio.com'a bildirim yapılır.
4. Google veya Apple ile giriş kullanıldığında ilgili sağlayıcının koşulları ayrıca geçerlidir.
## 4. Kullanım kuralları
Hizmetin kötüye kullanımı (güvenlik ihlali denemesi, otomatik veri toplama, üçüncü kişi
haklarının ihlali, hukuka aykırı içerik) yasaktır. İhlal halinde Probot üyeliği askıya alabilir
veya feshedebilir.
## 5. KiÅŸisel veriler
Kişisel verilerin işlenmesine ilişkin ayrıntılar [Aydınlatma Metni](/shop/yasal/aydinlatma-metni)'nde yer
alır. Pazarlama iletileri yalnızca ayrıca ve özgürce verilen açık rıza ile gönderilir.
## 6. Fikri mülkiyet
Probot yazılımları, görselleri, doküman ve markaları Probot'a aittir; üyelik bunlar üzerinde
lisans dışında bir hak doğurmaz. Açık kaynak bileşenler kendi lisanslarına tabidir.
## 7. DeÄŸiÅŸiklik ve fesih
1. Üye dilediği an hesabını kapatabilir (destek@probotstudio.com veya hesap ayarları).
2. Probot, sözleşmede makul değişiklikleri siteden duyurarak yapabilir; esaslı değişiklikler
e-posta ile bildirilir.
3. Fesih, doğmuş hak ve borçları etkilemez; yasal saklama süreleri saklıdır.
## 8. Uyuşmazlık
Türk hukuku uygulanır. Tüketici işlemlerinde Üye'nin yerleşim yeri Tüketici Hakem Heyetleri ve
Tüketici Mahkemeleri görevlidir.
`;function Ft(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var na=Ft();function ri(a){na=a}var Ea={exec:()=>null};function q(a,n=""){let i=typeof a=="string"?a:a.source;const r={replace:(s,o)=>{let l=typeof o=="string"?o:o.source;return l=l.replace(ke.caret,"$1"),i=i.replace(s,l),r},getRegex:()=>new RegExp(i,n)};return r}var ke={codeRemoveIndent:/^(?: {1,4}| {0,3}\t)/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceTabs:/^\t+/,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] /,listReplaceTask:/^\[[ xX]\] +/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,unescapeTest:/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:a=>new RegExp(`^( {0,3}${a})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:a=>new RegExp(`^ {0,${Math.min(3,a-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),hrRegex:a=>new RegExp(`^ {0,${Math.min(3,a-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),fencesBeginRegex:a=>new RegExp(`^ {0,${Math.min(3,a-1)}}(?:\`\`\`|~~~)`),headingBeginRegex:a=>new RegExp(`^ {0,${Math.min(3,a-1)}}#`),htmlBeginRegex:a=>new RegExp(`^ {0,${Math.min(3,a-1)}}<(?:[a-z].*>|!--)`,"i")},ll=/^(?:[ \t]*(?:\n|$))+/,ol=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,cl=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,La=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,dl=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,Lt=/(?:[*+-]|\d{1,9}[.)])/,li=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,oi=q(li).replace(/bull/g,Lt).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),ul=q(li).replace(/bull/g,Lt).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),It=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,ml=/^[^\n]+/,$t=/(?!\s*\])(?:\\.|[^\[\]\\])+/,hl=q(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",$t).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),pl=q(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,Lt).getRegex(),st="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",Kt=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,kl=q("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))","i").replace("comment",Kt).replace("tag",st).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),ci=q(It).replace("hr",La).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",st).getRegex(),gl=q(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",ci).getRegex(),Dt={blockquote:gl,code:ol,def:hl,fences:cl,heading:dl,hr:La,html:kl,lheading:oi,list:pl,newline:ll,paragraph:ci,table:Ea,text:ml},Sn=q("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",La).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3} )[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",st).getRegex(),fl={...Dt,lheading:ul,table:Sn,paragraph:q(It).replace("hr",La).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",Sn).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",st).getRegex()},yl={...Dt,html:q(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",Kt).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:Ea,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:q(It).replace("hr",La).replace("heading",` *#{1,6} *[^
]`).replace("lheading",oi).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},xl=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,bl=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,di=/^( {2,}|\\)\n(?!\s*$)/,jl=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,rt=/[\p{P}\p{S}]/u,Ot=/[\s\p{P}\p{S}]/u,ui=/[^\s\p{P}\p{S}]/u,vl=q(/^((?![*_])punctSpace)/,"u").replace(/punctSpace/g,Ot).getRegex(),mi=/(?!~)[\p{P}\p{S}]/u,Nl=/(?!~)[\s\p{P}\p{S}]/u,zl=/(?:[^\s\p{P}\p{S}]|~)/u,Sl=/\[[^[\]]*?\]\((?:\\.|[^\\\(\)]|\((?:\\.|[^\\\(\)])*\))*\)|`[^`]*?`|<[^<>]*?>/g,hi=/^(?:\*+(?:((?!\*)punct)|[^\s*]))|^_+(?:((?!_)punct)|([^\s_]))/,wl=q(hi,"u").replace(/punct/g,rt).getRegex(),_l=q(hi,"u").replace(/punct/g,mi).getRegex(),pi="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",Al=q(pi,"gu").replace(/notPunctSpace/g,ui).replace(/punctSpace/g,Ot).replace(/punct/g,rt).getRegex(),Tl=q(pi,"gu").replace(/notPunctSpace/g,zl).replace(/punctSpace/g,Nl).replace(/punct/g,mi).getRegex(),El=q("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,ui).replace(/punctSpace/g,Ot).replace(/punct/g,rt).getRegex(),Cl=q(/\\(punct)/,"gu").replace(/punct/g,rt).getRegex(),Pl=q(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),Bl=q(Kt).replace("(?:-->|$)","-->").getRegex(),Rl=q("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment",Bl).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),Xa=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,Fl=q(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]*(?:\n[ \t]*)?)(title))?\s*\)/).replace("label",Xa).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),ki=q(/^!?\[(label)\]\[(ref)\]/).replace("label",Xa).replace("ref",$t).getRegex(),gi=q(/^!?\[(ref)\](?:\[\])?/).replace("ref",$t).getRegex(),Ll=q("reflink|nolink(?!\\()","g").replace("reflink",ki).replace("nolink",gi).getRegex(),Mt={_backpedal:Ea,anyPunctuation:Cl,autolink:Pl,blockSkip:Sl,br:di,code:bl,del:Ea,emStrongLDelim:wl,emStrongRDelimAst:Al,emStrongRDelimUnd:El,escape:xl,link:Fl,nolink:gi,punctuation:vl,reflink:ki,reflinkSearch:Ll,tag:Rl,text:jl,url:Ea},Il={...Mt,link:q(/^!?\[(label)\]\((.*?)\)/).replace("label",Xa).getRegex(),reflink:q(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",Xa).getRegex()},zt={...Mt,emStrongRDelimAst:Tl,emStrongLDelim:_l,url:q(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,"i").replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\.|[^\\])*?(?:\\.|[^\s~\\]))\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|https?:\/\/|ftp:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/},$l={...zt,br:q(di).replace("{2,}","*").getRegex(),text:q(zt.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},Ha={normal:Dt,gfm:fl,pedantic:yl},wa={normal:Mt,gfm:zt,breaks:$l,pedantic:Il},Kl={"&":"&","<":"<",">":">",'"':""","'":"'"},wn=a=>Kl[a];function Fe(a,n){if(n){if(ke.escapeTest.test(a))return a.replace(ke.escapeReplace,wn)}else if(ke.escapeTestNoEncode.test(a))return a.replace(ke.escapeReplaceNoEncode,wn);return a}function _n(a){try{a=encodeURI(a).replace(ke.percentDecode,"%")}catch{return null}return a}function An(a,n){const i=a.replace(ke.findPipe,(o,l,c)=>{let d=!1,m=l;for(;--m>=0&&c[m]==="\\";)d=!d;return d?"|":" |"}),r=i.split(ke.splitPipe);let s=0;if(r[0].trim()||r.shift(),r.length>0&&!r.at(-1)?.trim()&&r.pop(),n)if(r.length>n)r.splice(n);else for(;r.length<n;)r.push("");for(;s<r.length;s++)r[s]=r[s].trim().replace(ke.slashPipe,"|");return r}function _a(a,n,i){const r=a.length;if(r===0)return"";let s=0;for(;s<r&&a.charAt(r-s-1)===n;)s++;return a.slice(0,r-s)}function Dl(a,n){if(a.indexOf(n[1])===-1)return-1;let i=0;for(let r=0;r<a.length;r++)if(a[r]==="\\")r++;else if(a[r]===n[0])i++;else if(a[r]===n[1]&&(i--,i<0))return r;return i>0?-2:-1}function Tn(a,n,i,r,s){const o=n.href,l=n.title||null,c=a[1].replace(s.other.outputLinkReplace,"$1");r.state.inLink=!0;const d={type:a[0].charAt(0)==="!"?"image":"link",raw:i,href:o,title:l,text:c,tokens:r.inlineTokens(c)};return r.state.inLink=!1,d}function Ol(a,n,i){const r=a.match(i.other.indentCodeCompensation);if(r===null)return n;const s=r[1];return n.split(`
`).map(o=>{const l=o.match(i.other.beginningSpace);if(l===null)return o;const[c]=l;return c.length>=s.length?o.slice(s.length):o}).join(`
`)}var et=class{options;rules;lexer;constructor(a){this.options=a||na}space(a){const n=this.rules.block.newline.exec(a);if(n&&n[0].length>0)return{type:"space",raw:n[0]}}code(a){const n=this.rules.block.code.exec(a);if(n){const i=n[0].replace(this.rules.other.codeRemoveIndent,"");return{type:"code",raw:n[0],codeBlockStyle:"indented",text:this.options.pedantic?i:_a(i,`
`)}}}fences(a){const n=this.rules.block.fences.exec(a);if(n){const i=n[0],r=Ol(i,n[3]||"",this.rules);return{type:"code",raw:i,lang:n[2]?n[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):n[2],text:r}}}heading(a){const n=this.rules.block.heading.exec(a);if(n){let i=n[2].trim();if(this.rules.other.endingHash.test(i)){const r=_a(i,"#");(this.options.pedantic||!r||this.rules.other.endingSpaceChar.test(r))&&(i=r.trim())}return{type:"heading",raw:n[0],depth:n[1].length,text:i,tokens:this.lexer.inline(i)}}}hr(a){const n=this.rules.block.hr.exec(a);if(n)return{type:"hr",raw:_a(n[0],`
`)}}blockquote(a){const n=this.rules.block.blockquote.exec(a);if(n){let i=_a(n[0],`
`).split(`
`),r="",s="";const o=[];for(;i.length>0;){let l=!1;const c=[];let d;for(d=0;d<i.length;d++)if(this.rules.other.blockquoteStart.test(i[d]))c.push(i[d]),l=!0;else if(!l)c.push(i[d]);else break;i=i.slice(d);const m=c.join(`
`),f=m.replace(this.rules.other.blockquoteSetextReplace,`
$1`).replace(this.rules.other.blockquoteSetextReplace2,"");r=r?`${r}
${m}`:m,s=s?`${s}
${f}`:f;const g=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(f,o,!0),this.lexer.state.top=g,i.length===0)break;const x=o.at(-1);if(x?.type==="code")break;if(x?.type==="blockquote"){const k=x,h=k.raw+`
`+i.join(`
`),v=this.blockquote(h);o[o.length-1]=v,r=r.substring(0,r.length-k.raw.length)+v.raw,s=s.substring(0,s.length-k.text.length)+v.text;break}else if(x?.type==="list"){const k=x,h=k.raw+`
`+i.join(`
`),v=this.list(h);o[o.length-1]=v,r=r.substring(0,r.length-x.raw.length)+v.raw,s=s.substring(0,s.length-k.raw.length)+v.raw,i=h.substring(o.at(-1).raw.length).split(`
`);continue}}return{type:"blockquote",raw:r,tokens:o,text:s}}}list(a){let n=this.rules.block.list.exec(a);if(n){let i=n[1].trim();const r=i.length>1,s={type:"list",raw:"",ordered:r,start:r?+i.slice(0,-1):"",loose:!1,items:[]};i=r?`\\d{1,9}\\${i.slice(-1)}`:`\\${i}`,this.options.pedantic&&(i=r?i:"[*+-]");const o=this.rules.other.listItemRegex(i);let l=!1;for(;a;){let d=!1,m="",f="";if(!(n=o.exec(a))||this.rules.block.hr.test(a))break;m=n[0],a=a.substring(m.length);let g=n[2].split(`
`,1)[0].replace(this.rules.other.listReplaceTabs,j=>" ".repeat(3*j.length)),x=a.split(`
`,1)[0],k=!g.trim(),h=0;if(this.options.pedantic?(h=2,f=g.trimStart()):k?h=n[1].length+1:(h=n[2].search(this.rules.other.nonSpaceChar),h=h>4?1:h,f=g.slice(h),h+=n[1].length),k&&this.rules.other.blankLine.test(x)&&(m+=x+`
`,a=a.substring(x.length+1),d=!0),!d){const j=this.rules.other.nextBulletRegex(h),b=this.rules.other.hrRegex(h),C=this.rules.other.fencesBeginRegex(h),S=this.rules.other.headingBeginRegex(h),L=this.rules.other.htmlBeginRegex(h);for(;a;){const K=a.split(`
`,1)[0];let G;if(x=K,this.options.pedantic?(x=x.replace(this.rules.other.listReplaceNesting," "),G=x):G=x.replace(this.rules.other.tabCharGlobal," "),C.test(x)||S.test(x)||L.test(x)||j.test(x)||b.test(x))break;if(G.search(this.rules.other.nonSpaceChar)>=h||!x.trim())f+=`
`+G.slice(h);else{if(k||g.replace(this.rules.other.tabCharGlobal," ").search(this.rules.other.nonSpaceChar)>=4||C.test(g)||S.test(g)||b.test(g))break;f+=`
`+x}!k&&!x.trim()&&(k=!0),m+=K+`
`,a=a.substring(K.length+1),g=G.slice(h)}}s.loose||(l?s.loose=!0:this.rules.other.doubleBlankLine.test(m)&&(l=!0));let v=null,z;this.options.gfm&&(v=this.rules.other.listIsTask.exec(f),v&&(z=v[0]!=="[ ] ",f=f.replace(this.rules.other.listReplaceTask,""))),s.items.push({type:"list_item",raw:m,task:!!v,checked:z,loose:!1,text:f,tokens:[]}),s.raw+=m}const c=s.items.at(-1);if(c)c.raw=c.raw.trimEnd(),c.text=c.text.trimEnd();else return;s.raw=s.raw.trimEnd();for(let d=0;d<s.items.length;d++)if(this.lexer.state.top=!1,s.items[d].tokens=this.lexer.blockTokens(s.items[d].text,[]),!s.loose){const m=s.items[d].tokens.filter(g=>g.type==="space"),f=m.length>0&&m.some(g=>this.rules.other.anyLine.test(g.raw));s.loose=f}if(s.loose)for(let d=0;d<s.items.length;d++)s.items[d].loose=!0;return s}}html(a){const n=this.rules.block.html.exec(a);if(n)return{type:"html",block:!0,raw:n[0],pre:n[1]==="pre"||n[1]==="script"||n[1]==="style",text:n[0]}}def(a){const n=this.rules.block.def.exec(a);if(n){const i=n[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal," "),r=n[2]?n[2].replace(this.rules.other.hrefBrackets,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",s=n[3]?n[3].substring(1,n[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):n[3];return{type:"def",tag:i,raw:n[0],href:r,title:s}}}table(a){const n=this.rules.block.table.exec(a);if(!n||!this.rules.other.tableDelimiter.test(n[2]))return;const i=An(n[1]),r=n[2].replace(this.rules.other.tableAlignChars,"").split("|"),s=n[3]?.trim()?n[3].replace(this.rules.other.tableRowBlankLine,"").split(`
`):[],o={type:"table",raw:n[0],header:[],align:[],rows:[]};if(i.length===r.length){for(const l of r)this.rules.other.tableAlignRight.test(l)?o.align.push("right"):this.rules.other.tableAlignCenter.test(l)?o.align.push("center"):this.rules.other.tableAlignLeft.test(l)?o.align.push("left"):o.align.push(null);for(let l=0;l<i.length;l++)o.header.push({text:i[l],tokens:this.lexer.inline(i[l]),header:!0,align:o.align[l]});for(const l of s)o.rows.push(An(l,o.header.length).map((c,d)=>({text:c,tokens:this.lexer.inline(c),header:!1,align:o.align[d]})));return o}}lheading(a){const n=this.rules.block.lheading.exec(a);if(n)return{type:"heading",raw:n[0],depth:n[2].charAt(0)==="="?1:2,text:n[1],tokens:this.lexer.inline(n[1])}}paragraph(a){const n=this.rules.block.paragraph.exec(a);if(n){const i=n[1].charAt(n[1].length-1)===`
`?n[1].slice(0,-1):n[1];return{type:"paragraph",raw:n[0],text:i,tokens:this.lexer.inline(i)}}}text(a){const n=this.rules.block.text.exec(a);if(n)return{type:"text",raw:n[0],text:n[0],tokens:this.lexer.inline(n[0])}}escape(a){const n=this.rules.inline.escape.exec(a);if(n)return{type:"escape",raw:n[0],text:n[1]}}tag(a){const n=this.rules.inline.tag.exec(a);if(n)return!this.lexer.state.inLink&&this.rules.other.startATag.test(n[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(n[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(n[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(n[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:n[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:n[0]}}link(a){const n=this.rules.inline.link.exec(a);if(n){const i=n[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(i)){if(!this.rules.other.endAngleBracket.test(i))return;const o=_a(i.slice(0,-1),"\\");if((i.length-o.length)%2===0)return}else{const o=Dl(n[2],"()");if(o===-2)return;if(o>-1){const c=(n[0].indexOf("!")===0?5:4)+n[1].length+o;n[2]=n[2].substring(0,o),n[0]=n[0].substring(0,c).trim(),n[3]=""}}let r=n[2],s="";if(this.options.pedantic){const o=this.rules.other.pedanticHrefTitle.exec(r);o&&(r=o[1],s=o[3])}else s=n[3]?n[3].slice(1,-1):"";return r=r.trim(),this.rules.other.startAngleBracket.test(r)&&(this.options.pedantic&&!this.rules.other.endAngleBracket.test(i)?r=r.slice(1):r=r.slice(1,-1)),Tn(n,{href:r&&r.replace(this.rules.inline.anyPunctuation,"$1"),title:s&&s.replace(this.rules.inline.anyPunctuation,"$1")},n[0],this.lexer,this.rules)}}reflink(a,n){let i;if((i=this.rules.inline.reflink.exec(a))||(i=this.rules.inline.nolink.exec(a))){const r=(i[2]||i[1]).replace(this.rules.other.multipleSpaceGlobal," "),s=n[r.toLowerCase()];if(!s){const o=i[0].charAt(0);return{type:"text",raw:o,text:o}}return Tn(i,s,i[0],this.lexer,this.rules)}}emStrong(a,n,i=""){let r=this.rules.inline.emStrongLDelim.exec(a);if(!r||r[3]&&i.match(this.rules.other.unicodeAlphaNumeric))return;if(!(r[1]||r[2]||"")||!i||this.rules.inline.punctuation.exec(i)){const o=[...r[0]].length-1;let l,c,d=o,m=0;const f=r[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(f.lastIndex=0,n=n.slice(-1*a.length+o);(r=f.exec(n))!=null;){if(l=r[1]||r[2]||r[3]||r[4]||r[5]||r[6],!l)continue;if(c=[...l].length,r[3]||r[4]){d+=c;continue}else if((r[5]||r[6])&&o%3&&!((o+c)%3)){m+=c;continue}if(d-=c,d>0)continue;c=Math.min(c,c+d+m);const g=[...r[0]][0].length,x=a.slice(0,o+r.index+g+c);if(Math.min(o,c)%2){const h=x.slice(1,-1);return{type:"em",raw:x,text:h,tokens:this.lexer.inlineTokens(h)}}const k=x.slice(2,-2);return{type:"strong",raw:x,text:k,tokens:this.lexer.inlineTokens(k)}}}}codespan(a){const n=this.rules.inline.code.exec(a);if(n){let i=n[2].replace(this.rules.other.newLineCharGlobal," ");const r=this.rules.other.nonSpaceChar.test(i),s=this.rules.other.startingSpaceChar.test(i)&&this.rules.other.endingSpaceChar.test(i);return r&&s&&(i=i.substring(1,i.length-1)),{type:"codespan",raw:n[0],text:i}}}br(a){const n=this.rules.inline.br.exec(a);if(n)return{type:"br",raw:n[0]}}del(a){const n=this.rules.inline.del.exec(a);if(n)return{type:"del",raw:n[0],text:n[2],tokens:this.lexer.inlineTokens(n[2])}}autolink(a){const n=this.rules.inline.autolink.exec(a);if(n){let i,r;return n[2]==="@"?(i=n[1],r="mailto:"+i):(i=n[1],r=i),{type:"link",raw:n[0],text:i,href:r,tokens:[{type:"text",raw:i,text:i}]}}}url(a){let n;if(n=this.rules.inline.url.exec(a)){let i,r;if(n[2]==="@")i=n[0],r="mailto:"+i;else{let s;do s=n[0],n[0]=this.rules.inline._backpedal.exec(n[0])?.[0]??"";while(s!==n[0]);i=n[0],n[1]==="www."?r="http://"+n[0]:r=n[0]}return{type:"link",raw:n[0],text:i,href:r,tokens:[{type:"text",raw:i,text:i}]}}}inlineText(a){const n=this.rules.inline.text.exec(a);if(n){const i=this.lexer.state.inRawBlock;return{type:"text",raw:n[0],text:n[0],escaped:i}}}},De=class St{tokens;options;state;tokenizer;inlineQueue;constructor(n){this.tokens=[],this.tokens.links=Object.create(null),this.options=n||na,this.options.tokenizer=this.options.tokenizer||new et,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};const i={other:ke,block:Ha.normal,inline:wa.normal};this.options.pedantic?(i.block=Ha.pedantic,i.inline=wa.pedantic):this.options.gfm&&(i.block=Ha.gfm,this.options.breaks?i.inline=wa.breaks:i.inline=wa.gfm),this.tokenizer.rules=i}static get rules(){return{block:Ha,inline:wa}}static lex(n,i){return new St(i).lex(n)}static lexInline(n,i){return new St(i).inlineTokens(n)}lex(n){n=n.replace(ke.carriageReturn,`
`),this.blockTokens(n,this.tokens);for(let i=0;i<this.inlineQueue.length;i++){const r=this.inlineQueue[i];this.inlineTokens(r.src,r.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(n,i=[],r=!1){for(this.options.pedantic&&(n=n.replace(ke.tabCharGlobal," ").replace(ke.spaceLine,""));n;){let s;if(this.options.extensions?.block?.some(l=>(s=l.call({lexer:this},n,i))?(n=n.substring(s.raw.length),i.push(s),!0):!1))continue;if(s=this.tokenizer.space(n)){n=n.substring(s.raw.length);const l=i.at(-1);s.raw.length===1&&l!==void 0?l.raw+=`
`:i.push(s);continue}if(s=this.tokenizer.code(n)){n=n.substring(s.raw.length);const l=i.at(-1);l?.type==="paragraph"||l?.type==="text"?(l.raw+=`
`+s.raw,l.text+=`
`+s.text,this.inlineQueue.at(-1).src=l.text):i.push(s);continue}if(s=this.tokenizer.fences(n)){n=n.substring(s.raw.length),i.push(s);continue}if(s=this.tokenizer.heading(n)){n=n.substring(s.raw.length),i.push(s);continue}if(s=this.tokenizer.hr(n)){n=n.substring(s.raw.length),i.push(s);continue}if(s=this.tokenizer.blockquote(n)){n=n.substring(s.raw.length),i.push(s);continue}if(s=this.tokenizer.list(n)){n=n.substring(s.raw.length),i.push(s);continue}if(s=this.tokenizer.html(n)){n=n.substring(s.raw.length),i.push(s);continue}if(s=this.tokenizer.def(n)){n=n.substring(s.raw.length);const l=i.at(-1);l?.type==="paragraph"||l?.type==="text"?(l.raw+=`
`+s.raw,l.text+=`
`+s.raw,this.inlineQueue.at(-1).src=l.text):this.tokens.links[s.tag]||(this.tokens.links[s.tag]={href:s.href,title:s.title});continue}if(s=this.tokenizer.table(n)){n=n.substring(s.raw.length),i.push(s);continue}if(s=this.tokenizer.lheading(n)){n=n.substring(s.raw.length),i.push(s);continue}let o=n;if(this.options.extensions?.startBlock){let l=1/0;const c=n.slice(1);let d;this.options.extensions.startBlock.forEach(m=>{d=m.call({lexer:this},c),typeof d=="number"&&d>=0&&(l=Math.min(l,d))}),l<1/0&&l>=0&&(o=n.substring(0,l+1))}if(this.state.top&&(s=this.tokenizer.paragraph(o))){const l=i.at(-1);r&&l?.type==="paragraph"?(l.raw+=`
`+s.raw,l.text+=`
`+s.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=l.text):i.push(s),r=o.length!==n.length,n=n.substring(s.raw.length);continue}if(s=this.tokenizer.text(n)){n=n.substring(s.raw.length);const l=i.at(-1);l?.type==="text"?(l.raw+=`
`+s.raw,l.text+=`
`+s.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=l.text):i.push(s);continue}if(n){const l="Infinite loop on byte: "+n.charCodeAt(0);if(this.options.silent){console.error(l);break}else throw new Error(l)}}return this.state.top=!0,i}inline(n,i=[]){return this.inlineQueue.push({src:n,tokens:i}),i}inlineTokens(n,i=[]){let r=n,s=null;if(this.tokens.links){const c=Object.keys(this.tokens.links);if(c.length>0)for(;(s=this.tokenizer.rules.inline.reflinkSearch.exec(r))!=null;)c.includes(s[0].slice(s[0].lastIndexOf("[")+1,-1))&&(r=r.slice(0,s.index)+"["+"a".repeat(s[0].length-2)+"]"+r.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(s=this.tokenizer.rules.inline.anyPunctuation.exec(r))!=null;)r=r.slice(0,s.index)+"++"+r.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);for(;(s=this.tokenizer.rules.inline.blockSkip.exec(r))!=null;)r=r.slice(0,s.index)+"["+"a".repeat(s[0].length-2)+"]"+r.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);let o=!1,l="";for(;n;){o||(l=""),o=!1;let c;if(this.options.extensions?.inline?.some(m=>(c=m.call({lexer:this},n,i))?(n=n.substring(c.raw.length),i.push(c),!0):!1))continue;if(c=this.tokenizer.escape(n)){n=n.substring(c.raw.length),i.push(c);continue}if(c=this.tokenizer.tag(n)){n=n.substring(c.raw.length),i.push(c);continue}if(c=this.tokenizer.link(n)){n=n.substring(c.raw.length),i.push(c);continue}if(c=this.tokenizer.reflink(n,this.tokens.links)){n=n.substring(c.raw.length);const m=i.at(-1);c.type==="text"&&m?.type==="text"?(m.raw+=c.raw,m.text+=c.text):i.push(c);continue}if(c=this.tokenizer.emStrong(n,r,l)){n=n.substring(c.raw.length),i.push(c);continue}if(c=this.tokenizer.codespan(n)){n=n.substring(c.raw.length),i.push(c);continue}if(c=this.tokenizer.br(n)){n=n.substring(c.raw.length),i.push(c);continue}if(c=this.tokenizer.del(n)){n=n.substring(c.raw.length),i.push(c);continue}if(c=this.tokenizer.autolink(n)){n=n.substring(c.raw.length),i.push(c);continue}if(!this.state.inLink&&(c=this.tokenizer.url(n))){n=n.substring(c.raw.length),i.push(c);continue}let d=n;if(this.options.extensions?.startInline){let m=1/0;const f=n.slice(1);let g;this.options.extensions.startInline.forEach(x=>{g=x.call({lexer:this},f),typeof g=="number"&&g>=0&&(m=Math.min(m,g))}),m<1/0&&m>=0&&(d=n.substring(0,m+1))}if(c=this.tokenizer.inlineText(d)){n=n.substring(c.raw.length),c.raw.slice(-1)!=="_"&&(l=c.raw.slice(-1)),o=!0;const m=i.at(-1);m?.type==="text"?(m.raw+=c.raw,m.text+=c.text):i.push(c);continue}if(n){const m="Infinite loop on byte: "+n.charCodeAt(0);if(this.options.silent){console.error(m);break}else throw new Error(m)}}return i}},at=class{options;parser;constructor(a){this.options=a||na}space(a){return""}code({text:a,lang:n,escaped:i}){const r=(n||"").match(ke.notSpaceStart)?.[0],s=a.replace(ke.endingNewline,"")+`
`;return r?'<pre><code class="language-'+Fe(r)+'">'+(i?s:Fe(s,!0))+`</code></pre>
`:"<pre><code>"+(i?s:Fe(s,!0))+`</code></pre>
`}blockquote({tokens:a}){return`<blockquote>
${this.parser.parse(a)}</blockquote>
`}html({text:a}){return a}heading({tokens:a,depth:n}){return`<h${n}>${this.parser.parseInline(a)}</h${n}>
`}hr(a){return`<hr>
`}list(a){const n=a.ordered,i=a.start;let r="";for(let l=0;l<a.items.length;l++){const c=a.items[l];r+=this.listitem(c)}const s=n?"ol":"ul",o=n&&i!==1?' start="'+i+'"':"";return"<"+s+o+`>
`+r+"</"+s+`>
`}listitem(a){let n="";if(a.task){const i=this.checkbox({checked:!!a.checked});a.loose?a.tokens[0]?.type==="paragraph"?(a.tokens[0].text=i+" "+a.tokens[0].text,a.tokens[0].tokens&&a.tokens[0].tokens.length>0&&a.tokens[0].tokens[0].type==="text"&&(a.tokens[0].tokens[0].text=i+" "+Fe(a.tokens[0].tokens[0].text),a.tokens[0].tokens[0].escaped=!0)):a.tokens.unshift({type:"text",raw:i+" ",text:i+" ",escaped:!0}):n+=i+" "}return n+=this.parser.parse(a.tokens,!!a.loose),`<li>${n}</li>
`}checkbox({checked:a}){return"<input "+(a?'checked="" ':"")+'disabled="" type="checkbox">'}paragraph({tokens:a}){return`<p>${this.parser.parseInline(a)}</p>
`}table(a){let n="",i="";for(let s=0;s<a.header.length;s++)i+=this.tablecell(a.header[s]);n+=this.tablerow({text:i});let r="";for(let s=0;s<a.rows.length;s++){const o=a.rows[s];i="";for(let l=0;l<o.length;l++)i+=this.tablecell(o[l]);r+=this.tablerow({text:i})}return r&&(r=`<tbody>${r}</tbody>`),`<table>
<thead>
`+n+`</thead>
`+r+`</table>
`}tablerow({text:a}){return`<tr>
${a}</tr>
`}tablecell(a){const n=this.parser.parseInline(a.tokens),i=a.header?"th":"td";return(a.align?`<${i} align="${a.align}">`:`<${i}>`)+n+`</${i}>
`}strong({tokens:a}){return`<strong>${this.parser.parseInline(a)}</strong>`}em({tokens:a}){return`<em>${this.parser.parseInline(a)}</em>`}codespan({text:a}){return`<code>${Fe(a,!0)}</code>`}br(a){return"<br>"}del({tokens:a}){return`<del>${this.parser.parseInline(a)}</del>`}link({href:a,title:n,tokens:i}){const r=this.parser.parseInline(i),s=_n(a);if(s===null)return r;a=s;let o='<a href="'+a+'"';return n&&(o+=' title="'+Fe(n)+'"'),o+=">"+r+"</a>",o}image({href:a,title:n,text:i,tokens:r}){r&&(i=this.parser.parseInline(r,this.parser.textRenderer));const s=_n(a);if(s===null)return Fe(i);a=s;let o=`<img src="${a}" alt="${i}"`;return n&&(o+=` title="${Fe(n)}"`),o+=">",o}text(a){return"tokens"in a&&a.tokens?this.parser.parseInline(a.tokens):"escaped"in a&&a.escaped?a.text:Fe(a.text)}},qt=class{strong({text:a}){return a}em({text:a}){return a}codespan({text:a}){return a}del({text:a}){return a}html({text:a}){return a}text({text:a}){return a}link({text:a}){return""+a}image({text:a}){return""+a}br(){return""}},Oe=class wt{options;renderer;textRenderer;constructor(n){this.options=n||na,this.options.renderer=this.options.renderer||new at,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new qt}static parse(n,i){return new wt(i).parse(n)}static parseInline(n,i){return new wt(i).parseInline(n)}parse(n,i=!0){let r="";for(let s=0;s<n.length;s++){const o=n[s];if(this.options.extensions?.renderers?.[o.type]){const c=o,d=this.options.extensions.renderers[c.type].call({parser:this},c);if(d!==!1||!["space","hr","heading","code","table","blockquote","list","html","paragraph","text"].includes(c.type)){r+=d||"";continue}}const l=o;switch(l.type){case"space":{r+=this.renderer.space(l);continue}case"hr":{r+=this.renderer.hr(l);continue}case"heading":{r+=this.renderer.heading(l);continue}case"code":{r+=this.renderer.code(l);continue}case"table":{r+=this.renderer.table(l);continue}case"blockquote":{r+=this.renderer.blockquote(l);continue}case"list":{r+=this.renderer.list(l);continue}case"html":{r+=this.renderer.html(l);continue}case"paragraph":{r+=this.renderer.paragraph(l);continue}case"text":{let c=l,d=this.renderer.text(c);for(;s+1<n.length&&n[s+1].type==="text";)c=n[++s],d+=`
`+this.renderer.text(c);i?r+=this.renderer.paragraph({type:"paragraph",raw:d,text:d,tokens:[{type:"text",raw:d,text:d,escaped:!0}]}):r+=d;continue}default:{const c='Token with "'+l.type+'" type was not found.';if(this.options.silent)return console.error(c),"";throw new Error(c)}}}return r}parseInline(n,i=this.renderer){let r="";for(let s=0;s<n.length;s++){const o=n[s];if(this.options.extensions?.renderers?.[o.type]){const c=this.options.extensions.renderers[o.type].call({parser:this},o);if(c!==!1||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(o.type)){r+=c||"";continue}}const l=o;switch(l.type){case"escape":{r+=i.text(l);break}case"html":{r+=i.html(l);break}case"link":{r+=i.link(l);break}case"image":{r+=i.image(l);break}case"strong":{r+=i.strong(l);break}case"em":{r+=i.em(l);break}case"codespan":{r+=i.codespan(l);break}case"br":{r+=i.br(l);break}case"del":{r+=i.del(l);break}case"text":{r+=i.text(l);break}default:{const c='Token with "'+l.type+'" type was not found.';if(this.options.silent)return console.error(c),"";throw new Error(c)}}}return r}},Ua=class{options;block;constructor(a){this.options=a||na}static passThroughHooks=new Set(["preprocess","postprocess","processAllTokens"]);preprocess(a){return a}postprocess(a){return a}processAllTokens(a){return a}provideLexer(){return this.block?De.lex:De.lexInline}provideParser(){return this.block?Oe.parse:Oe.parseInline}},Ml=class{defaults=Ft();options=this.setOptions;parse=this.parseMarkdown(!0);parseInline=this.parseMarkdown(!1);Parser=Oe;Renderer=at;TextRenderer=qt;Lexer=De;Tokenizer=et;Hooks=Ua;constructor(...a){this.use(...a)}walkTokens(a,n){let i=[];for(const r of a)switch(i=i.concat(n.call(this,r)),r.type){case"table":{const s=r;for(const o of s.header)i=i.concat(this.walkTokens(o.tokens,n));for(const o of s.rows)for(const l of o)i=i.concat(this.walkTokens(l.tokens,n));break}case"list":{const s=r;i=i.concat(this.walkTokens(s.items,n));break}default:{const s=r;this.defaults.extensions?.childTokens?.[s.type]?this.defaults.extensions.childTokens[s.type].forEach(o=>{const l=s[o].flat(1/0);i=i.concat(this.walkTokens(l,n))}):s.tokens&&(i=i.concat(this.walkTokens(s.tokens,n)))}}return i}use(...a){const n=this.defaults.extensions||{renderers:{},childTokens:{}};return a.forEach(i=>{const r={...i};if(r.async=this.defaults.async||r.async||!1,i.extensions&&(i.extensions.forEach(s=>{if(!s.name)throw new Error("extension name required");if("renderer"in s){const o=n.renderers[s.name];o?n.renderers[s.name]=function(...l){let c=s.renderer.apply(this,l);return c===!1&&(c=o.apply(this,l)),c}:n.renderers[s.name]=s.renderer}if("tokenizer"in s){if(!s.level||s.level!=="block"&&s.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");const o=n[s.level];o?o.unshift(s.tokenizer):n[s.level]=[s.tokenizer],s.start&&(s.level==="block"?n.startBlock?n.startBlock.push(s.start):n.startBlock=[s.start]:s.level==="inline"&&(n.startInline?n.startInline.push(s.start):n.startInline=[s.start]))}"childTokens"in s&&s.childTokens&&(n.childTokens[s.name]=s.childTokens)}),r.extensions=n),i.renderer){const s=this.defaults.renderer||new at(this.defaults);for(const o in i.renderer){if(!(o in s))throw new Error(`renderer '${o}' does not exist`);if(["options","parser"].includes(o))continue;const l=o,c=i.renderer[l],d=s[l];s[l]=(...m)=>{let f=c.apply(s,m);return f===!1&&(f=d.apply(s,m)),f||""}}r.renderer=s}if(i.tokenizer){const s=this.defaults.tokenizer||new et(this.defaults);for(const o in i.tokenizer){if(!(o in s))throw new Error(`tokenizer '${o}' does not exist`);if(["options","rules","lexer"].includes(o))continue;const l=o,c=i.tokenizer[l],d=s[l];s[l]=(...m)=>{let f=c.apply(s,m);return f===!1&&(f=d.apply(s,m)),f}}r.tokenizer=s}if(i.hooks){const s=this.defaults.hooks||new Ua;for(const o in i.hooks){if(!(o in s))throw new Error(`hook '${o}' does not exist`);if(["options","block"].includes(o))continue;const l=o,c=i.hooks[l],d=s[l];Ua.passThroughHooks.has(o)?s[l]=m=>{if(this.defaults.async)return Promise.resolve(c.call(s,m)).then(g=>d.call(s,g));const f=c.call(s,m);return d.call(s,f)}:s[l]=(...m)=>{let f=c.apply(s,m);return f===!1&&(f=d.apply(s,m)),f}}r.hooks=s}if(i.walkTokens){const s=this.defaults.walkTokens,o=i.walkTokens;r.walkTokens=function(l){let c=[];return c.push(o.call(this,l)),s&&(c=c.concat(s.call(this,l))),c}}this.defaults={...this.defaults,...r}}),this}setOptions(a){return this.defaults={...this.defaults,...a},this}lexer(a,n){return De.lex(a,n??this.defaults)}parser(a,n){return Oe.parse(a,n??this.defaults)}parseMarkdown(a){return(i,r)=>{const s={...r},o={...this.defaults,...s},l=this.onError(!!o.silent,!!o.async);if(this.defaults.async===!0&&s.async===!1)return l(new Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(typeof i>"u"||i===null)return l(new Error("marked(): input parameter is undefined or null"));if(typeof i!="string")return l(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(i)+", string expected"));o.hooks&&(o.hooks.options=o,o.hooks.block=a);const c=o.hooks?o.hooks.provideLexer():a?De.lex:De.lexInline,d=o.hooks?o.hooks.provideParser():a?Oe.parse:Oe.parseInline;if(o.async)return Promise.resolve(o.hooks?o.hooks.preprocess(i):i).then(m=>c(m,o)).then(m=>o.hooks?o.hooks.processAllTokens(m):m).then(m=>o.walkTokens?Promise.all(this.walkTokens(m,o.walkTokens)).then(()=>m):m).then(m=>d(m,o)).then(m=>o.hooks?o.hooks.postprocess(m):m).catch(l);try{o.hooks&&(i=o.hooks.preprocess(i));let m=c(i,o);o.hooks&&(m=o.hooks.processAllTokens(m)),o.walkTokens&&this.walkTokens(m,o.walkTokens);let f=d(m,o);return o.hooks&&(f=o.hooks.postprocess(f)),f}catch(m){return l(m)}}}onError(a,n){return i=>{if(i.message+=`
Please report this to https://github.com/markedjs/marked.`,a){const r="<p>An error occurred:</p><pre>"+Fe(i.message+"",!0)+"</pre>";return n?Promise.resolve(r):r}if(n)return Promise.reject(i);throw i}}},aa=new Ml;function H(a,n){return aa.parse(a,n)}H.options=H.setOptions=function(a){return aa.setOptions(a),H.defaults=aa.defaults,ri(H.defaults),H};H.getDefaults=Ft;H.defaults=na;H.use=function(...a){return aa.use(...a),H.defaults=aa.defaults,ri(H.defaults),H};H.walkTokens=function(a,n){return aa.walkTokens(a,n)};H.parseInline=aa.parseInline;H.Parser=Oe;H.parser=Oe.parse;H.Renderer=at;H.TextRenderer=qt;H.Lexer=De;H.lexer=De.lex;H.Tokenizer=et;H.Hooks=Ua;H.parse=H;H.options;H.setOptions;H.use;H.walkTokens;H.parseInline;Oe.parse;De.lex;const fi={},En={},_t=new Map,Cn=new Map,At=a=>a!==void 0&&Object.prototype.hasOwnProperty.call(fi,a);function ql(a){let n=Cn.get(a);if(!n){const i=At(a)?fi[a]:void 0;n=(i?i().then(r=>r.default):Promise.resolve(En)).catch(r=>(console.error(`legal texts: the ${a} texts did not load, showing the Turkish ones`,r),En)).then(r=>(_t.set(a,r),r)),Cn.set(a,n)}return n}function Hl(a){const n=At(a)&&!_t.has(a),[,i]=u.useState(0);return u.useEffect(()=>{if(!n||a===void 0)return;let r=!0;return ql(a).then(()=>{r&&i(s=>s+1)}),()=>{r=!1}},[n,a]),At(a)?_t.get(a):null}function Gl(a,n){return a&&Object.prototype.hasOwnProperty.call(a,n)?a[n]:void 0}const Vl=Object.assign({"../../../../data/legal/README.md":Xr,"../../../../data/legal/acik-riza-pazarlama.md":el,"../../../../data/legal/aydinlatma-metni.md":al,"../../../../data/legal/cerez-politikasi.md":tl,"../../../../data/legal/mesafeli-satis-sozlesmesi.md":nl,"../../../../data/legal/on-bilgilendirme-formu.md":il,"../../../../data/legal/teslimat-iade.md":sl,"../../../../data/legal/uyelik-sozlesmesi.md":rl}),yi=a=>a.replace(/\.md$/,"");function Yl(a){const n=yi(a),i=Object.entries(Vl).find(([r])=>r.endsWith(`/${n}.md`));return i?i[1]:null}function Ul(a){return a.match(/^#\s+(.+)$/m)?.[1]?.trim()||t("Yasal metin")}function Wl(){const{slug:a=""}=pa(),n=Ca(),i=Hl(n),r=Yl(a);if(!r)return e.jsxs(e.Fragment,{children:[e.jsx(he,{title:t("Yasal metin bulunamadı - Probot Studio"),description:t("Aradığın Probot Studio yasal metni bulunamadı."),path:`/yasal/${a}`,noindex:!0}),e.jsxs("section",{className:"legal",children:[e.jsx("h1",{children:t("Sayfa bulunamadı")}),e.jsx("p",{children:t("Aradığın yasal metin burada yok. Tüm metinlerin bağlantıları sayfa altındaki footer'da listelenir.")}),e.jsx("p",{children:e.jsx(_,{to:"/",children:t("↠Vitrine dön")})})]})]});const s=Gl(i,yi(a)),o=s??r,l=Ul(o);return e.jsxs(e.Fragment,{children:[e.jsx(he,{title:t("{title} - Probot Studio",{title:l}),description:vt(t("{title}. Probot Studio mağaza yasal metni.",{title:l})),path:`/yasal/${a}`}),i===void 0?e.jsx("section",{className:"legal"}):e.jsxs(e.Fragment,{children:[n&&s===void 0&&e.jsx("p",{className:"muted small",children:t("Bu metnin yalnız Türkçesi var.")}),e.jsx("section",{className:"legal",lang:s===void 0?n&&"tr":void 0,dangerouslySetInnerHTML:{__html:H.parse(o)}})]})]})}const xi="probot-consent";function bi(){try{if(new URLSearchParams(window.location.search).get("iz")==="dost"&&localStorage.setItem("probot-iz-dost","1"),localStorage.getItem("probot-iz-dost")==="1")return"granted"}catch{}const a=localStorage.getItem(xi);return a==="granted"||a==="denied"?a:null}function Zl(a){localStorage.setItem(xi,a),a==="granted"?ji():(Bs(),Rs())}let Pn=!1;function ji(){if(bi()!=="granted"){Es();return}Pn||(Pn=!0,Cs(),Ps())}function Ql(){const[a,n]=u.useState(bi()===null);if(u.useEffect(()=>{const r=()=>n(!0);return window.addEventListener("cookie:reopen",r),()=>window.removeEventListener("cookie:reopen",r)},[]),u.useEffect(()=>(document.body.classList.toggle("cookiebar-open",a),()=>document.body.classList.remove("cookiebar-open")),[a]),!a)return null;const i=r=>{Zl(r),n(!1)};return e.jsxs("div",{className:"cookie",role:"dialog","aria-label":t("Çerez tercihi"),children:[e.jsx("p",{children:B("Siteyi iyileştirmek için oturumla sınırlı, kimliksiz kullanım verisi topluyoruz, yazdıkların kayda girmez. İzin verirsen çerezlerle ayrıntılı ölçüm yaparız. {detay}",{detay:e.jsx(_,{to:"/yasal/cerez-politikasi",children:t("Detay")})})}),e.jsxs("div",{className:"cookie-row",children:[e.jsx("button",{className:"btn c",onClick:()=>i("granted"),children:t("Kabul et")}),e.jsx("button",{className:"btn c",onClick:()=>i("denied"),children:t("Sadece zorunlu")})]})]})}function Jl(){const[a,n]=u.useState(null),[i,r]=u.useState(!1);u.useEffect(()=>{let l=!0;const c=()=>qn().then(d=>{l&&(n(d),r(!1))}).catch(()=>{l&&r(!0)});return c(),window.addEventListener("cart:updated",c),()=>{l=!1,window.removeEventListener("cart:updated",c)}},[]);const s=a?.items??[],o=s.reduce((l,c)=>l+c.quantity,0);return{cart:a,items:s,count:o,total:a?.total??0,error:i}}function Xl({items:a,count:n,total:i,error:r,onGo:s}){const[o,l]=u.useState(!1),[c,d]=u.useState(!1),[m,f]=u.useState(null),g=u.useRef(null),x=u.useRef(void 0);u.useEffect(()=>{const j=document.querySelector("probot-header");if(!j)return;const b=()=>l(j.hasAttribute("scrolled"));b();const C=new MutationObserver(b);return C.observe(j,{attributes:!0,attributeFilter:["scrolled"]}),()=>C.disconnect()},[]);const k=()=>{const j=g.current?.getBoundingClientRect();if(!j)return;const b=document.querySelector("probot-header")?.getBoundingClientRect(),C=Math.max(j.bottom,b?b.bottom:0)+12;f({top:C,right:Math.max(16,window.innerWidth-j.right-8)})},h=()=>{window.clearTimeout(x.current),k(),d(!0)},v=()=>{window.clearTimeout(x.current),x.current=window.setTimeout(()=>d(!1),160)};u.useEffect(()=>{if(!c)return;const j=()=>k();return window.addEventListener("scroll",j,{passive:!0}),window.addEventListener("resize",j),()=>{window.removeEventListener("scroll",j),window.removeEventListener("resize",j)}},[c]);const z=e.jsxs("div",{className:`miniCartPop${c?" open":""}`,style:m?{top:m.top,right:m.right}:void 0,role:"region","aria-label":t("Sepet özeti"),onMouseEnter:h,onMouseLeave:v,children:[r&&e.jsx("p",{role:"status",children:t("Sepet güncellenemedi. Tekrar denemek için sepete git.")}),a.length===0&&!r?e.jsx("p",{className:"mcEmpty",children:t("Sepetin şimdilik boş.")}):e.jsxs(e.Fragment,{children:[e.jsx("ul",{className:"mcList",children:a.map(j=>e.jsxs("li",{children:[j.thumbnail?e.jsx("img",{src:j.thumbnail,alt:""}):e.jsx("span",{className:"mcIc",children:"📦"}),e.jsx("span",{className:"mcName",children:j.product_title??j.title}),e.jsxs("span",{className:"mcQty",children:[j.quantity,"×"]}),e.jsx("span",{className:"mcPrice",children:I(j.unit_price*j.quantity)})]},j.id))}),e.jsxs("div",{className:"mcFoot",children:[e.jsx("span",{children:t("Ara toplam")}),e.jsx("b",{children:I(i)})]})]}),e.jsx("a",{className:"btn g mcGo",href:"/shop/sepet",onClick:j=>{j.preventDefault(),s("/sepet")},children:t("Sepete git →")})]});return e.jsxs("div",{className:`miniCart${o?" onIsland":""}`,slot:"actions",onMouseEnter:h,onMouseLeave:v,onFocus:h,onBlur:v,children:[e.jsxs("a",{ref:g,className:"miniCartLink",href:"/shop/sepet","aria-label":r?t("Sepet güncellenemedi"):n>0?ze("Sepet - {n} ürün",n):t("Sepet"),title:t("Sepet"),onClick:j=>{j.preventDefault(),d(!1),s("/sepet")},children:[e.jsx("svg",{viewBox:"0 0 24 24",width:"20",height:"20",fill:"currentColor","aria-hidden":"true",children:e.jsx("path",{d:"M7 18c-1.1 0-1.99.9-1.99 2S5.9 22 7 22s2-.9 2-2-.9-2-2-2zM1 2v2h2l3.6 7.59-1.35 2.45C4.52 15.37 5.48 17 7 17h12v-2H7l1.1-2h7.45c.75 0 1.41-.41 1.75-1.03L21.7 4H5.21l-.94-2H1zm16 16c-1.1 0-1.99.9-1.99 2s.89 2 1.99 2 2-.9 2-2-.9-2-2-2z"})}),n>0&&e.jsx("span",{className:"cartBadge",children:n})]}),Fs.createPortal(z,document.body)]})}function eo(){const{bolum:a}=pa(),{search:n,hash:i}=Ra(),r=tr(a,n),s=r&&tt(r);return u.useEffect(()=>{s&&location.replace(s+i)},[s,i]),s?e.jsx("section",{className:"account",children:e.jsx("p",{className:"muted",children:t("Eğitim alanına yönlendiriliyor…")})}):e.jsx(ni,{})}function ao(){const[a,n]=u.useState([]);u.useEffect(()=>{ha().then(c=>n(Tt.filter(d=>c.some(m=>yt(m)===d)))).catch(()=>n([]))},[]);const i=[{to:"/",label:t("Vitrin")},{to:"/urunler",label:t("Tüm ürünler")},{to:oa("kitler"),label:t("Kitler")},...a.map(c=>({to:ea(c),label:me(Et[c].short)}))],{pathname:r}=Ra(),s=r.match(/^\/kategori\/([^/]+)/)?.[1],o=s?Is(decodeURIComponent(s)):null,l=o?ea(o):r;return e.jsx("div",{className:"catbar",slot:"subbar",role:"navigation","aria-label":t("Mağaza kategorileri"),children:i.map(c=>e.jsx(_,{to:c.to,className:l===c.to?"on":"",children:c.label},c.to))})}function to(){const a=Ra();return e.jsxs(e.Fragment,{children:[e.jsx(he,{title:t("Sayfa bulunamadı - Probot Studio"),description:t("Aradığın Probot Studio mağaza sayfası taşınmış ya da kaldırılmış olabilir."),path:a.pathname,noindex:!0}),e.jsxs("section",{className:"account",children:[e.jsx("h1",{children:B("Sayfa {hl}",{hl:e.jsx("span",{className:"hl",children:t("bulunamadı")})})}),e.jsx("p",{className:"muted",children:t("Aradığın adres taşınmış ya da hiç olmamış olabilir.")}),e.jsxs("div",{className:"row",children:[e.jsx(_,{to:"/",className:"btn p",children:t("Vitrine dön →")}),e.jsx(_,{to:"/urunler",className:"btn g",children:t("Tüm ürünler")})]})]})]})}function no(){try{const a=localStorage.getItem("probot-oturum");return a==="1"||a==="0"?a:""}catch{return""}}const gt=no();function io(){const a=Ra(),n=Fa(),{items:i,count:r,total:s,error:o}=Jl();u.useEffect(()=>{ji()},[]),u.useEffect(()=>{typeof window>"u"||(window.probotConsent={...window.probotConsent||{},open:()=>window.dispatchEvent(new CustomEvent("cookie:reopen"))})},[]),u.useEffect(()=>{if(window.matchMedia("(prefers-reduced-motion: reduce)").matches)return;const m=[...document.querySelectorAll(".deco .sh")];let f=0;const g=()=>{f=0;const k=window.scrollY;for(const h of m)h.style.translate="0 "+(-k*parseFloat(h.dataset.p||".25")).toFixed(1)+"px"},x=()=>{f||(f=requestAnimationFrame(g))};return g(),window.addEventListener("scroll",x,{passive:!0}),()=>{window.removeEventListener("scroll",x),cancelAnimationFrame(f)}},[]),u.useEffect(()=>{window.scrollTo(0,0)},[a.pathname,a.search]);const l=a.pathname==="/hesap"||a.pathname.startsWith("/hesap/");u.useEffect(()=>{document.querySelector('probot-header a[data-key="shop"]')?.toggleAttribute("data-active",!l)},[l]);function c(m){m.preventDefault();const f=String(new FormData(m.currentTarget).get("q")??"").trim();n(f?`/urunler?q=${encodeURIComponent(f)}`:"/urunler")}const d=m=>f=>{f.preventDefault(),n(m)};return e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"deco",children:[e.jsx("span",{className:"sh s1","data-p":".30"}),e.jsx("span",{className:"sh s3","data-p":".22"}),e.jsx("span",{className:"sh s4","data-p":".18"})]}),e.jsxs("probot-header",{home:"/",variant:"thin",subbar:l?void 0:"",wide:"","actions-sep":"",active:l?void 0:"shop",lang:Ca(),children:[e.jsx(Xl,{items:i,count:r,total:s,error:o,onGo:m=>n(m)}),e.jsx("a",{slot:"actions",href:"/shop/hesap",className:"cta",onClick:d("/hesap"),...l?{"data-active":"","aria-current":"page"}:{},...gt?{}:{"data-hesap-bekliyor":"","aria-label":t("Hesap")},children:gt==="1"?t("Hesabım"):gt==="0"?t("Giriş yap"):" "}),!l&&e.jsx(ao,{}),!l&&e.jsxs("form",{slot:"subbar",className:"searchBox",onSubmit:c,role:"search",children:[e.jsx("input",{name:"q",type:"search",placeholder:t("Parça ara: dişli, C-profil, PRB-…"),"aria-label":t("Ürün ara"),defaultValue:new URLSearchParams(a.search).get("q")??""},a.search),e.jsx("button",{"aria-label":t("Ara"),children:e.jsx("svg",{viewBox:"0 0 24 24","aria-hidden":"true",children:e.jsx("path",{fill:"currentColor",d:"M15.5 14h-.79l-.28-.27a6.5 6.5 0 1 0-.7.7l.27.28v.79l5 4.99L20.49 19zm-6 0A4.5 4.5 0 1 1 14 9.5 4.5 4.5 0 0 1 9.5 14z"})})})]})]}),e.jsx("div",{className:"wrap",children:e.jsxs(Ls,{children:[e.jsx(oe,{path:"/",element:e.jsx(Ys,{})}),e.jsx(oe,{path:"/urunler",element:e.jsx(hn,{})}),e.jsx(oe,{path:"/kategori/:kategori",element:e.jsx(hn,{})}),e.jsx(oe,{path:"/starter-bot",element:e.jsx(ca,{to:"/urun/ftc-biobuzz-starter-bot",replace:!0})}),e.jsx(oe,{path:"/urun/starter-bot",element:e.jsx(ca,{to:"/urun/ftc-biobuzz-starter-bot",replace:!0})}),e.jsx(oe,{path:"/urun/:handle",element:e.jsx(Vr,{})}),e.jsx(oe,{path:"/hesap",element:e.jsx(Je,{children:e.jsx(ni,{})})}),e.jsx(oe,{path:"/hesap/sifre-yenile",element:e.jsx(Je,{children:e.jsx(Yr,{})})}),e.jsx(oe,{path:"/hesap/veli-onay",element:e.jsx(Je,{children:e.jsx(Ur,{})})}),e.jsx(oe,{path:"/hesap/:bolum",element:e.jsx(Je,{children:e.jsx(eo,{})})}),e.jsx(oe,{path:"/sepet",element:e.jsx(Nr,{})}),e.jsx(oe,{path:"/odeme",element:e.jsx(wr,{})}),e.jsx(oe,{path:"/odeme/sonuc",element:e.jsx(Je,{children:e.jsx(Ar,{})})}),e.jsx(oe,{path:"/takip",element:e.jsx(Je,{children:e.jsx(zn,{})})}),e.jsx(oe,{path:"/takip/:no",element:e.jsx(Je,{children:e.jsx(zn,{})})}),e.jsx(oe,{path:"/iletisim",element:e.jsx(Jr,{})}),e.jsx(oe,{path:"/yasal/:slug",element:e.jsx(Wl,{})}),e.jsx(oe,{path:"*",element:e.jsx(to,{})})]})}),e.jsx("probot-footer",{lang:Ca()}),r>0&&e.jsxs(_,{to:"/sepet",className:"cartFabM","aria-label":ze("Sepet - {n} ürün",r),children:[e.jsx("span",{className:"cartFabIc","aria-hidden":!0,children:"🛒"}),e.jsx("span",{className:"cartBadge",children:r})]}),e.jsx(Ql,{})]})}if(!document.querySelector("script[data-probot-brand]")){const a=document.createElement("script");a.src="/brand/header.js?v=7",a.defer=!0,a.setAttribute("data-probot-brand","1"),document.head.appendChild(a)}$s().then(()=>Ks.createRoot(document.getElementById("root")).render(e.jsx(Ds.StrictMode,{children:e.jsx(Os,{children:e.jsx(Ms,{basename:"/shop/",children:e.jsx(io,{})})})})));export{ti as E,lo as M,oo as b};