PageSourceSearch

https://static.wuubi.com/_next/static/chunks/pages/publish-post-da92b5ed59dc0011.js

js wuubi.com collected 2026-09-24 14:21:25 UTC 184,961 bytes, 1,543 lines download raw bytes

1!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},t=(new e.Error).stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="0516115e-5bb7-47ad-aba1-d35b7be9ab7f",e._sentryDebugIdIdentifier="sentry-dbid-0516115e-5bb7-47ad-aba1-d35b7be9ab7f")}catch(e){}}(),(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1707,2300,8015],{1707:(e,t,a)=>{"use strict";a.d(t,{A:()=>n});var r=a(14232);let n=r.forwardRef(function({title:e,titleId:t,...a},n){return r.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true","data-slot":"icon",ref:n,"aria-labelledby":t},a),e?r.createElement("title",{id:t},e):null,r.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M13.5 4.5 21 12m0 0-7.5 7.5M21 12H3"}))})},11629:(e,t,a)=>{"use strict";a.d(t,{A:()=>n});var r=a(14232);let n=r.forwardRef(function({title:e,titleId:t,...a},n){return r.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true","data-slot":"icon",ref:n,"aria-labelledby":t},a),e?r.createElement("title",{id:t},e):null,r.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M6 18 18 6M6 6l12 12"}))})},17204:(e,t,a)=>{"use strict";a.d(t,{A:()=>n});var r=a(14232);let n=r.forwardRef(function({title:e,titleId:t,...a},n){return r.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true","data-slot":"icon",ref:n,"aria-labelledby":t},a),e?r.createElement("title",{id:t},e):null,r.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"m4.5 12.75 6 6 9-13.5"}))})},18787:(e,t,a)=>{"use strict";a.d(t,{A:()=>n});var r=a(14232);let n=r.forwardRef(function({title:e,titleId:t,...a},n){return r.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true","data-slot":"icon",ref:n,"aria-labelledby":t},a),e?r.createElement("title",{id:t},e):null,r.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M3 13.125C3 12.504 3.504 12 4.125 12h2.25c.621 0 1.125.504 1.125 1.125v6.75C7.5 20.496 6.996 21 6.375 21h-2.25A1.125 1.125 0 0 1 3 19.875v-6.75ZM9.75 8.625c0-.621.504-1.125 1.125-1.125h2.25c.621 0 1.125.504 1.125 1.125v11.25c0 .621-.504 1.125-1.125 1.125h-2.25a1.125 1.125 0 0 1-1.125-1.125V8.625ZM16.5 4.125c0-.621.504-1.125 1.125-1.125h2.25C20.496 3 21 3.504 21 4.125v15.75c0 .621-.504 1.125-1.125 1.125h-2.25a1.125 1.125 0 0 1-1.125-1.125V4.125Z"}))})},21677:(e,t,a)=>{"use strict";a.d(t,{A:()=>n});var r=a(14232);let n=r.forwardRef(function({title:e,titleId:t,...a},n){return r.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true","data-slot":"icon",ref:n,"aria-labelledby":t},a),e?r.createElement("title",{id:t},e):null,r.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"m8.25 4.5 7.5 7.5-7.5 7.5"}))})},24877:(e,t,a)=>{"use strict";a.d(t,{A:()=>i});var r=a(37876),n=a(15608),s=a(11629);let l=["\uD83D\uDE00","\uD83D\uDE01","\uD83D\uDE02","\uD83E\uDD23","\uD83D\uDE03","\uD83D\uDE04","\uD83D\uDE05","\uD83D\uDE06","\uD83D\uDE09","\uD83D\uDE0A","\uD83D\uDE0B","\uD83D\uDE0E","\uD83D\uDE0D","\uD83D\uDE18","\uD83E\uDD70","\uD83D\uDE17","\uD83D\uDE19","\uD83D\uDE1A","☺️","\uD83D\uDE42","\uD83E\uDD17","\uD83E\uDD29","\uD83E\uDD14","\uD83E\uDD28","\uD83D\uDE10","\uD83D\uDE11","\uD83D\uDE36","\uD83D\uDE44","\uD83D\uDE0F","\uD83D\uDE23","\uD83D\uDE25","\uD83D\uDE2E","\uD83E\uDD10","\uD83D\uDE2F","\uD83D\uDE2A","\uD83D\uDE2B","\uD83E\uDD71","\uD83D\uDE34","\uD83D\uDE0C","\uD83D\uDE1B","\uD83D\uDE1C","\uD83D\uDE1D","\uD83E\uDD24","\uD83D\uDE12","\uD83D\uDE13","\uD83D\uDE14","\uD83D\uDE15","\uD83D\uDE43","\uD83E\uDD11","\uD83D\uDE32","☹️","\uD83D\uDE41","\uD83D\uDE16","\uD83D\uDE1E","\uD83D\uDE1F","\uD83D\uDE24","\uD83D\uDE22","\uD83D\uDE2D","\uD83D\uDE26","\uD83D\uDE27","\uD83D\uDE28","\uD83D\uDE29","\uD83E\uDD2F","\uD83D\uDE2C","\uD83D\uDE30","\uD83D\uDE31","\uD83E\uDD75","\uD83E\uDD76","\uD83D\uDE33","\uD83E\uDD2A","\uD83D\uDE35","\uD83E\uDD74","\uD83D\uDE20","\uD83D\uDE21","\uD83E\uDD2C","\uD83D\uDE37","\uD83E\uDD12","\uD83E\uDD15","\uD83E\uDD22","\uD83E\uDD2E","\uD83E\uDD27","\uD83D\uDE07","\uD83E\uDD73","\uD83E\uDD7A","\uD83E\uDD20","\uD83E\uDD21","\uD83E\uDD25","\uD83E\uDD2B","\uD83E\uDD2D","\uD83E\uDDD0","\uD83E\uDD13","\uD83D\uDE08","\uD83D\uDC7F","\uD83D\uDC79","\uD83D\uDC7A","\uD83D\uDC80","\uD83D\uDC7B","\uD83D\uDC7D","\uD83E\uDD16","\uD83D\uDCA9"];function i({open:e,onClose:t,onSelect:a}){return(0,r.jsx)(n.A,{open:e,onClose:t,className:"flex items-center justify-center p-4",children:(0,r.jsx)("div",{className:"card-flat w-full max-w-2xl overflow-hidden rounded-[28px]",children:(0,r.jsxs)("div",{className:"card-body p-5 sm:p-6",children:[(0,r.jsxs)("div",{className:"mb-4 flex items-center justify-between",children:[(0,r.jsx)("h3",{className:"text-lg font-semibold",children:"Emoji Se\xe7"}),(0,r.jsx)("button",{type:"button",onClick:t,className:"text-gray-500 hover:text-gray-700",children:(0,r.jsx)(s.A,{className:"h-6 w-6"})})]}),(0,r.jsx)("p",{className:"mb-4 text-sm text-gray-500",children:"G\xf6ndermek istediğin emojiyi se\xe7."}),(0,r.jsx)("div",{className:"grid max-h-[28rem] grid-cols-6 gap-2 overflow-x-hidden overflow-y-auto pr-1 sm:grid-cols-8 lg:grid-cols-10",children:l.map((e,t)=>(0,r.jsx)("button",{type:"button",onClick:()=>a(e),className:"flex h-12 items-center justify-center rounded-2xl text-2xl transition-colors hover:bg-gray-100",title:e,children:e},t))})]})})})}},25925:(e,t,a)=>{"use strict";a.d(t,{A:()=>n});var r=a(14232);let n=r.forwardRef(function({title:e,titleId:t,...a},n){return r.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true","data-slot":"icon",ref:n,"aria-labelledby":t},a),e?r.createElement("title",{id:t},e):null,r.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M15.75 19.5 8.25 12l7.5-7.5"}))})},27062:(e,t,a)=>{"use strict";a.d(t,{A:()=>l});var r=a(37876);a(14232);var n=a(65590),s=a.n(n);let l=({variant:e="primary",size:t="md",fullWidth:a=!1,iconOnly:n=!1,className:l="",type:i="button",onMouseEnter:o,onMouseLeave:d,onMouseDown:c,onMouseUp:m,onBlur:u,disabled:p,...g})=>{let x=[s().button,s()[e],s()[t],a?s().fullWidth:"",n?s().iconOnly:"",l].filter(
1Boolean).join(" ");return(0,r.jsx)("button",{type:i,className:x,disabled:p,onMouseEnter:o,onMouseLeave:d,onMouseDown:c,onMouseUp:m,onBlur:u,...g})}},35765:(e,t,a)=>{"use strict";a.d(t,{A:()=>n});var r=a(14232);let n=r.forwardRef(function({title:e,titleId:t,...a},n){return r.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true","data-slot":"icon",ref:n,"aria-labelledby":t},a),e?r.createElement("title",{id:t},e):null,r.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M2.036 12.322a1.012 1.012 0 0 1 0-.639C3.423 7.51 7.36 4.5 12 4.5c4.638 0 8.573 3.007 9.963 7.178.07.207.07.431 0 .639C20.577 16.49 16.64 19.5 12 19.5c-4.638 0-8.573-3.007-9.963-7.178Z"}),r.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M15 12a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z"}))})},55792:(e,t,a)=>{"use strict";a.d(t,{A:()=>n});var r=a(14232);let n=r.forwardRef(function({title:e,titleId:t,...a},n){return r.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true","data-slot":"icon",ref:n,"aria-labelledby":t},a),e?r.createElement("title",{id:t},e):null,r.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M19.5 14.25v-2.625a3.375 3.375 0 0 0-3.375-3.375h-1.5A1.125 1.125 0 0 1 13.5 7.125v-1.5a3.375 3.375 0 0 0-3.375-3.375H8.25m0 12.75h7.5m-7.5 3H12M10.5 2.25H5.625c-.621 0-1.125.504-1.125 1.125v17.25c0 .621.504 1.125 1.125 1.125h12.75c.621 0 1.125-.504 1.125-1.125V11.25a9 9 0 0 0-9-9Z"}))})},57869:(e,t,a)=>{"use strict";a.d(t,{A:()=>p});var r=a(37876),n=a(55792),s=a(85616),l=a(54254),i=a(74287),o=a(18847),d=a.n(o),c=a(14232),m=a(98477);let u=d()(()=>a.e(4457).then(a.bind(a,34457)).then(e=>e.default),{loadableGenerated:{webpack:()=>[null]},ssr:!1});function p({isOpen:e,contentType:t="standard",itemCount:a=0,successMessage:o}){let[d,p]=(0,c.useState)(0),[g,x]=(0,c.useState)(!1),[h,b]=(0,c.useState)(!1),[f,v]=(0,c.useState)({width:0,height:0}),w=(0,c.useMemo)(()=>((e="standard",t=0,a)=>{let o=[{icon:(0,r.jsx)(n.A,{className:"w-12 h-12"}),message:"İ\xe7erik kontrol ediliyor...",duration:1e3},{icon:(0,r.jsx)(s.A,{className:"w-12 h-12"}),message:"G\xf6rseller y\xfckleniyor...",duration:1200}],d={test:{icon:(0,r.jsx)(l.A,{className:"w-12 h-12"}),message:t>0?`${t} test sorusu hazırlanıyor...`:"Test soruları hazırlanıyor...",duration:1e3},quiz:{icon:(0,r.jsx)(i.A,{className:"w-12 h-12"}),message:t>0?`${t} sınav sorusu hazırlanıyor...`:"Sınav soruları hazırlanıyor...",duration:1e3},poll:{icon:(0,r.jsx)(n.A,{className:"w-12 h-12"}),message:t>0?`${t} anket sorusu hazırlanıyor...`:"Anket soruları hazırlanıyor...",duration:1e3},list:{icon:(0,r.jsx)(n.A,{className:"w-12 h-12"}),message:t>0?`${t} liste maddesi hazırlanıyor...`:"Liste maddeleri hazırlanıyor...",duration:1e3}},c={icon:(0,r.jsx)(i.A,{className:"w-12 h-12"}),message:a||"İ\xe7erik başarıyla oluşturuldu!",duration:2e3};return d[e]?[...o,d[e],c]:[...o,c]})(t,a,o),[t,a,o]),y=d===w.length-1;return((0,c.useEffect)(()=>{b(!0);let e=()=>{v({width:window.innerWidth,height:window.innerHeight})};return e(),window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e)}},[]),(0,c.useEffect)(()=>{if(!e){p(0),x(!1);return}let t=setTimeout(()=>{d<w.length-1&&(p(e=>e+1),d===w.length-2&&x(!0))},w[d]?.duration??1e3);return()=>clearTimeout(t)},[e,d,w]),e&&h)?(0,m.createPortal)((0,r.jsxs)(r.Fragment,{children:[g&&f.width>0&&(0,r.jsx)("div",{className:"pointer-events-none fixed inset-0 z-[1001]",children:(0,r.jsx)(u,{width:f.width,height:f.height,recycle:!1,numberOfPieces:350,gravity:.25})}),(0,r.jsx)("div",{className:"fixed inset-0 z-[1000] flex items-center justify-center bg-black/50 backdrop-blur-sm p-4",children:(0,r.jsx)("div",{className:"relative bg-white rounded-2xl shadow-xl p-8 max-w-md w-full",children:(0,r.jsxs)("div",{className:"relative z-10 flex flex-col items-center justify-center gap-6",children:[(0,r.jsxs)("div",{className:"relative",children:[!y&&(0,r.jsx)("div",{className:"absolute inset-0 bg-primary/10 rounded-full animate-ping"}),(0,r.jsx)("div",{className:`relative p-4 rounded-full text-white transition-all ${y?"bg-gradient-to-br from-green-400 to-green-600 scale-110":"bg-gradient-to-br from-primary to-secondary animate-bounce"}`,children:w[d]?.icon})]}),(0,r.jsxs)("div",{className:"text-center",children:[(0,r.jsx)("h3",{className:`text-2xl font-bold mb-2 transition-colors ${y?"text-green-600":"text-gray-800"}`,children:y?"Tamamlandı!":"İ\xe7erik Oluşturuluyor"}),(0,r.jsx)("p",{className:`text-lg transition-colors ${y?"text-green-600 font-semibold":"text-gray-600"}`,children:w[d]?.message})]}),!y&&(0,r.jsxs)("div",{className:"w-full",children:[(0,r.jsx)("div",{className:"flex gap-2 justify-center mb-3",children:w.map((e,t)=>(0,r.jsx)("div",{className:`h-2 rounded-full transition-all duration-500 ${t===d?"w-12 bg-primary":t<d?"w-8 bg-secondary":"w-8 bg-gray-300"}`},t))}),(0,r.jsxs)("p",{className:"text-sm text-gray-500 text-center",children:["Aşama ",d+1," / ",w.length]})]}),!y&&(0,r.jsxs)("div",{className:"flex gap-2",children:[(0,r.jsx)("div",{className:"w-3 h-3 bg-primary rounded-full animate-bounce",style:{animationDelay:"0ms"}}),(0,r.jsx)("div",{className:"w-3 h-3 bg-secondary rounded-full animate-bounce",style:{animationDelay:"150ms"}}),(0,r.jsx)("div",{className:"w-3 h-3 bg-primary rounded-full animate-bounce",style:{animationDelay:"300ms"}})]})]})})})]}),document.body):null}},58085:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>eG});var r=a(37876);let n=e=>{let t=String(e||"").trim();return!!t&&"i\xe7erik g\xf6rseli"!==t.toLocaleLowerCase("tr-TR")};var s=a(57869),l=a(24178),i=a(82437),o=a(93860),d=a(9799),c=a(33274),m=a(40097),u=a(74359),p=a(92963),g=a(97685),x=a(67768),h=a(88015),b=a(93237),f=a(14232);let v=f.forwardRef(function({title:e,titleId:t,...a},r){return f.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true","data-slot":"icon",ref:r,"aria-labelledby":t},a),e?f.createElement("title",{id:t},e):null,f.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M8.25 6.75h12M8.25 12h12m-12 5.25h12M3.75 6.75h.007v.008H3.75V6.75Zm.375 0a.375.375 0 1 1-.75 0 .375.375 0 0 1 .75 0ZM3.75 12h.007v.008H3.75V12Zm.375 0a.375.375 0 1 1-.75 0 .375.375 0 0 1 .75 0Zm-.375 5.25h.007v.008H3.75v-.008Zm.375 0a.375.375 0 1 1-.75 0 .375.375 0 0 1 .75 0Z"}))});var w=a(28022),y=a(50223),j=a(91408),k=a(15608),N=a(30225),S=a(11629),I=a(47043),E=a(83845);function z({open:e,onClose:t,onSelect:a,inline:n=!1}){let s=(0,N.A)(),{query:l,setQuery:i,items:o,isLoading:c,errorMessage:m,hasMore:u,refresh:p,loadMore:g}=function(e,t,a=24){let[r,n]=(0,f.useState)(""),[s,l]=(0,f.useState)(1),[i,o]=(0,f.useState)(0),[c,m]=(0,f.useState)([]),[u,p]=(0,f.useState)(!1),[g,x]=(0,f.useState)(""),[h,b]=(0,f.useState)(!1),v=(0,f.useRef)(0);return(0,f.useEffect)(()=>{e||(n(""),l(1),m([]),x(""),b(!1))},[e]),(0,f.useEffect)(()=>{let n=++v.current;if(!e)return void p(!1);let l=new AbortController;p(!0),x(""),1===s&&m([]);let i=setTimeout(()=>{(0,d.y1)({query:r.trim(),page:s,perPage:a,authHeader:t,signal:l.signal}).then(e=>{v.current===n&&(m(t=>[...new Map([...1===s?[]:t,...e.items].map(e=>[e.id,e])).values()]),b(e.hasMore),p(!1))}).catch(e=>{v.current!==n||l.signal.aborted||(x(e instanceof Error?e.message:"Fotoğraflar alınamadı."),p(!1))})},r.trim()&&1===s?300:0);return()=>{v.current++,clearTimeout(i),l.abort()}},[e,r,s,i,t,a]),{query:r,setQuery:e=>{n(e),l(1)},items:c,isLoading:u,errorMessage:g,hasMore:h,refresh:()=>o(e=>
1e+1),loadMore:()=>{u||g||!h||l(e=>e+1)}}}(e,s,n?12:24),x=(0,r.jsxs)("div",{className:"w-full max-w-6xl overflow-hidden rounded-[28px] border border-slate-200 bg-white shadow-xl",children:[(0,r.jsxs)("div",{className:"flex items-start justify-between border-b border-slate-200 bg-slate-50 p-5",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("h3",{className:"text-lg font-semibold text-slate-900",children:"Unsplash fotoğrafı ekle"}),(0,r.jsx)("p",{className:"mt-1 text-sm text-slate-500",children:"Bir fotoğraf ara ve i\xe7eriğine ekle."})]}),(0,r.jsx)("button",{type:"button",onClick:t,"aria-label":"Kapat",className:"rounded-full p-2",children:(0,r.jsx)(S.A,{className:"h-5 w-5"})})]}),(0,r.jsx)("div",{className:"p-4",children:(0,r.jsxs)("label",{className:"relative block",children:[(0,r.jsx)(I.A,{className:"absolute left-3 top-3 h-5 w-5 text-slate-400"}),(0,r.jsx)("input",{"aria-label":"Unsplash'ta ara",placeholder:"Unsplash'ta ara",value:l,onChange:e=>i(e.target.value),className:"h-11 w-full rounded-xl border border-slate-200 pl-10 pr-3 text-sm"})]})}),(0,r.jsxs)("div",{className:"max-h-[60vh] overflow-y-auto px-4 pb-4",children:[(0,r.jsx)("p",{className:"mb-3 text-xs text-slate-500",children:l.trim()?"Arama sonu\xe7ları":"Pop\xfcler fotoğraflar"}),m&&(0,r.jsxs)("div",{role:"alert",className:"mb-3 rounded-xl bg-rose-50 p-4 text-sm text-rose-700",children:[m,(0,r.jsx)("button",{type:"button",onClick:p,className:"ml-3 underline",children:"Tekrar dene"})]}),(0,r.jsxs)("div",{className:n?"grid grid-cols-2 gap-3":"grid grid-cols-2 gap-3 sm:grid-cols-3 lg:grid-cols-4",children:[o.map(e=>(0,r.jsxs)("div",{className:"min-w-0 overflow-hidden rounded-xl border border-slate-200 bg-slate-50",children:[(0,r.jsx)("button",{type:"button","aria-label":e.alt,onClick:()=>{(0,d._1)(e,s),a(e)},className:"block w-full",children:(0,r.jsx)("img",{src:e.previewUrl,alt:e.alt,loading:"lazy",className:"aspect-[4/3] w-full object-cover"})}),(0,r.jsx)("div",{className:"px-2",children:(0,r.jsx)(E.A,{attribution:e})})]},e.id)),c&&!o.length&&Array.from({length:8},(e,t)=>(0,r.jsx)("div",{className:"aspect-[4/3] animate-pulse rounded-xl bg-slate-200"},t))]}),!c&&!m&&!o.length&&(0,r.jsx)("p",{className:"p-8 text-center text-sm text-slate-500",children:"Sonu\xe7 bulunamadı. Başka bir kelime deneyin."}),u&&(0,r.jsx)("button",{type:"button",disabled:c||!!m,onClick:g,className:"mt-4 w-full rounded-xl border p-2 text-sm disabled:opacity-50",children:c?"Y\xfckleniyor…":"Daha fazla"})]})]});return n?e?x:null:(0,r.jsx)(k.A,{open:e,onClose:t,className:"flex items-center justify-center p-4",children:x})}function C(e){return String(e||"").trim()||void 0}function A(...e){for(let t of e){let e=C(t);if(e)return e}}function T(e){let t=A(e.images?.fixed_height?.webp,e.images?.fixed_height?.url,e.images?.original?.webp,e.images?.original?.url,e.images?.downsized?.url,e.images?.preview_gif?.url);return t?{id:C(e.id)||`giphy-${Math.random().toString(36).slice(2,10)}`,title:C(e.title)||"GIF",imageUrl:t,previewUrl:A(e.images?.fixed_height_small?.webp,e.images?.fixed_height_small?.url,e.images?.preview_gif?.url,e.images?.fixed_width_small?.url,e.images?.fixed_height_small_still?.url,e.images?.fixed_width_small_still?.url,e.images?.original_still?.url)||t,webpUrl:A(e.images?.fixed_height?.webp,e.images?.original?.webp),mp4Url:A(e.images?.fixed_height?.mp4,e.images?.original?.mp4),analyticsClickUrl:C(e.analytics?.onclick?.url),analyticsLoadUrl:C(e.analytics?.onload?.url),analyticsSendUrl:C(e.analytics?.onsent?.url)}:null}async function q({apiKey:e,query:t,limit:a=24,offset:r=0,rating:n="pg-13",lang:s="tr"}){let l=String(e||"").trim();if(!l)throw Error("Giphy API anahtarı tanımlı değil.");let i=String(t||"").trim(),o=i?"search":"trending",d=new URL(`https://api.giphy.com/v1/gifs/${o}`);d.searchParams.set("api_key",l),d.searchParams.set("limit",String(a)),d.searchParams.set("offset",String(r)),d.searchParams.set("rating",n),i&&(d.searchParams.set("q",i),d.searchParams.set("lang",s));let c=await fetch(d.toString()),m=null;try{m=await c.json()}catch{m=null}if(!c.ok)throw Error(m?.meta?.msg?.trim()||"GIF sonu\xe7ları alınamadı.");return(m?.data||[]).map(T).filter(e=>!!e)}function M(e){let t=C(e);if(t){if("undefined"!=typeof document&&"undefined"!=typeof Image){let e=new Image;e.decoding="async",e.src=t;return}
1fetch(t).catch(()=>{})}}var R=a(52648);async function L({url:e,authHeader:t}){let a=await fetch((0,R.KB)("/content/social-embed/preview"),{method:"POST",credentials:"include",headers:{Accept:"application/json","Content-Type":"application/json",...t?{Authorization:t}:{}},body:JSON.stringify({url:e})}),r=await a.json();if(!a.ok||!r?.responseResult?.status)throw Error(r?.responseResult?.exceptionDetail?.[0]||"Embed \xf6nizlemesi alınamadı");return r.result.data}var D=a(68974);let _=f.forwardRef(function({title:e,titleId:t,...a},r){return f.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true","data-slot":"icon",ref:r,"aria-labelledby":t},a),e?f.createElement("title",{id:t},e):null,f.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z"}),f.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M15.91 11.672a.375.375 0 0 1 0 .656l-5.603 3.113a.375.375 0 0 1-.557-.328V8.887c0-.286.307-.466.557-.327l5.603 3.112Z"}))});var B=a(85616);let P=["image/png","image/jpeg","image/jpg","image/webp"],U=[...P,"image/gif","video/mp4","video/quicktime","video/webm","video/x-m4v"];function O({open:e,onSelect:t}){let[a,n]=(0,f.useState)(""),[s,l]=(0,f.useState)([]),[i,o]=(0,f.useState)(!1),[d,c]=(0,f.useState)(""),[m,u]=(0,f.useState)(0),p=(0,f.useRef)(0);if((0,f.useEffect)(()=>{if(!e){p.current+=1,n(""),l([]),o(!1),c("");return}let t=a.trim(),r=window.setTimeout(()=>{let e=++p.current;o(!0),c(""),l([]),q({apiKey:"KERuVZ8bGhaPyxrtsHUFS9qfA09rIWF7",query:t,limit:12}).then(t=>{e===p.current&&(l(t),o(!1))}).catch(t=>{e===p.current&&(l([]),o(!1),c(t instanceof Error&&t.message?t.message:"GIF sonu\xe7ları alınamadı."))})},300*!!t);return()=>window.clearTimeout(r)},[e,a,m]),!e)return null;let g=!!a.trim(),x=!i&&!s.length&&!d;return(0,r.jsxs)("div",{className:"rounded-2xl border border-slate-200 bg-slate-50 p-3 shadow-inner",children:[(0,r.jsxs)("label",{className:"relative block",children:[(0,r.jsx)(I.A,{className:"pointer-events-none absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-slate-400"}),(0,r.jsx)("input",{value:a,onChange:e=>n(e.target.value),placeholder:"Giphy'de ara",className:"h-10 w-full rounded-xl border border-slate-200 bg-white pl-9 pr-3 text-sm text-slate-900 outline-none transition placeholder:text-slate-400 focus:border-slate-300"})]}),(0,r.jsx)("div",{className:"mt-3",children:d?(0,r.jsxs)("div",{className:"rounded-xl border border-dashed border-rose-200 bg-white p-4 text-center",children:[(0,r.jsx)("p",{className:"text-sm font-semibold text-rose-700",children:d}),(0,r.jsxs)("button",{type:"button",onClick:()=>u(e=>e+1),className:"mt-3 inline-flex items-center gap-2 rounded-full bg-slate-900 px-3 py-1.5 text-xs font-semibold text-white",children:[(0,r.jsx)(D.A,{className:"h-4 w-4"}),"Tekrar dene"]})]}):i&&!s.length?(0,r.jsx)("div",{className:"grid grid-cols-2 gap-2",children:Array.from({length:4}).map((e,t)=>(0,r.jsx)("div",{className:"aspect-[4/3] animate-pulse rounded-xl bg-slate-200"},t))}):x?(0,r.jsx)("div",{className:"rounded-xl border border-dashed border-slate-200 bg-white p-4 text-center text-sm text-slate-500",children:g?"Sonu\xe7 bulunamadı.":"GIF sonu\xe7ları hazırlanıyor."}):(0,r.jsx)("div",{className:"grid max-h-72 grid-cols-2 gap-2 overflow-y-auto pr-1",children:s.map(e=>(0,r.jsx)("button",{type:"button",onClick:()=>t(e),className:"group overflow-hidden rounded-xl border border-slate-200 bg-white text-left transition hover:border-slate-300 hover:shadow-sm",children:(0,r.jsx)("img",{src:e.previewUrl,alt:e.title,loading:"lazy",onLoad:()=>{M(e.analyticsLoadUrl)},className:"aspect-[4/3] w-full object-cover transition group-hover:scale-[1.03]"})},e.id))})}),(0,r.jsxs)("div",{className:"mt-3 flex items-center justify-between text-[10px] font-bold uppercase tracking-[0.14em] text-slate-400",children:[(0,r.jsx)("span",{children:"Powered by GIPHY"}),(0,r.jsx)("span",{children:g?"Arama":"Trend"})]})]})}function $({value:e,label:t,emptyText:a="Hen\xfcz medya eklenmedi.",aspect:n=1,previewClassName:s="relative h-44 w-full overflow-hidden rounded-xl bg-slate-100",allowVideo:l=!1,allowGiphy:o=!1,allowSocialEmbed:d=!1,embed:c=null,onUploadMedia:m,onChange:u,onEmbedChange:p}){let x=(0,f.useId)(),v=(0,N.A)(),w=(0,f.useRef)(null),[y,j]=(0,f.useState)(!1),[k,I]=(0,f.useState)(""),[C,A]=(0,f.useState)(!1),[T,q]=(0,f.useState)(!1),[R,D]=(0,f.useState)(!1),[$,H]=(0,f.useState)(!1),[F,G]=(0,f.useState)(""),[V,Y]=(0,f.useState)(""),[W,K]=(0,f.useState)(!1),Z="video"===(0,b._T)(e),J=!!c?.url,X=l?U:P,Q=async e=>{let a=e.target.files?.[0];if(!a)return;let r=a.type?.toLowerCase()||"",n=r.startsWith("video/"),s="image/gif"===r;if(!X.includes(r)){g.Ay.error(l?"PNG, JPG, WEBP, GIF veya video dosyası se\xe7ebilirsiniz":"PNG, JPG, JPEG veya WEBP formatı se\xe7ebilirsiniz"),e.target.value="";return}if(n&&a.size>0x6400000){g.Ay.error("Video boyutu en fazla 100MB olabilir"),e.target.value="";return}if(!n&&a.size>0xa00000){g.Ay.error("G\xf6rsel boyutu en fazla 10 MB olabilir"),e.target.value="";return}if(l&&(n||s)){if(!m){g.Ay.error("Medya y\xfcklenemedi"),e.target.value="";return}try{A(!0);let e=await m(a,t);if(!e)throw Error("Medya y\xfcklenemedi");p?.(null),u(e)}catch(e){g.Ay.error(e instanceof Error?e.message:"Medya y\xfcklenemedi")}finally{A(!1),e.target.value=""}return}let i=new FileReader;i.onloadend=()=>{let e=i.result;if(!e.startsWith("data:image/"))return void g.Ay.error("G\xf6rsel y\xfcklenirken hata oluştu");I(e),j(!0)},i.onerror=()=>g.Ay.error("G\xf6rsel y\xfcklenirken hata oluştu"),i.readAsDataURL(a)},ee=async()=>{let e=F.trim();if(!e)return void Y("X/Twitter tweet URL’i girin.");try{K(!0),Y("");let t=await L({url:e,authHeader:v});u(""),p?.(t),G(""),H(!1),q(!1)}catch(e){Y(e instanceof Error?e.message:"Embed \xf6nizlemesi alınamadı.")}finally{K(!1)}};return(0,r.jsxs)("div",{className:"flex w-full flex-col gap-3 rounded-2xl border border-slate-200 bg-white p-4",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,r.jsx)("span",{className:"text-sm font-bold text-slate-800",children:t}),e||J?(0,r.jsxs)("button",{type:"button",className:"btn btn-sm btn-danger",onClick:()=>{u(""),p?.(null),q(!1),H(!1),w.current&&(w.current.value="")},children:[(0,r.jsx)(S.A,{className:"h-4 w-4"}),l?"Medyayı kaldır":"G\xf6rseli kaldır"]}):null]}),J?(0,r.jsx)("div",{className:"overflow-hidden rounded-xl bg-slate-50",children:(0,r.jsx)(h.default,{embed:c,compact:!0})}):e?(0,r.jsx)("div",{className:s,children:Z?(0,r.jsx)("video",{className:"h-full w-full bg-black object-contain",src:e,controls:!0,playsInl
1ine:!0,preload:"metadata"}):(0,r.jsx)("img",{src:e,alt:t,className:"h-full w-full object-cover"})}):(0,r.jsxs)("div",{className:"flex min-h-28 flex-col items-center justify-center gap-2 rounded-xl border border-dashed border-slate-300 bg-slate-50 p-4 text-center",children:[l?(0,r.jsx)(_,{className:"h-8 w-8 text-slate-400"}):(0,r.jsx)(B.A,{className:"h-8 w-8 text-slate-400"}),(0,r.jsx)("span",{className:"text-sm text-slate-500",children:a})]}),(0,r.jsx)("input",{ref:w,id:x,type:"file",accept:l?"image/png,image/jpeg,image/jpg,image/webp,image/gif,video/mp4,video/quicktime,video/webm,video/x-m4v":"image/png,image/jpeg,image/jpg,image/webp",className:"hidden",onChange:Q}),(0,r.jsx)("label",{htmlFor:x,className:`btn btn-dark cursor-pointer justify-center ${C?"pointer-events-none opacity-70":""}`,children:C?"Y\xfckleniyor...":e||J?l?"Medyayı değiştir":"G\xf6rseli değiştir":l?"Medya se\xe7":"G\xf6rsel se\xe7"}),e&&(0,r.jsx)(E.A,{src:e}),o&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("button",{type:"button",className:"btn justify-center border border-slate-200 bg-slate-50 text-slate-700 hover:bg-slate-100",onClick:()=>{q(!1),D(e=>!e)},children:"Unsplash’tan fotoğraf se\xe7"}),(0,r.jsx)(z,{inline:!0,open:R,onClose:()=>D(!1),onSelect:e=>{p?.(null),u(e.imageUrl),D(!1)}})]}),o?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("button",{type:"button",className:`btn justify-center border border-slate-200 bg-slate-50 text-slate-700 hover:bg-slate-100 ${T?"ring-2 ring-slate-200":""}`,onClick:()=>q(e=>!e),children:"Giphy'den GIF se\xe7"}),(0,r.jsx)(O,{open:T,onSelect:e=>{M(e.analyticsClickUrl),p?.(null),u(e.imageUrl),q(!1)}})]}):null,d?(0,r.jsxs)("div",{className:"grid gap-2",children:[(0,r.jsx)("button",{type:"button",className:`btn justify-center border border-slate-200 bg-slate-50 text-slate-700 hover:bg-slate-100 ${$?"ring-2 ring-slate-200":""}`,onClick:()=>{H(e=>!e),Y("")},children:"X/Twitter URL ekle"}),$?(0,r.jsxs)("div",{className:"grid gap-2 rounded-2xl border border-slate-200 bg-slate-50 p-3",children:[(0,r.jsx)("input",{value:F,onChange:e=>{G(e.target.value),Y("")},onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),ee())},className:"h-10 rounded-xl border border-slate-200 bg-white px-3 text-sm text-slate-900 outline-none transition placeholder:text-slate-400 focus:border-slate-300",placeholder:"Tweet URL’i"}),V?(0,r.jsx)("p",{className:"text-xs font-semibold text-rose-600",children:V}):null,(0,r.jsx)("button",{type:"button",disabled:W,className:"btn btn-dark justify-center disabled:cursor-not-allowed disabled:opacity-60",onClick:()=>void ee(),children:W?"\xd6nizleme alınıyor...":"Embed kullan"})]}):null]}):null,(0,r.jsx)(i.A,{isOpen:y,imageSrc:k,title:`${t} kırp`,aspect:n,onClose:()=>{j(!1),I(""),w.current&&(w.current.value="")},onApply:e=>{p?.(null),u(e),j(!1),I(""),w.current&&(w.current.value="")}})]})}let H=(e="")=>e.replace(/<[^>]*>/g," ").replace(/&nbsp;/gi," ").replace(/\s+/g," ").trim(),F=e=>("socialEmbed"===e.mediaKind||e.embedUrl)&&e.embedUrl?{provider:"instagram"===e.embedProvider?"instagram":"x",url:e.embedUrl,html:e.embedHtml||"",title:e.embedTitle||"",authorName:e.embedAuthorName||"",thumbnailUrl:e.embedThumbnailUrl||""}:null;function G({listItems:e,setListItems:t,setFieldValue:a,setListErrors:n,onUploadMedia:s}){let l=j.Ik({title:j.Yj().min(10,"Başlık minimum 10 karakter olmalıdır").max(300,"Başlık en fazla 300 karakter olmalıdır").required("Başlık giriniz").notOneOf(e.map(e=>e.title),"Aynı başlıkla birden fazla madde ekleyemezsiniz"),description:j.Yj().required("Madde i\xe7eriği giriniz").test("list-description-length","Madde i\xe7eriği 50-2000 karakter olmalıdır",e=>{let t=H(e||"").length;return t>=50&&t<=2e3}),image:j.Yj().optional()});return(0,r.jsxs)("div",{className:"grid gap-5",children:[(0,r.jsx)("div",{className:"rounded-2xl border border-slate-200 bg-slate-50 p-4",children:(0,r.jsxs)("div",{className:"flex flex-col gap-3 md:flex-row md:items-center md:justify-between",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("p",{className:"text-sm font-extrabold text-slate-900",children:"Liste maddeleri"}),(0,r.jsx)("p",{className:"mt-1 text-xs text-slate-500",children:"En az 3, en fazla 20 madde ekleyebilirsin."})]}),(0,r.jsxs)("span",{className:"rounded-full bg-white px-3 py-1 text-xs font-bold text-slate-600",children:[e.length,"/20"]})]})}),0===e.length?(0,r.jsxs)("div",{className:"rounded-2xl border border-dashed border-slate-300 bg-white p-8 text-center",children:[(0,r.jsx)(v,{className:"mx-auto h-10 w-10 text-slate-400"}),(0,r.jsx)("p",{className:"mt-3 text-sm font-semibold text-slate-500",children:"Hen\xfcz madde eklenmedi."})]}):(0,r.jsx)("div",{className:"grid gap-3",children:e.map((n,s)=>{let l=F(n);
1return(0,r.jsxs)("article",{className:"grid gap-4 rounded-2xl border border-slate-200 bg-white p-4 md:grid-cols-[minmax(0,1fr)_auto]",children:[(0,r.jsxs)("div",{className:"min-w-0",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)("span",{className:"inline-flex h-7 w-7 items-center justify-center rounded-full bg-slate-900 text-xs font-bold text-white",children:s+1}),(0,r.jsx)("h3",{className:"line-clamp-2 text-base font-extrabold text-slate-950",children:n.title})]}),l?(0,r.jsx)("div",{className:"mt-3",children:(0,r.jsx)(h.default,{embed:l,compact:!0})}):n.image?(0,r.jsx)("div",{className:"mt-3 overflow-hidden rounded-xl bg-slate-100",children:"video"===(0,b._T)(n.image)?(0,r.jsx)("video",{src:n.image,className:"aspect-video w-full bg-black object-contain",controls:!0,playsInline:!0,preload:"metadata"}):(0,r.jsx)("img",{src:n.image,className:"h-auto w-full object-cover",alt:n.title})}):null,(0,r.jsx)("p",{className:"mt-3 line-clamp-4 whitespace-pre-wrap text-sm leading-6 text-slate-600",children:((e="")=>e.replace(/<br\s*\/?>/gi,"\n").replace(/<[^>]*>/g,"").replace(/&nbsp;/gi," ").replace(/&amp;/gi,"&").replace(/&lt;/gi,"<").replace(/&gt;/gi,">").replace(/&quot;/gi,'"').replace(/&#39;/gi,"'"))(n.description)})]}),(0,r.jsxs)("button",{type:"button",className:"btn btn-sm btn-danger self-start",onClick:()=>(r=>{let n=e.filter((e,t)=>t!==r);t(n),a("listItems",n)})(s),children:[(0,r.jsx)(w.A,{className:"h-4 w-4"}),"Kaldır"]})]},`${n.title}-${s}`)})}),(0,r.jsx)(y.l1,{initialValues:{title:"",description:"",image:"",mediaKind:"media",embedProvider:"",embedUrl:"",embedHtml:"",embedTitle:"",embedAuthorName:"",embedThumbnailUrl:""},validationSchema:l,onSubmit:(r,{resetForm:s})=>{if(e.length>=20)return;let l=[...e,{...r,description:((e="")=>((e="")=>e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;"))(e).replace(/\r?\n/g,"<br />"))(r.description||""),image:"socialEmbed"===r.mediaKind?"":r.image||""}];t(l),a("listItems",l),n({}),s()},enableReinitialize:!0,validateOnChange:!1,validateOnBlur:!1,children:({values:e,setFieldValue:t,submitForm:a,errors:l})=>(0,r.jsxs)(y.lV,{className:"rounded-2xl border border-slate-200 bg-white p-4 md:p-5",children:[(0,r.jsxs)("div",{className:"mb-4",children:[(0,r.jsx)("h3",{className:"text-base font-extrabold text-slate-950",children:"Yeni madde"}),(0,r.jsx)("p",{className:"mt-1 text-sm text-slate-500",children:"Başlık, a\xe7ıklama ve istersen madde medyası ekle."})]}),(0,r.jsxs)("div",{className:"grid gap-4 md:grid-cols-[220px_minmax(0,1fr)] lg:grid-cols-[260px_minmax(0,1fr)]",children:[(0,r.jsx)($,{value:e.image,embed:F(e),label:"Madde medyası",emptyText:"Medya eklenmedi.",aspect:1,allowVideo:!0,allowGiphy:!0,allowSocialEmbed:!0,onUploadMedia:s,previewClassName:"relative aspect-square w-full overflow-hidden rounded-xl bg-slate-100",onChange:e=>{t("image",e),t("mediaKind","media"),t("embedProvider",""),t("embedUrl",""),t("embedHtml",""),t("embedTitle",""),t("embedAuthorName",""),t("embedThumbnailUrl","")},onEmbedChange:e=>{t("mediaKind",e?"socialEmbed":"media"),t("image",""),t("embedProvider",e?.provider||""),t("embedUrl",e?.url||""),t("embedHtml",e?.html||""),t("embedTitle",e?.title||""),t("embedAuthorName",e?.authorName||""),t("embedThumbnailUrl",e?.thumbnailUrl||"")}}),(0,r.jsxs)("div",{className:"grid gap-4",children:[(0,r.jsxs)("label",{className:"grid gap-2",children:[(0,r.jsx)("span",{className:"text-sm font-bold text-slate-700",children:"Madde başlığı"}),(0,r.jsx)(y.D0,{name:"title",className:"input w-full",type:"text",placeholder:"\xd6rn. İlk dikkat edilmesi gereken nokta"}),l.title&&(0,r.jsx)("span",{className:"text-sm font-semibold text-rose-600",children:l.title})]}),(0,r.jsxs)("label",{className:"grid gap-2",children:[(0,r.jsx)("span",{className:"text-sm font-bold text-slate-700",children:"Madde i\xe7eriği"}),(0,r.jsx)(y.D0,{as:"textarea",name:"description",className:"input min-h-[180px] w-full",placeholder:"Maddeyi a\xe7ıklayan metni yaz"}),(0,r.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,r.jsxs)("span",{className:"text-xs font-semibold text-slate-400",children:[H(e.description||"").length,"/2000"]}),l.description&&(0,r.jsx)("span",{className:"text-sm font-semibold text-rose-600",children:l.description})]})]}),(0,r.jsx)("button",{type:"button",className:"btn btn-dark justify-center md:w-fit",onClick:async e=>{e.preventDefault(),await a(),Object.keys(l).length>0&&n(l)},children:"Madde ekle"})]})]})]})})]})}var V=a(18787),Y=a(74550),W=a(54587),K=a.n(W);let Z={max:20};function J({pollItems:e,setPollItems:t,setFieldValue:a,onUploadMedia:n}){let s=async(r,{resetForm:n})=>{if(e.length>=Z.max)return;let s=[...e,r];t(s),a("pollItems",s),n()},l=j.Ik({question:j.Yj().min(20,"Soru minimum 20 karakter olmalıdır").max(100,"Soru en fazla 100 karakter olmalıdır").required("Soru giriniz"),questionImage:j.Yj().optional(),answers:j.YO().of(j.Ik({answerText:j.Yj().min(10,"Cevap minimum 10 karakter olmalıdır").max(200,"Cevap en fazla 200 karakter olmalıdır").required("Cevap giriniz"),answerImage:j.Yj().optional()})).min(2,"En az 2 cevap ekleyin").max(10,"En fazla 10 cevap ekleyin").test("unique-answers","Aynı cevap birden fazla kez eklenemez",function(e){if(!e)return!0;let t=e.map(e=>e.answerText?.toLowerCase().trim());return t.length===new Set(t).size})});return(0,r.jsxs)("div",{className:"grid gap-5",children:[(0,r.jsx)("div",{className:"rounded-2xl border border-slate-200 bg-slate-50 p-4",children:(0,r.jsxs)("div",{className:"flex flex-col gap-3 md:flex-row md:items-center md:justify-between",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("p",{className:"text-sm font-extrabold text-slate-900",children:"Anket soruları"}),(0,r.jsx)("p",{className:"mt-1 text-xs text-slate-500",children:"En az 1 soru, her soruda 2-10 cevap gerekir."})]}),(0,r.jsxs)("span",{className:"rounded-full bg-white px-3 py-1 text-xs font-bold text-slate-600",children:[e.length,"/20"]})]})}),0===e.length?(0,r.jsxs)("div",{className:"rounded-2xl border border-dashed border-slate-300 bg-white p-8 text-center",children:[(0,r.jsx)(V.A,{className:"mx-auto h-10 w-10 text-slate-400"}),(0,r.jsx)("p",{className:"mt-3 text-sm font-semibold text-slate-500",children:"Hen\xfcz anket sorusu eklenmedi."})]}):(0,r.jsx)("div",{className:"grid gap-3",children:e.map((n,s)=>(0,r.jsx)("article",{className:"rounded-2xl border border-slate-200 bg-white p-4",children:(0,r.jsxs)("div",{className:"flex flex-col gap-4 md:flex-row",children:[n.questionImage&&(0,r.jsx)("div",{className:"relative aspect-video overflow-hidden rounded-xl bg-slate-100 md:w-56 md:flex-shrink-0",children:"video"===(0,b._T)(n.questionImage)?(0,r.jsx)("video",{src:n.questionImage,controls:!0,muted:!0,loop:!0,playsInl
1ine:!0,preload:"metadata",className:"h-full w-full bg-black object-contain"}):(0,r.jsx)(K(),{src:n.questionImage,alt:n.question,fill:!0,sizes:"(max-width: 767px) calc(100vw - 3rem), 720px",className:"object-cover"})}),(0,r.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,r.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,r.jsxs)("h3",{className:"text-base font-extrabold text-slate-950",children:[s+1,". ",n.question]}),(0,r.jsxs)("button",{type:"button",className:"btn btn-sm btn-danger flex-shrink-0",onClick:()=>(r=>{let n=e.filter((e,t)=>t!==r);t(n),a("pollItems",n)})(s),children:[(0,r.jsx)(w.A,{className:"h-4 w-4"}),"Kaldır"]})]}),(0,r.jsx)("div",{className:"mt-4 grid gap-2 sm:grid-cols-2",children:n.answers.map((e,t)=>(0,r.jsxs)("div",{className:"flex items-center gap-3 rounded-xl bg-slate-50 p-3",children:[e.answerImage&&("video"===(0,b._T)(e.answerImage)?(0,r.jsx)("video",{src:e.answerImage,controls:!0,muted:!0,loop:!0,playsInline:!0,preload:"metadata",className:"aspect-video w-24 shrink-0 rounded-lg bg-black object-contain"}):(0,r.jsx)(K(),{src:e.answerImage,alt:e.answerText,width:44,height:44,className:"h-11 w-11 rounded-lg object-cover"})),(0,r.jsxs)("span",{className:"text-sm font-semibold text-slate-700",children:[t+1,". ",e.answerText]})]},`${e.answerText}-${t}`))})]})]})},`${n.question}-${s}`))}),(0,r.jsx)(y.l1,{initialValues:{question:"",questionImage:"",answers:[{answerText:"",answerImage:""},{answerText:"",answerImage:""}]},validationSchema:l,onSubmit:s,enableReinitialize:!0,validateOnChange:!1,validateOnBlur:!1,children:({values:e,setFieldValue:t,submitForm:a,errors:s})=>(0,r.jsxs)(y.lV,{className:"rounded-2xl border border-slate-200 bg-white p-4 md:p-5",children:[(0,r.jsxs)("div",{className:"mb-4",children:[(0,r.jsx)("h3",{className:"text-base font-extrabold text-slate-950",children:"Yeni anket sorusu"}),(0,r.jsx)("p",{className:"mt-1 text-sm text-slate-500",children:"Soruyu yaz, cevapları ekle ve istersen her alana g\xf6rsel bağla."})]}),(0,r.jsxs)("div",{className:"grid gap-4",children:[(0,r.jsxs)("label",{className:"grid gap-2",children:[(0,r.jsx)("span",{className:"text-sm font-bold text-slate-700",children:"Soru"}),(0,r.jsx)("input",{type:"text",id:"question",name:"question",placeholder:"Anket sorusunu yaz",value:e.question,onChange:e=>t("question",e.target.value),className:`input ${s.question?"border-rose-400":""}`}),(0,r.jsxs)("div",{className:"flex items-center justify-between",children:[(0,r.jsxs)("span",{className:"text-xs font-semibold text-slate-400",children:[e.question.length,"/100"]}),s.question&&(0,r.jsx)("span",{className:"text-sm font-semibold text-rose-600",children:s.question})]})]}),(0,r.jsx)($,{value:e.questionImage,label:"Soru medyası",aspect:16/9,allowVideo:!0,allowGiphy:!0,onUploadMedia:n,previewClassName:"relative aspect-video w-full overflow-hidden rounded-xl bg-slate-100",onChange:e=>t("questionImage",e)}),(0,r.jsxs)("div",{className:"rounded-2xl border border-slate-200 bg-slate-50 p-4",children:[(0,r.jsxs)("div",{className:"mb-4 flex items-center justify-between",children:[(0,r.jsx)("p",{className:"text-sm font-extrabold text-slate-900",children:"Cevaplar"}),(0,r.jsxs)("span",{className:"text-xs font-bold text-slate-500",children:[e.answers.length,"/10"]})]}),(0,r.jsx)("div",{className:"grid gap-3",children:e.answers.map((a,l)=>(0,r.jsxs)("div",{className:"grid min-w-0 gap-3 rounded-2xl border border-slate-200 bg-white p-3 xl:grid-cols-[minmax(0,1fr)_220px_auto]",children:[(0,r.jsxs)("label",{className:"grid gap-2",children:[(0,r.jsxs)("span",{className:"text-xs font-bold text-slate-500",children:["Cevap ",l+1]}),(0,r.jsx)("input",{type:"text",id:`answers.${l}.answerText`,name:`answers.${l}.answerText`,placeholder:"Cevabı yaz",value:a.answerText,onChange:e=>t(`answers.${l}.answerText`,e.target.value),className:`input w-full ${s.answers&&Array.isArray(s.answers)&&s.answers[l]&&s.answers[l]?.answerText?"border-rose-400":""}`}),s.answers&&Array.isArray(s.answers)&&s.answers[l]&&s.answers[l]?.answerText&&(0,r.jsx)("span",{className:"text-sm font-semibold text-rose-600",children:s.answers[l].answerText})]}),(0,r.jsx)($,{value:a.answerImage,label:"Cevap medyası",aspect:16/9,allowVideo:!0,allowGiphy:!0,onUploadMedia:n,previewClassName:"relative aspect-video w-full overflow-hidden rounded-xl bg-slate-100",onChange:e=>t(`answers.${l}.answerImage`,e)}),(0,r.jsx)("button",{type:"button",className:"btn btn-sm btn-danger self-start justify-center xl:w-auto",onClick:()=>t("answers",e.answers.filter((e,t)=>
1t!==l)),disabled:e.answers.length<=2,children:(0,r.jsx)(w.A,{className:"h-4 w-4"})})]},l))}),(0,r.jsxs)("div",{className:"mt-4 flex flex-wrap gap-2",children:[(0,r.jsxs)("button",{type:"button",className:"btn btn-light",onClick:()=>{e.answers.length>=10||t("answers",[...e.answers,{answerText:"",answerImage:""}])},children:[(0,r.jsx)(Y.A,{className:"h-4 w-4"}),"Cevap ekle"]}),"string"==typeof s.answers&&(0,r.jsx)("span",{className:"self-center text-sm font-semibold text-rose-600",children:s.answers})]})]}),(0,r.jsx)("button",{type:"button",className:"btn btn-dark justify-center md:w-fit",onClick:async e=>{e.preventDefault(),await a()},children:"Anket sorusunu ekle"})]})]})})]})}var X=a(25925),Q=a(21677),ee=a(17204);let et={max:20},ea={max:6},er=()=>({answerText:"",isCorrect:!1,answerImage:""}),en=()=>[er(),er()];function es({examItems:e,setExamItems:t,setFieldValue:a,onUploadMedia:n}){let[s,l]=(0,f.useState)(null),[i,o]=(0,f.useState)(1),[d,c]=(0,f.useState)(null),m=(0,f.useRef)(null),u=e=>{c(null),e("question",""),e("questionImage",""),e("answers",en())};return(0,r.jsx)("div",{className:"py-5",children:(0,r.jsxs)("div",{className:"flex flex-col gap-6",children:[s&&(0,r.jsx)("div",{className:"fixed inset-0 bg-black/50 z-50 flex items-center justify-center p-4",onClick:()=>l(null),children:(0,r.jsxs)("div",{className:"bg-white rounded-lg shadow-lg w-11/12 max-w-2xl max-h-[85vh] flex flex-col overflow-hidden",onClick:e=>e.stopPropagation(),children:[(0,r.jsxs)("div",{className:"flex items-center justify-between p-4 border-b border-gray-200 flex-shrink-0",children:[(0,r.jsx)("h3",{className:"text-lg font-semibold text-dark truncate",children:s.title}),(0,r.jsx)("button",{onClick:()=>l(null),className:"p-1 hover:bg-gray-100 rounded-lg transition-colors flex-shrink-0 ml-4",children:(0,r.jsx)(S.A,{className:"w-6 h-6 text-gray-500"})})]}),(0,r.jsx)("div",{className:"flex-1 overflow-auto flex items-center justify-center p-6 bg-gray-50",children:(0,r.jsx)("div",{className:"w-full max-h-[calc(85vh-80px)] flex items-center justify-center",children:(0,r.jsx)("img",{src:s.src,alt:s.title,className:"max-h-[calc(85vh-120px)] w-auto object-contain rounded-lg shadow-sm"})})})]})}),(0,r.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between",children:[(0,r.jsxs)("h2",{className:"text-2xl font-bold text-dark",children:["Eklenen Sorular (",e.length,"/",et.max,")"]}),e.length>0&&Math.ceil(e.length/3)>1&&(0,r.jsxs)("div",{className:"flex items-center gap-1",children:[(0,r.jsx)("button",{type:"button",disabled:1===i,onClick:()=>o(Math.max(1,i-1)),className:"p-2 rounded-lg border border-gray-300 hover:bg-gray-50 disabled:opacity-40 disabled:cursor-not-allowed transition-colors",title:"\xd6nceki sayfa",children:(0,r.jsx)(X.A,{className:"w-5 h-5 text-dark"})}),(0,r.jsxs)("span",{className:"text-sm font-medium text-gray-600 px-3 py-2 bg-gray-50 rounded-lg",children:[i," /"," ",Math.ceil(e.length/3)]}),(0,r.jsx)("button",{type:"button",disabled:i===Math.ceil(e.length/3),onClick:()=>o(Math.min(Math.ceil(e.length/3),i+1)),className:"p-2 rounded-lg border border-gray-300 hover:bg-gray-50 disabled:opacity-40 disabled:cursor-not-allowed transition-colors",title:"Sonraki sayfa",children:(0,r.jsx)(Q.A,{className:"w-5 h-5 text-dark"})})]})]}),0===e.length?(0,r.jsx)("div",{className:"bg-soft rounded-lg p-8 text-center border-2 border-dashed border-gray-300",children:(0,r.jsx)("p",{className:"text-gray-500 text-sm",children:"Hen\xfcz bir soru eklenmemiş."})}):(0,r.jsx)(r.Fragment,{children:(0,r.jsx)("div",{className:"flex flex-col gap-3",children:e.slice((i-1)*3,3*i).map((n,s)=>{let d=(i-1)*3+s;return(0,r.jsxs)("div",{className:"relative",children:[s<2&&(i-1)*3+s<e.length-1&&(0,r.jsx)("div",{className:"absolute left-3 top-8 bottom-0 w-0.5 bg-gray-200"}),(0,r.jsxs)("div",{className:"flex gap-4",children:[(0,r.jsx)("div",{className:"relative flex-shrink-0",children:(0,r.jsx)("div",{className:"flex items-center justify-center w-7 h-7 bg-success rounded-full border-4 border-white shadow-sm",children:(0,r.jsx)("span",{className:"text-xs font-bold text-white",children:d+1})})}),(0,r.jsx)("div",{className:"flex-1 pb-6",children:(0,r.jsxs)("div",{className:"bg-white rounded-lg p-5 border border-gray-200 shadow-sm hover:shadow-md transition-shadow",children:[(0,r.jsx)("p",{className:"text-dark font-semibold text-base mb-4 leading-snug",children:n.question}),n.questionImage&&((0,b.cn)(n.questionImage)?(0,r.jsx)("video",{src:n.questionImage,className:"mb-4 aspect-video w-full rounded-lg bg-black object-contain",controls:!0,playsInl
1ine:!0,preload:"metadata"}):(0,r.jsx)(K(),{src:n.questionImage,alt:n.question,width:800,height:450,unoptimized:(0,b.xz)(n.questionImage),className:"mb-4 h-auto w-full rounded-lg object-cover"})),(0,r.jsx)("div",{className:"flex flex-col gap-2 mb-4",children:n.answers.map((e,t)=>(0,r.jsxs)("div",{className:"flex items-start gap-3 p-3 bg-soft rounded-md border border-gray-200",children:[e.isCorrect?(0,r.jsx)("div",{className:"flex-shrink-0 w-5 h-5 mt-0.5 flex items-center justify-center bg-success rounded-full",children:(0,r.jsx)(ee.A,{className:"w-3 h-3 text-white"})}):(0,r.jsx)("div",{className:"flex-shrink-0 w-5 h-5 mt-0.5 border-2 border-gray-300 rounded-full"}),(0,r.jsx)("div",{className:"flex-1 min-w-0",children:(0,r.jsx)("p",{className:"text-sm text-gray-700",children:e.answerText})}),(e.answerImage||e.image)&&(0,r.jsx)("button",{type:"button",onClick:()=>l({src:e.answerImage||e.image,title:`${n.question} - Cevap ${t+1}`}),className:"p-1 hover:bg-gray-100 rounded transition-colors flex-shrink-0",children:(0,r.jsx)(B.A,{className:"w-4 h-4 text-gray-400 hover:text-gray-600"})})]},t))}),(0,r.jsxs)("div",{className:"flex gap-2",children:[(0,r.jsx)("button",{type:"button",className:"btn btn-sm btn-secondary flex-1",onClick:()=>{let t=e[d];c(d),m.current?.setFieldValue("question",t.question),m.current?.setFieldValue("questionImage",t.questionImage||""),m.current?.setFieldValue("answers",t.answers),setTimeout(()=>{let e=document.querySelector("[data-quiz-form]");e?.scrollIntoView({behavior:"smooth",block:"start"})},100)},children:"D\xfczenle"}),(0,r.jsxs)("button",{type:"button",className:"btn btn-sm btn-danger flex-1",onClick:()=>(r=>{let n=e.filter((e,t)=>t!==r);t(n),a("examItems",n);let s=Math.ceil(n.length/3);i>s&&s>0&&o(s)})(d),children:[(0,r.jsx)(w.A,{className:"w-4 h-4"}),"Sil"]})]})]})})]})]},d)})})})]}),(0,r.jsxs)("div",{className:"border-t-4 border-success pt-6 mt-8",children:[(0,r.jsx)("h2",{className:"text-2xl font-bold text-dark mb-6",children:"Yeni Soru Ekle"}),(0,r.jsx)(y.l1,{innerRef:m,initialValues:{question:"",questionImage:"",answers:en()},validationSchema:j.Ik({question:j.Yj().min(10,"Soru minimum 10 karakter olmalıdır").max(200,"Soru en fazla 200 karakter olmalıdır").required("Soru giriniz"),questionImage:j.Yj().optional(),answers:j.YO().of(j.Ik({answerText:j.Yj().min(10,"Cevap minimum 10 karakter olmalıdır").max(200,"Cevap en fazla 200 karakter olmalıdır").required("Cevap giriniz"),isCorrect:j.zM().optional(),answerImage:j.Yj().nullable().optional()})).min(2,"En az 2 cevap ekleyin").max(6,"En fazla 6 cevap ekleyin")}),onSubmit:(r,{setFieldValue:n})=>{if(1!==r.answers.filter(e=>e.isCorrect).length)return void g.oR.error("L\xfctfen bu soru i\xe7in tam olarak 1 doğru cevap se\xe7iniz");let s=r.answers.map(e=>e.answerText.toLowerCase().trim());if(new Set(s).size!==s.length)return void g.oR.error("Aynı cevabı birden fazla yazamazsınız");let l=r.question.toLowerCase().trim();if(e.some(e=>e&&e.question&&e.question.toLowerCase().trim()===l)&&null===d)return void g.oR.error("Aynı soruyu birden fazla ekleyemezsiniz");let i=r.answers.map(e=>{let t=String(e.answerImage||e.image||"").trim();return{...e,answerImage:t,image:t||null}}),o={...r,answers:i};if(null!==d){let r=[...e];r[d]=o,t(r),a("examItems",r),g.oR.success("Soru g\xfcncellendi"),c(null),n("question",""),n("questionImage",""),n("answers",en())}else{if(e.length>=et.max)return void g.oR.error(`En fazla ${et.max} soru ekleyebilirsiniz`);let r=[...e,o];t(r),a("examItems",r),g.oR.success("Soru eklendi"),n("question",""),n("questionImage",""),n("answers",en())}},enableReinitialize:!0,children:({values:e,errors:t,setFieldValue:a,submitForm:s})=>(0,r.jsxs)(y.lV,{"data-quiz-form":!0,className:"flex flex-col gap-6 bg-gradient-to-br from-white to-soft rounded-xl border border-gray-200 p-8 shadow-md",children:[null!==d&&(0,r.jsxs)("div",{className:"flex items-center justify-between bg-yellow-50 border border-yellow-200 rounded-lg p-3",children:[(0,r.jsxs)("span",{className:"text-sm font-semibold text-yellow-800",children:["D\xfczenleme Modu (Soru #",d+1,")"]}),(0,r.jsx)("button",{type:"button",onClick:()=>u(a),className:"text-sm text-yellow-700 hover:text-yellow-900 font-medium",children:"İptal Et"})]}),(0,r.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,r.jsx)("label",{className:"text-lg font-semibold text-dark",children:"Soru"}),(0,r.jsx)("input",{type:"text",id:"question",name:"question",placeholder:"Sorunuzu yazınız (min 10, max 200 karakter)",value:e.question,onChange:e=>a("question",e.target.value),maxLength:200,className:`input ${t.question?"border-2 border-error focus:border-error focus:ring-error/10":""}`}),(0,r.jsxs)("div",{className:"flex justify-between items-center",children:[(0,r.jsxs)("span",{className:"text-xs text-gray-500",children:[e.question.length,"/200"]}),t.question&&(0,r.jsx)("span",{className:"text-xs text-error font-medium",children:t.question})]}),(0,r.jsx)($,{value:e.questionImage,label:"Soru medyası",allowVideo:!0,allowGiphy:!0,aspect:16/9,previewClassName:"relative h-56 w-full overflow-hidden rounded-lg bg-soft",onUploadMedia:n,onChange:e=>a("questionImage",e)})]}),(0,r.jsx)("div",{className:"border-t border-gray-200"}),(0,r.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between",children:[(0,r.jsx)("label",{className:"text-lg font-semibold text-dark",children:"Cevaplar"}),(0,r.jsxs)("span",{className:"text-sm text-gray-500",children:[e.answers.length,"/",ea.max]})]}),0===e.answers.length&&(0,r.jsx)("div",{className:"bg-soft rounded-lg p-4 text-center border border-gray-300",children:(0,r.jsx)("span",{className:"text-gray-500 text-sm",children:"Hen\xfcz bir cevap eklenmemiş."})}),(0,r.jsx)("div",{className:"flex flex-col gap-4",children:e.answers.map((n,s)=>(0,r.jsxs)("div",{className:"bg-white rounded-lg p-5 border-2 border-dashed border-gray-300",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,r.jsxs)("span",{className:"text-sm font-semibold text-dark",children:["Cevap ",s+1]}),(0,r.jsx)("button",{type:"button",className:"btn btn-sm btn-danger",onClick:()=>a("answers",e.answers.filter((e,t)=>
1t!==s)),children:(0,r.jsx)(w.A,{className:"w-5 h-5"})})]}),(0,r.jsx)("div",{className:"mb-4",children:(0,r.jsx)($,{value:n.answerImage||n.image||"",label:"Cevap g\xf6rseli",allowGiphy:!0,aspect:1,previewClassName:"relative aspect-square w-full overflow-hidden rounded-lg bg-soft",onChange:t=>{let r=[...e.answers];r[s]={...r[s],answerImage:t,image:t||null},a("answers",r)}})}),(0,r.jsxs)("div",{className:"mb-4",children:[(0,r.jsx)("input",{type:"text",id:`answers.${s}.answerText`,name:`answers.${s}.answerText`,placeholder:"Cevap yazınız (min 10, max 200 karakter)",value:n.answerText,onChange:e=>a(`answers.${s}.answerText`,e.target.value),maxLength:200,className:`input w-full ${Array.isArray(t.answers)&&"object"==typeof t.answers[s]&&t.answers[s]&&"answerText"in t.answers[s]?"border-2 border-error focus:border-error focus:ring-error/10":""}`}),(0,r.jsxs)("div",{className:"flex justify-between items-center mt-2",children:[(0,r.jsxs)("span",{className:"text-xs text-gray-500",children:[n.answerText.length,"/200"]}),Array.isArray(t.answers)&&"object"==typeof t.answers[s]&&t.answers[s]&&"answerText"in t.answers[s]&&(0,r.jsx)("span",{className:"text-xs text-error font-medium",children:t.answers[s].answerText})]})]}),(0,r.jsxs)("div",{className:"flex items-center justify-between bg-gray-50 rounded-lg p-4 border border-gray-200",children:[(0,r.jsxs)("label",{htmlFor:`answer-correct-${s}`,className:"flex items-center gap-2 cursor-pointer",children:[(0,r.jsx)(ee.A,{className:"w-5 h-5 text-dark"}),(0,r.jsx)("span",{className:"text-sm font-semibold text-dark",children:"Doğru cevap olarak işaretle"})]}),(0,r.jsx)("button",{type:"button",onClick:()=>{a("answers",e.answers.map((e,t)=>({...e,isCorrect:t===s})))},className:`relative inline-flex h-6 w-11 items-center rounded-full transition-colors ${n.isCorrect?"bg-success":"bg-gray-300"}`,children:(0,r.jsx)("span",{className:`inline-block h-4 w-4 transform rounded-full bg-white transition-transform ${n.isCorrect?"translate-x-6":"translate-x-1"}`})})]})]},s))}),(0,r.jsx)("button",{type:"button",className:"btn mt-2",onClick:()=>{if(e.answers.length>=ea.max)return void g.oR.error(`En fazla ${ea.max} cevap ekleyebilirsiniz`);a("answers",[...e.answers,er()])},children:"+ Cevap Ekle"}),t.answers&&"string"==typeof t.answers&&(0,r.jsx)("div",{className:"text-error text-sm mt-2 bg-error/10 p-3 rounded-lg",children:t.answers})]}),(0,r.jsx)("div",{className:"border-t border-gray-200"}),(0,r.jsxs)("div",{className:"flex gap-3 justify-end pt-2",children:[null!==d&&(0,r.jsx)("button",{type:"button",className:"btn btn-secondary",onClick:()=>u(a),children:"İptal Et"}),(0,r.jsx)("button",{type:"button",className:"btn btn-primary",onClick:async e=>{e.preventDefault(),await s()},children:null!==d?"G\xfcncelle":"Soru ekle"})]})]})})]})]})})}var el=a(7021),ei=a(1707);let eo={resultText:"",resultDescription:"",resultImage:""},ed={question:"",questionImage:"",answers:[]},ec={answerText:"",answerDescription:"",answerImage:"",relatedResult:""};function em({values:e,setFieldValue:t}){let[a,n]=(0,f.useState)(eo),[s,l]=(0,f.useState)(ed),[i,o]=(0,f.useState)(ec);return(0,r.jsxs)("div",{className:"grid gap-6",children:[(0,r.jsxs)("div",{className:"grid gap-4 rounded-2xl border border-slate-200 bg-slate-50 p-4 md:grid-cols-2",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("p",{className:"text-sm font-extrabold text-slate-900",children:"Sonu\xe7 kartları"}),(0,r.jsx)("p",{className:"mt-1 text-xs text-slate-500",children:"Kullanıcının test sonunda g\xf6receği sonu\xe7ları oluştur."})]}),(0,r.jsxs)("div",{className:"flex gap-2 md:justify-end",children:[(0,r.jsxs)("span",{className:"rounded-full bg-white px-3 py-1 text-xs font-bold text-slate-600",children:[e.resultItems?.length||0,"/12 sonu\xe7"]}),(0,r.jsxs)("span",{className:"rounded-full bg-white px-3 py-1 text-xs font-bold text-slate-600",children:[e.quizItems?.length||0,"/24 soru"]})]})]}),e.resultItems?.length===0?(0,r.jsxs)("div",{className:"rounded-2xl border border-dashed border-slate-300 bg-white p-8 text-center",children:[(0,r.jsx)(el.A,{className:"mx-auto h-10 w-10 text-slate-400"}),(0,r.jsx)("p",{className:"mt-3 text-sm font-semibold text-slate-500",children:"\xd6nce en az iki sonu\xe7 kartı ekle."})]}):(0,r.jsx)("div",{className:"grid gap-3 md:grid-cols-2",children:e.resultItems.map((a,n)=>(0,r.jsxs)("article",{className:"overflow-hidden rounded-2xl border border-slate-200 bg-white",children:[(0,r.jsx)("div",{className:"relative aspect-[16/9] bg-slate-100",children:a.resultImage?(0,r.jsx)(K(),{src:a.resultImage,alt:a.resultText,fill:!0,sizes:"(max-width: 767px) calc(100vw - 3rem), 720px",unoptimized:(0,b.xz)(a.resultImage),className:"object-cover"}):(0,r.jsx)("div",{className:"flex h-full items-center justify-center text-xs font-semibold text-slate-400",children:"Sonu\xe7 g\xf6rseli yok"})}),(0,r.jsxs)("div",{className:"p-4",children:[(0,r.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,r.jsxs)("h3",{className:"text-base font-extrabold text-slate-950",children:[n+1,". ",a.resultText]}),(0,r.jsx)("button",{type:"button",className:"btn btn-sm btn-danger",onClick:()=>(a=>{let r=e.resultItems.filter((e,t)=>
1t!==a),n=e.quizItems.map(e=>({...e,answers:e.answers.filter(e=>e.relatedResult!==a)}));t("resultItems",r),t("quizItems",n)})(n),children:(0,r.jsx)(w.A,{className:"h-4 w-4"})})]}),(0,r.jsx)("p",{className:"mt-2 line-clamp-3 text-sm leading-6 text-slate-600",children:a.resultDescription})]})]},`${a.resultText}-${n}`))}),(0,r.jsxs)("div",{className:"rounded-2xl border border-slate-200 bg-white p-4 md:p-5",children:[(0,r.jsx)("h3",{className:"text-base font-extrabold text-slate-950",children:"Yeni sonu\xe7 kartı"}),(0,r.jsxs)("div",{className:"mt-4 grid gap-4 md:grid-cols-[220px_minmax(0,1fr)] lg:grid-cols-[260px_minmax(0,1fr)]",children:[(0,r.jsx)($,{value:a.resultImage,allowGiphy:!0,label:"Sonu\xe7 g\xf6rseli",aspect:1,previewClassName:"relative aspect-square w-full overflow-hidden rounded-xl bg-slate-100",onChange:e=>n({...a,resultImage:e})}),(0,r.jsxs)("div",{className:"grid gap-3",children:[(0,r.jsx)("input",{placeholder:"Sonu\xe7 başlığı",className:"input",value:a.resultText,onChange:e=>n({...a,resultText:e.target.value})}),(0,r.jsx)("textarea",{placeholder:"Sonu\xe7 a\xe7ıklaması",className:"input min-h-[130px]",value:a.resultDescription,onChange:e=>n({...a,resultDescription:e.target.value})}),(0,r.jsxs)("button",{type:"button",className:"btn btn-dark justify-center md:w-fit",onClick:()=>{if(e.resultItems?.length>=12)return void g.Ay.error("En fazla 12 test sonucu ekleyebilirsiniz");(!a.resultText||a.resultText.trim().length<5?(g.Ay.error("Sonu\xe7 minimum 5 karakter olmalıdır"),1):a.resultText.trim().length>200?(g.Ay.error("Sonu\xe7 en fazla 200 karakter olmalıdır"),1):!a.resultDescription||a.resultDescription.trim().length<10?(g.Ay.error("Sonu\xe7 a\xe7ıklaması minimum 10 karakter olmalıdır"),1):a.resultDescription.trim().length>500&&(g.Ay.error("Sonu\xe7 a\xe7ıklaması en fazla 500 karakter olmalıdır"),1))||(t("resultItems",[...e.resultItems,a]),n(eo))},children:[(0,r.jsx)(Y.A,{className:"h-4 w-4"}),"Sonu\xe7 ekle"]})]})]})]}),(0,r.jsxs)("div",{className:"rounded-2xl border border-slate-200 bg-slate-50 p-4",children:[(0,r.jsx)("p",{className:"text-sm font-extrabold text-slate-900",children:"Test soruları"}),(0,r.jsx)("p",{className:"mt-1 text-xs text-slate-500",children:"Her cevap bir sonu\xe7 kartına bağlanır. Bu bağ test sonucunu belirler."})]}),e.quizItems?.length>0&&(0,r.jsx)("div",{className:"grid gap-3",children:e.quizItems.map((a,n)=>(0,r.jsxs)("article",{className:"rounded-2xl border border-slate-200 bg-white p-4",children:[(0,r.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,r.jsxs)("h3",{className:"text-base font-extrabold text-slate-950",children:[n+1,". ",a.question]}),(0,r.jsxs)("button",{type:"button",className:"btn btn-sm btn-danger flex-shrink-0",onClick:()=>{t("quizItems",e.quizItems.filter((e,t)=>t!==n))},children:[(0,r.jsx)(w.A,{className:"h-4 w-4"}),"Sil"]})]}),a.questionImage&&(0,r.jsx)("div",{className:"relative mt-4 aspect-video overflow-hidden rounded-xl bg-slate-100",children:(0,r.jsx)(K(),{src:a.questionImage,alt:a.question,fill:!0,sizes:"(max-width: 767px) calc(100vw - 3rem), 720px",unoptimized:(0,b.xz)(a.questionImage),className:"object-cover"})}),(0,r.jsx)("div",{className:"mt-4 grid gap-2 md:grid-cols-2",children:a.answers.map((t,a)=>(0,r.jsxs)("div",{className:"rounded-xl bg-slate-50 p-3",children:[(0,r.jsx)("p",{className:"text-sm font-bold text-slate-800",children:t.answerText}),(0,r.jsx)("p",{className:"mt-1 text-xs leading-5 text-slate-500",children:t.answerDescription}),(0,r.jsxs)("div",{className:"mt-2 flex items-center gap-2 text-xs font-bold text-teal-700",children:[(0,r.jsx)(ei.A,{className:"h-4 w-4"}),e.resultItems[t.relatedResult]?.resultText||"Sonu\xe7 bulunamadı"]})]},`${t.answerText}-${a}`))})]},`${a.question}-${n}`))}),e.resultItems?.length>0?(0,r.jsxs)("div",{className:"rounded-2xl border border-slate-200 bg-white p-4 md:p-5",children:[(0,r.jsx)("h3",{className:"text-base font-extrabold text-slate-950",children:"Yeni test sorusu"}),(0,r.jsxs)("div",{className:"mt-4 grid gap-4",children:[(0,r.jsx)("input",{placeholder:"Soru",className:"input",value:s.question,onChange:e=>l({...s,question:e.target.value})}),(0,r.jsx)($,{value:s.questionImage,allowGiphy:!0,label:"Soru g\xf6rseli",aspect:16/9,previewClassName:"relative aspect-video w-full overflow-hidden rounded-xl bg-slate-100",onChange:e=>l({...s,questionImage:e})}),s.answers.length>0&&(0,r.jsx)("div",{className:"grid gap-2 md:grid-cols-2",children:s.answers.map((t,a)=>(0,r.jsx)("div",{className:"rounded-xl bg-slate-50 p-3",children:(0,r.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("p",{className:"text-sm font-bold text-slate-800",children:t.answerText}),(0,r.jsx)("p",{className:"mt-1 text-xs text-slate-500",children:e.resultItems[t.relatedResult]?.resultText})]}),(0,r.jsx)("button",{type:"button",className:"btn btn-sm btn-danger",onClick:()=>{l({...s,answers:s.answers.filter((e,t)=>
1t!==a)})},children:(0,r.jsx)(w.A,{className:"h-4 w-4"})})]})},a))}),(0,r.jsxs)("div",{className:"rounded-2xl border border-slate-200 bg-slate-50 p-4",children:[(0,r.jsx)("p",{className:"mb-4 text-sm font-extrabold text-slate-900",children:"Cevap ekle"}),(0,r.jsxs)("div",{className:"grid gap-4 md:grid-cols-[200px_minmax(0,1fr)] lg:grid-cols-[220px_minmax(0,1fr)]",children:[(0,r.jsx)($,{value:i.answerImage,allowGiphy:!0,label:"Cevap g\xf6rseli",aspect:1,previewClassName:"relative aspect-square w-full overflow-hidden rounded-xl bg-slate-100",onChange:e=>o({...i,answerImage:e})}),(0,r.jsxs)("div",{className:"grid gap-3",children:[(0,r.jsx)("input",{placeholder:"Cevap metni",className:"input",value:i.answerText,onChange:e=>o({...i,answerText:e.target.value})}),(0,r.jsx)("textarea",{placeholder:"Cevap a\xe7ıklaması",className:"input min-h-[100px]",value:i.answerDescription,onChange:e=>o({...i,answerDescription:e.target.value})}),(0,r.jsxs)("select",{className:"input",value:i.relatedResult,onChange:e=>o({...i,relatedResult:""===e.target.value?"":Number(e.target.value)}),children:[(0,r.jsx)("option",{value:"",children:"Sonu\xe7 se\xe7"}),e.resultItems.map((e,t)=>(0,r.jsx)("option",{value:t,children:e.resultText},`${e.resultText}-${t}`))]}),(0,r.jsxs)("button",{type:"button",className:"btn btn-light justify-center md:w-fit",onClick:()=>{(!i.answerText||i.answerText.trim().length<10?(g.Ay.error("Cevap minimum 10 karakter olmalıdır"),1):i.answerText.trim().length>200?(g.Ay.error("Cevap en fazla 200 karakter olmalıdır"),1):!i.answerDescription||i.answerDescription.trim().length<10?(g.Ay.error("Cevap a\xe7ıklaması minimum 10 karakter olmalıdır"),1):i.answerDescription.trim().length>200?(g.Ay.error("Cevap a\xe7ıklaması en fazla 200 karakter olmalıdır"),1):""===i.relatedResult&&(g.Ay.error("Cevabın bağlanacağı sonucu se\xe7iniz"),1))||(l({...s,answers:[...s.answers,i]}),o(ec))},children:[(0,r.jsx)(Y.A,{className:"h-4 w-4"}),"Cevabı ekle"]})]})]})]}),(0,r.jsx)("button",{type:"button",className:"btn btn-dark justify-center md:w-fit",onClick:()=>{if(e.quizItems?.length>=24)return void g.Ay.error("En fazla 24 test sorusu ekleyebilirsiniz");(!s.question||s.question.trim().length<10?(g.Ay.error("Soru minimum 10 karakter olmalıdır"),1):s.question.trim().length>200?(g.Ay.error("Soru en fazla 200 karakter olmalıdır"),1):(!s.answers||s.answers.length<2)&&(g.Ay.error("Her test sorusunda en az 2 cevap olmalıdır"),1))||(t("quizItems",[...e.quizItems,s]),l(ed),o(ec))},children:"Test sorusunu ekle"})]})]}):(0,r.jsx)("div",{className:"rounded-2xl border border-dashed border-slate-300 bg-white p-6 text-center text-sm font-semibold text-slate-500",children:"Soru eklemek i\xe7in \xf6nce sonu\xe7 kartı oluştur."})]})}var eu=a(6978);function ep({src:e,initialAlt:t="",editing:a,onClose:s,onConfirm:l}){let[i,o]=(0,f.useState)(n(t)?t:""),[d,c]=(0,f.useState)(""),[m,u]=(0,f.useState)(!1),p=(0,f.useRef)(!1),g=(0,f.useRef)(null),x=(0,f.useId)(),[h,b]=(0,f.useState)();(0,f.useEffect)(()=>{let e=window.visualViewport,t=()=>b({height:e?.height||window.innerHeight,top:e?.offsetTop||0});return t(),e?.addEventListener("resize",t),e?.addEventListener("scroll",t),()=>{e?.removeEventListener("resize",t),e?.removeEventListener("scroll",t)}},[]);let v=async()=>{if(!p.current){if(!n(i)){c("G\xf6rselde ne olduğunu anlatan kısa bir a\xe7ıklama yazın."),g.current?.focus();return}p.current=!0,u(!0),c("");try{await l(i.trim())}catch(e){c(e instanceof Error?e.message:"G\xf6rsel kaydedilemedi. Tekrar deneyin.")}finally{p.current=!1,u(!1)}}};return(0,r.jsxs)(eu.lG,{open:!0,onClose:()=>{p.current||s()},initialFocus:g,className:"fixed inset-0 z-[1500]",children:[(0,r.jsx)("div",{className:"fixed inset-0 bg-slate-950/45 backdrop-blur-sm","aria-hidden":"true"}),(0,r.jsx)("div",{className:"fixed inset-x-0 flex items-end justify-center md:items-center md:p-6",style:{to
1p:h?.top||0,height:h?.height||"100dvh"},children:(0,r.jsxs)(eu.lG.Panel,{className:"flex max-h-full w-full max-w-lg flex-col overflow-hidden rounded-t-3xl bg-white text-slate-900 shadow-2xl md:rounded-3xl","aria-busy":m,children:[(0,r.jsxs)("div",{className:"flex shrink-0 items-center justify-between gap-3 border-b border-slate-100 px-5 py-3",children:[(0,r.jsx)(eu.lG.Title,{className:"text-lg font-bold",children:"G\xf6rsel a\xe7ıklaması"}),(0,r.jsx)("button",{type:"button",onClick:s,disabled:m,"aria-label":"Kapat",className:"flex h-11 w-11 items-center justify-center rounded-full hover:bg-slate-100 disabled:opacity-40",children:(0,r.jsx)(S.A,{className:"h-5 w-5"})})]}),(0,r.jsxs)("div",{className:"min-h-0 overflow-y-auto overscroll-contain px-5 py-4",children:[(0,r.jsx)("img",{src:e,alt:"Se\xe7ilen g\xf6rselin \xf6nizlemesi",className:"mx-auto mb-4 max-h-[20dvh] max-w-full rounded-xl bg-slate-50 object-contain"}),(0,r.jsx)("label",{htmlFor:x,className:"mb-2 block text-sm font-semibold",children:"G\xf6rselde ne var?"}),(0,r.jsx)(eu.lG.Description,{id:`${x}-help`,className:"mb-3 text-sm leading-6 text-slate-500",children:"G\xf6rseli bir veya iki c\xfcmleyle anlatın. Bu a\xe7ıklama, g\xf6rseli g\xf6remeyen kişilere ve arama motorlarına yardımcı olur."}),(0,r.jsx)("textarea",{ref:g,id:x,value:i,rows:3,disabled:m,onChange:e=>{o(e.target.value),c("")},"aria-describedby":`${x}-help${d?` ${x}-error`:""}`,"aria-invalid":!!d,placeholder:"\xd6rneğin: Parkta kırmızı bir topun peşinden koşan k\xf6pek",className:"block w-full resize-none rounded-xl border border-slate-300 bg-white p-3 text-base leading-6 outline-none focus:border-slate-600 focus:ring-2 focus:ring-slate-200 disabled:opacity-60"}),d&&(0,r.jsx)("p",{id:`${x}-error`,role:"alert",className:"mt-2 text-sm text-rose-600",children:d})]}),(0,r.jsxs)("div",{className:"flex shrink-0 gap-3 border-t border-slate-100 px-5 pt-3",style:{paddingBottom:"max(16px, env(safe-area-inset-bottom))"},children:[(0,r.jsx)("button",{type:"button",disabled:m,onClick:s,className:"min-h-11 flex-1 rounded-xl border border-slate-200 px-4 py-2 font-semibold disabled:opacity-40",children:"Vazge\xe7"}),(0,r.jsx)("button",{type:"button",disabled:m,onClick:()=>void v(),className:"min-h-11 flex-1 rounded-xl bg-slate-900 px-4 py-2 font-semibold text-white disabled:opacity-60",children:m?"Kaydediliyor…":a?"A\xe7ıklamayı kaydet":"G\xf6rseli ekle"})]})]})})]})}var eg=a(24877);function ex({open:e,onClose:t,onSelect:a}){let[n,s]=(0,f.useState)(""),[l,i]=(0,f.useState)([]),[o,d]=(0,f.useState)(!1),[c,m]=(0,f.useState)(""),[u,p]=(0,f.useState)(0),g=(0,f.useRef)(0);(0,f.useEffect)(()=>{if(!e){g.current+=1,i([]),d(!1),m("");return}s("")},[e]),(0,f.useEffect)(()=>{if(!e)return;let t=n.trim(),a=window.setTimeout(()=>{let e=++g.current;d(!0),m(""),i([]),q({apiKey:"KERuVZ8bGhaPyxrtsHUFS9qfA09rIWF7",query:t,limit:24}).then(t=>{e===g.current&&(i(t),d(!1))}).catch(t=>{e===g.current&&(i([]),d(!1),m(t instanceof Error&&t.message?t.message:"GIF sonu\xe7ları alınamadı."))})},300*!!t);return()=>window.clearTimeout(a)},[e,n,u]);let x=!o&&!l.length&&!c,h=!!n.trim();return(0,r.jsx)(k.A,{open:e,onClose:t,className:"flex items-center justify-center p-4",children:(0,r.jsxs)("div",{className:"w-full max-w-6xl overflow-hidden rounded-[28px] border border-slate-200 bg-white shadow-[0_30px_90px_rgba(15,23,42,0.2)]",children:[(0,r.jsxs)("div",{className:"flex items-start justify-between gap-4 border-b border-slate-200 bg-[linear-gradient(180deg,rgba(248,250,252,0.98),rgba(255,255,255,0.96))] px-5 py-5 sm:px-6",children:[(0,r.jsxs)("div",{className:"min-w-0 space-y-1",children:[(0,r.jsx)("h3",{className:"text-lg font-semibold tracking-tight text-slate-900",children:"GIF ekle"}),(0,r.jsx)("p",{className:"text-sm leading-6 text-slate-500",children:"Aradığın GIF’i bul, tek dokunuşla imlecin bulunduğu yere ekle."})]}),(0,r.jsx)("button",{type:"button",onClick:t,className:"inline-flex h-10 w-10 items-center justify-center rounded-full border border-slate-200 bg-white text-slate-600 transition hover:border-slate-300 hover:text-slate-900",children:(0,r.jsx)(S.A,{className:"h-5 w-5"})})]}),(0,r.jsx)("div",{className:"border-b border-slate-200 px-5 py-4 sm:px-6",children:(0,r.jsxs)("label",{className:"relative block",children:[(0,r.jsx)(I.A,{className:"pointer-events-none absolute left-4 top-1/2 h-5 w-5 -translate-y-1/2 text-slate-400"}),(0,r.jsx)("input",{autoFocus:!0,value:n,onChange:e=>s(e.target.value),placeholder:"GIF ara",className:"h-12 w-full rounded-2xl border border-slate-200 bg-slate-50 pl-11 pr-4 text-sm text-slate-900 outline-none transition placeholder:text-slate-400 focus:border-slate-300 focus:bg-white"})]})}),(0,r.jsx)("div",{className:"max-h-[72vh] overflow-y-auto px-3 py-3 sm:px-4",children:c?(0,r.jsxs)("div",{className:"flex min-h-[20rem] flex-col items-center justify-center gap-3 rounded-[24px] border border-dashed border-slate-200 bg-slate-50 px-6 py-10 text-center",children:[(0,r.jsx)("p",{className:"text-sm font-semibold text-slate-900",children:"GIF’ler y\xfcklenemedi"}),(0,r.jsx)("p",{className:"max-w-md text-sm leading-6 text-slate-500",children:c}),(0,r.jsxs)("button",{type:"button",onClick:()=>p(e=>e+1),className:"inline-flex items-center gap-2 rounded-full bg-slate-900 px-4 py-2 text-xs font-semibold text-white transition hover:bg-slate-800",children:[(0,r.jsx)(D.A,{className:"h-4 w-4"}),"Tekrar dene"]})]}
1):o&&!l.length?(0,r.jsx)("div",{className:"grid grid-cols-2 gap-3 sm:grid-cols-3 lg:grid-cols-4",children:Array.from({length:8}).map((e,t)=>(0,r.jsx)("div",{className:"aspect-[4/5] animate-pulse rounded-[20px] bg-slate-100"},t))}):x?(0,r.jsxs)("div",{className:"flex min-h-[20rem] flex-col items-center justify-center rounded-[24px] border border-dashed border-slate-200 bg-slate-50 px-6 py-10 text-center",children:[(0,r.jsx)("p",{className:"text-sm font-semibold text-slate-900",children:h?"Sonu\xe7 bulunamadı":"GIF’ler hazırlanıyor"}),(0,r.jsx)("p",{className:"mt-2 max-w-md text-sm leading-6 text-slate-500",children:h?"Başka bir kelime deneyin veya aramayı temizleyin.":"Pop\xfcler GIF’ler getiriliyor."})]}):(0,r.jsx)("div",{className:"grid grid-cols-2 gap-3 sm:grid-cols-3 lg:grid-cols-4",children:l.map(e=>(0,r.jsx)("button",{type:"button",onClick:()=>a(e),className:"group relative overflow-hidden rounded-[20px] border border-slate-200 bg-slate-100 text-left shadow-[0_10px_30px_rgba(15,23,42,0.06)] transition hover:-translate-y-0.5 hover:border-slate-300 hover:shadow-[0_16px_40px_rgba(15,23,42,0.12)]",children:(0,r.jsxs)("div",{className:"relative aspect-[4/5] w-full overflow-hidden bg-slate-100",children:[(0,r.jsx)("img",{src:e.previewUrl,alt:e.title,loading:"lazy",decoding:"async",onLoad:()=>{M(e.analyticsLoadUrl)},className:"h-full w-full object-cover transition duration-300 group-hover:scale-[1.03]"}),(0,r.jsx)("div",{className:"pointer-events-none absolute inset-x-0 bottom-0 bg-gradient-to-t from-slate-950/60 via-slate-950/15 to-transparent px-3 py-2",children:(0,r.jsx)("p",{className:"line-clamp-2 text-[11px] font-medium leading-4 text-white/90",children:e.title})})]})},e.id))})}),(0,r.jsxs)("div",{className:"flex items-center justify-between gap-3 border-t border-slate-200 bg-slate-50 px-5 py-3 text-[11px] font-medium uppercase tracking-[0.16em] text-slate-500 sm:px-6",children:[(0,r.jsx)("span",{children:"Powered by GIPHY"}),(0,r.jsx)("span",{children:h?"Arama sonucu":"Pop\xfcler GIF’ler"})]})]})})}let eh=(e="")=>JSON.stringify(e).replace(/<\/script/gi,"<\\/script");var eb=a(57734),ef=a(87498),ev=a(78616);let ew=["image/png","image/jpeg","image/jpg","image/webp","image/gif","image/heic","image/heif"];function ey({initialHtml:e,placeholder:t,height:a,onChange:n,onRequestImage:s,onRequestDescription:l,descriptionRequest:i,onRequestVideo:o,onRequestEmoji:d,onRequestGif:c,onRequestUnsplash:m,onRequestSocialEmbed:u,isUploadingVideo:p=!1,mentionApiBaseUrl:g,mentionAuthHeader:x}){let h=(0,f.useRef)(null),b=(0,f.useRef)(e||"<p></p>"),v=(0,f.useRef)(""),w=(0,f.useRef)(null),y=(0,f.useRef)(!1),[j,k]=(0,f.useState)(e||"<p></p>"),N=(0,f.useMemo)(()=>(function({initialHtml:e,placeholder:t,mentionApiBaseUrl:a="",mentionAuthHeader:r=""}){return`<!doctype html>
2<html lang="tr">
3  <head>
4    <meta charset="utf-8" />
5    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" />
6    <style>
7      :root {
8        color-scheme: light;
9        --bg: #f8fafc;
10        --surface: rgba(255, 255, 255, 0.92);
11        --surface-soft: #eff6ff;
12        --border: rgba(15, 23, 42, 0.1);
13        --border-strong: rgba(15, 23, 42, 0.16);
14        --text: #0f172a;
15        --muted: #64748b;
16        --accent: #0f172a;
17        --accent-soft: #dbeafe;
18        --toolbar-height: 76px;
19      }
20      * { box-sizing: border-box; }
21      html, body {
22        width: 100%;
23        height: 100%;
24        margin: 0;
25        overflow: hidden;
26        background:
27          radial-gradient(circle at top, rgba(191, 219, 254, 0.26), transparent 38%),
28          linear-gradient(180deg, #f8fafc 0%, #fefefe 100%);
29        font-family: "Manrope", system-ui, sans-serif;
30        -webkit-font-smoothing: antialiased;
31        -moz-osx-font-smoothing: grayscale;
32        color: var(--text);
33      }
34      body { position: relative; }
35      .toolbar {
36        position: fixed;
37        top: 0;
38        left: 0;
39        right: 0;
40        z-index: 20;
41        display: flex;
42        flex-wrap: nowrap;
43        gap: 8px;
44        align-items: center;
45        min-height: var(--toolbar-height);
46        padding: 14px 16px;
47        border-bottom: 1px solid var(--border);
48        background: rgba(248, 250, 252, 0.82);
49        backdrop-filter: blur(18px);
50        -webkit-backdrop-filter: blur(18px);
51        overflow-x: auto;
52        overflow-y: hidden;
53        overscroll-behavior-x: contain;
54        -webkit-overflow-scrolling: touch;
55        scrollbar-width: none;
56      }
57      .toolbar::-webkit-scrollbar { display: none; }
58      .toolbar button {
59        border: 1px solid var(--border);
60        background: var(--surface);
61        color: var(--text);
62        border-radius: 999px;
63        flex: 0 0 auto;
64        min-height: 40px;
65        padding: 9px 14px;
66        font-size: 12px;
67        font-weight: 600;
68        letter-spacing: 0.01em;
69        box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
70        transition: background 140ms ease, border-color 140ms ease, transform 140ms ease;
71      }
72      .toolbar button:hover { background: #ffffff; border-color: var(--border-strong); }
73      .toolbar button:active { transform: scale(0.98); }
74      .toolbar select {
75        border: 1px solid var(--border);
76        background: var(--surface);
77        color: var(--text);
78        border-radius: 999px;
79        flex: 0 0 auto;
80        min-height: 40px;
81        padding: 9px 30px 9px 14px;
82        font-size: 12px;
83        font-weight: 600;
84        letter-spacing: 0.01em;
85        box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
86      }
87      .toolbar select:focus { outline: 2px solid rgba(37, 99, 235, 0.24); outline-offset: 2px; }
88      #editor-shell {
89        height: 100%;
90        overflow-y: auto;
91        overflow-x: hidden;
92        overscroll-behavior: contain;
93        -webkit-overflow-scrolling: touch;
94        padding-top: calc(var(--toolbar-height) + 8px);
95      }
96      #editor {
97        min-height: calc(100% - var(--toolbar-height) - 8px);
98        padding: 22px 18px 56px;
99        outline: none;
100        font-size: 16px;
101        line-height: 1.75;
102        color: var(--text);
103      }
104      #editor:empty:before {
105        content: attr(data-placeholder);
106        color: var(--muted);
107      }
108      #editor h1, #editor h2, #editor h3, #editor h4, #editor h5, #editor h6 {
109        line-height: 1.18;
110        margin: 1.15rem 0 0.8rem;
111        font-weight: 600;
112        letter-spacing: -0.03em;
113      }
114      #editor h1 { font-size: 2rem; }
115      #editor h2 { font-size: 1.6rem; }
116      #editor h3 { font-size: 1.3rem; }
117      #editor h4 { font-size: 1.15rem; }
118      #editor h5 { font-size: 1.05rem; }
119      #editor h6 { font-size: 0.95rem; }
120      #editor p, #editor blockquote, #editor ul, #editor ol { margin: 0 0 1rem; }
121      #editor blockquote {
122        border-left: 4px solid #cbd5e1;
123        margin-left: 0;
124        padding-left: 14px;
125        color: #334155;
126        background: #f8fafc;
127        padding-top: 10px;
128        padding-bottom: 10px;
129        border-radius: 0 16px 16px 0;
130      }
131      #editor ul, #editor ol { padding-left: 22px; }
132      #editor img {
133        display: block;
134        width: 100%;
135        max-width: 100%;
136        height: auto;
137        border-radius: 18px;
138        margin: 16px 0;
139      }
140      [data-block="image"] { margin: 16px 0; }
141      [data-block="socialEmbed"] { margin: 16px 0; }
142      .social-embed-card {
143        display: grid;
144        gap: 8px;
145        border: 1px solid rgba(15, 23, 42, 0.12);
146        border-radius: 18px;
147        background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
148        padding: 14px;
149        box-shadow: 0 12px 30px rgba(15, 23, 42, 0.08);
150      }
151      .social-embed-kicker {
152        color: #0f766e;
153        font-size: 11px;
154        font-weight: 900;
155        text-transform: uppercase;
156      }
157      .social-embed-title {
158        overflow: hidden;
159        color: #0f172a;
160        font-size: 15px;
161        font-weight: 900;
162        text-overflow: ellipsis;
163        white-space: nowrap;
164      }
165      .social-embed-url {
166        overflow: hidden;
167        color: #64748b;
168        font-size: 12px;
169        font-weight: 700;
170        text-overflow: ellipsis;
171        white-space: nowrap;
172      }
173      a { color: #2563eb; }
174      .mention-popover {
175        position: fixed;
176        left: 14px;
177        right: 14px;
178        bottom: 16px;
179        z-index: 30;
180        display: none;
181        overflow: hidden;
182        border: 1px solid rgba(15, 23, 42, 0.12);
183        border-radius: 18px;
184        background: rgba(255, 255, 255, 0.98);
185        box-shadow: 0 18px 55px rgba(15, 23, 42, 0.18);
186      }
187      .mention-tabs {
188        display: grid;
189        grid-template-columns: repeat(3, minmax(0, 1fr));
190        gap: 6px;
191        padding: 6px;
192        border-bottom: 1px solid rgba(15, 23, 42, 0.08);
193        background: #f8fafc;
194      }
195      .mention-tab {
196        min-height: 34px;
197        border: 0;
198        border-radius: 12px;
199        background: transparent;
200        color: #64748b;
201        font-size: 12px;
202        font-weight: 800;
203      }
204      .mention-tab.active {
205        background: #ffffff;
206        color: #0f766e;
207        box-shadow: 0 1px 5px rgba(15, 23, 42, 0.08);
208      }
209      .mention-results {
210        max-height: 240px;
211        max-height: min(260px, calc(100vh - var(--toolbar-height) - 110px));
212        max-height: min(260px, calc(100dvh - var(--toolbar-height) - 110px));
213        overflow-y: auto;
214        overscroll-behavior-y: contain;
215        -webkit-overflow-scrolling: touch;
216        padding: 6px;
217        scrollbar-gutter: stable;
218        touch-action: pan-y;
219      }
220      .mention-item {
221        display: flex;
222        width: 100%;
223        align-items: center;
224        gap: 10px;
225        border: 0;
226        border-radius: 13px;
227        background: transparent;
228        padding: 9px 10px;
229        color: #0f172a;
230        scroll-margin: 6px;
231        text-align: left;
232      }
233      .mention-item.active,
234      .mention-item:hover {
235        background: #ecfdf5;
236        color: #134e4a;
237      }
238      .mention-avatar {
239        display: flex;
240        height: 34px;
241        width: 34px;
242        flex: 0 0 auto;
243        align-items: center;
244        justify-content: center;
245        overflow: hidden;
246        border-radius: 999px;
247        background: #f1f5f9;
248        color: #64748b;
249        font-size: 12px;
250        font-weight: 900;
251      }
252      .mention-avatar img {
253        height: 100%;
254        width: 100%;
255        margin: 0;
256        border-radius: 999px;
257        object-fit: cover;
258      }
259      .mention-copy {
260        min-width: 0;
261        flex: 1;
262      }
263      .mention-title,
264      .mention-subtitle {
265        display: block;
266        overflow: hidden;
267        text-overflow: ellipsis;
268        white-space: nowrap;
269      }
270      .mention-title {
271        font-size: 13px;
272        font-weight: 900;
273      }
274      .mention-subtitle {
275        margin-top: 2px;
276        color: #64748b;
277        font-size: 11px;
278        font-weight: 700;
279      }
280      .mention-empty {
281        padding: 14px;
282        color: #64748b;
283        font-size: 13px;
284        font-weight: 700;
285      }
286    </style>
287  </head>
288  <body>
289    <div class="toolbar">
290      <select data-block-format title="Başlık" aria-label="Başlık">
291        <option value="p">Paragraf</option>
292        <option value="h1">H1</option>
293        <option value="h2">H2</option>
294        <option value="h3">H3</option>
295        <option value="h4">H4</option>
296        <option value="h5">H5</option>
297        <option value="h6">H6</option>
298      </select>
299      <button data-command="bold" type="button" title="Kalın"><strong>B</strong></button>
300      <button data-command="italic" type="button" title="İtalik"><em>I</em></button>
301      <button data-command="underline" type="button" title="Altı \xc7izili"><u>U</u></button>
302      <button data-command="video" type="button" title="Video">Video</button>
303      <button data-command="emoji" type="button" title="Emoji">😀</button>
304      <button data-command="gif" type="button" title="GIF">GIF</button>
305      <button data-command="unsplash" type="button" title="Unsplash fotoğrafı">Unsplash</button>
306      <button data-command="image" type="button" title="G\xf6rsel">🖼</button>
307      <button data-command="image-description" type="button">A\xe7ıklamayı d\xfczenle</button>
308      <button data-command="social-embed" type="button" title="X/Twitter">Embed</button>
309    </div>
310    <div id="editor-shell">
311      <div id="editor" contenteditable="true" data-placeholder=${eh(t)}></div>
312    </div>
313    <div id="mention-popover" class="mention-popover" aria-live="polite"></div>
314    <script>
315      const MARKER = ${eh("wuubi-rich-text-editor")};
316      const editor = document.getElementById('editor');
317      const editorShell = document.getElementById('editor-shell');
318      const mentionPopover = document.getElementById('mention-popover');
319      const initialHtml = ${eh(e||"<p></p>")};
320      const mentionApiBaseUrl = ${eh(a||"")};
321      const mentionAuthHeader = ${eh(r||"")};
322      let savedRange = null;
323      let selectedImage = null;
324      let descriptionImage = null;
325
326      function bodyImages() {
327        return Array.from(editor.querySelectorAll('img[src]')).filter(image => !image.closest('[data-block="socialEmbed"]'));
328      }
329
330      function describeImage(image) {
331        if (!image || !editor.contains(image)) return;
332        descriptionImage = image;
333        selectedImage = image;
334        captureSelection();
335        image.scrollIntoView({ block: 'center' });
336        post({ type: 'request-image-description', src: image.getAttribute('src'), alt: image.getAttribute('alt') || '' });
337      }
338
339      function updateImageDescription(alt) {
340        if (!descriptionImage || !editor.contains(descriptionImage)) return false;
341        const replacement = descriptionImage.cloneNode(true);
342        replacement.setAttribute('alt', alt);
343        const range = document.createRange();
344        range.selectNode(descriptionImage);
345        editor.focus();
346        const selection = window.getSelection();
347        selection.removeAllRanges();
348        selection.addRange(range);
349        // Keep the edit in the browser's undo history and preserve all media attributes.
350        const updated = document.execCommand('insertHTML', false, replacement.outerHTML);
351        if (!updated) return false;
352        descriptionImage = null;
353        selectedImage = null;
354        captureSelection();
355        emitChange();
356        return true;
357      }
358      let isRestoringSelection = false;
359      let mentionState = null;
360      let mentionItems = [];
361      let mentionType = 'user';
362      let mentionHighlightIndex = 0;
363      let mentionTimer = null;
364      let isMentionPopoverInteracting = false;
365      const mentionTabs = [
366        { type: 'user', label: 'Kullanıcı' },
367        { type: 'group', label: 'Grup' },
368        { type: 'content', label: 'İ\xe7erik' },
369      ];
370
371      function post(payload) {
372        const message = { source: MARKER, ...payload };
373        if (window.ReactNativeWebView && window.ReactNativeWebView.postMessage) {
374          window.ReactNativeWebView.postMessage(JSON.stringify(message));
375        }
376        if (window.parent && window.parent !== window) {
377          window.parent.postMessage(message, '*');
378        }
379      }
380
381      function nodeBelongsToEditor(node) {
382        const element =
383          node && node.nodeType === Node.TEXT_NODE ? node.parentNode : node;
384        return Boolean(element && editor.contains(element));
385      }
386
387      function rangeBelongsToEditor(range) {
388        return Boolean(
389          range &&
390            nodeBelongsToEditor(range.startContainer) &&
391            nodeBelongsToEditor(range.endContainer)
392        );
393      }
394
395      function selectionBelongsToEditor(selection) {
396        if (!selection || !selection.rangeCount) return false;
397        return rangeBelongsToEditor(selection.getRangeAt(0));
398      }
399
400      function captureSelection() {
401        if (isRestoringSelection) return;
402        const selection = window.getSelection();
403        if (!selectionBelongsToEditor(selection)) return;
404        savedRange = selection.getRangeAt(0).cloneRange();
405      }
406
407      function focusEditorWithoutCapturingSelection() {
408        isRestoringSelection = true;
409        try {
410          editor.focus({ preventScroll: true });
411        } catch (_error) {
412          editor.focus();
413        }
414      }
415
416      function unlockSelectionCaptureSoon() {
417        window.setTimeout(() => {
418          isRestoringSelection = false;
419        }, 0);
420      }
421
422      function restoreSelection() {
423        if (!savedRange) return false;
424        if (!rangeBelongsToEditor(savedRange)) {
425          savedRange = null;
426          return false;
427        }
428        const selection = window.getSelection();
429        if (!selection) return false;
430        try {
431          focusEditorWithoutCapturingSelection();
432          selection.removeAllRanges();
433          selection.addRange(savedRange);
434          return true;
435        } catch (_error) {
436          savedRange = null;
437          return false;
438        } finally {
439          unlockSelectionCaptureSoon();
440        }
441      }
442
443      function getTopLevelEditorChild(node) {
444        let current =
445          node && node.nodeType === Node.TEXT_NODE ? node.parentNode : node;
446        while (current && current.parentNode && current.parentNode !== editor) {
447          current = current.parentNode;
448        }
449        return current && current.parentNode === editor ? current : null;
450      }
451
452      function isSplittableBlock(node) {
453        if (!node || node.nodeType !== Node.ELEMENT_NODE) return false;
454        const tag = node.tagName.toLowerCase();
455        return tag === 'p' || tag === 'div' || tag === 'blockquote' || /^h[1-6]$/.test(tag);
456      }
457
458      function fragmentHasMeaningfulContent(fragment) {
459        return Array.from(fragment.childNodes).some((child) => {
460          if (child.nodeType === Node.TEXT_NODE) {
461            return String(child.textContent || '').length > 0;
462          }
463          if (child.nodeType !== Node.ELEMENT_NODE) return false;
464          return child.tagName.toLowerCase() !== 'br';
465        });
466      }
467
468      function createEmptyParagraph() {
469        const paragraph = document.createElement('p');
470        paragraph.innerHTML = '<br />';
471        return paragraph;
472      }
473
474      function cloneBlockShell(block) {
475        const clone = block.cloneNode(false);
476        if (clone.nodeType === Node.ELEMENT_NODE) {
477          clone.removeAttribute('id');
478        }
479        return clone;
480      }
481
482      function replaceNodeWithNodes(node, nodes) {
483        const parent = node && node.parentNode;
484        if (!parent) return;
485        nodes.forEach((child) => {
486          parent.insertBefore(child, node);
487        });
488        parent.removeChild(node);
489      }
490
491      function setSelectionAtStart(node) {
492        if (!node) return;
493        const selection = window.getSelection();
494        if (!selection) return;
495        const nextRange = document.createRange();
496        nextRange.setStart(node, 0);
497        nextRange.collapse(true);
498        selection.removeAllRanges();
499        selection.addRange(nextRange);
500      }
501
502      function revealNode(node) {
503        if (!node || typeof node.scrollIntoView !== 'function') return;
504        try {
505          node.scrollIntoView({ block: 'center', behavior: 'smooth' });
506        } catch (_error) {
507          node.scrollIntoView();
508        }
509      }
510
511      function insertMediaBlock(mediaNode) {
512        if (!mediaNode) return;
513
514        const fallbackParagraph = createEmptyParagraph();
515
516        restoreSelection();
517
518        const selection = window.getSelection();
519        if (!selectionBelongsToEditor(selection)) {
520          editor.appendChild(mediaNode);
521          editor.appendChild(fallbackParagraph);
522          setSelectionAtStart(fallbackParagraph);
523          revealNode(mediaNode);
524          captureSelection();
525          return;
526        }
527
528        const range = selection.getRangeAt(0);
529        if (!range.collapsed) {
530          range.deleteContents();
531          range.collapse(true);
532        }
533
534        const block = getTopLevelEditorChild(range.startContainer);
535        if (!block || !isSplittableBlock(block)) {
536          const insertionTarget = block && block.parentNode === editor ? block : null;
537          if (insertionTarget) {
538            editor.insertBefore(mediaNode, insertionTarget.nextSibling);
539            editor.insertBefore(fallbackParagraph, mediaNode.nextSibling);
540          } else {
541            editor.appendChild(mediaNode);
542            editor.appendChild(fallbackParagraph);
543          }
544          setSelectionAtStart(fallbackParagraph);
545          revealNode(mediaNode);
546          captureSelection();
547          return;
548        }
549
550        const beforeRange = document.createRange();
551        beforeRange.setStart(block, 0);
552        beforeRange.setEnd(range.startContainer, range.startOffset);
553
554        const afterRange = document.createRange();
555        afterRange.setStart(range.startContainer, range.startOffset);
556        afterRange.setEnd(block, block.childNodes.length);
557
558        const beforeFragment = beforeRange.cloneContents();
559        const afterFragment = afterRange.cloneContents();
560        const beforeHasContent = fragmentHasMeaningfulContent(beforeFragment);
561        const afterHasContent = fragmentHasMeaningfulContent(afterFragment);
562
563        const nodes = [];
564        if (beforeHasContent) {
565          const beforeBlock = cloneBlockShell(block);
566          beforeBlock.appendChild(beforeFragment);
567          nodes.push(beforeBlock);
568        }
569        nodes.push(mediaNode);
570
571        const afterBlock = cloneBlockShell(block);
572        if (afterHasContent) {
573          afterBlock.appendChild(afterFragment);
574        } else {
575          afterBlock.innerHTML = '<br />';
576        }
577        nodes.push(afterBlock);
578
579        replaceNodeWithNodes(block, nodes);
580        setSelectionAtStart(afterBlock);
581        revealNode(mediaNode);
582        captureSelection();
583      }
584
585      function normalizeSegments(segments) {
586        const next = [];
587        segments.forEach((segment) => {
588          const text = String(segment.text || '');
589          const prev = next[next.length - 1];
590          if (
591            prev &&
592            prev.bold === Boolean(segment.bold) &&
593            prev.italic === Boolean(segment.italic) &&
594            (prev.link || null) === (segment.link || null)
595          ) {
596            prev.text += text;
597            return;
598          }
599          next.push({
600            text,
601            ...(segment.bold ? { bold: true } : {}),
602            ...(segment.italic ? { italic: true } : {}),
603            ...(segment.link ? { link: segment.link } : {}),
604          });
605        });
606        return next.length ? next : [{ text: '' }];
607      }
608
609      function walkInline(node, marks = {}) {
610        if (node.nodeType === Node.TEXT_NODE) {
611          return [{ text: node.nodeValue || '', ...marks }];
612        }
613        if (node.nodeType !== Node.ELEMENT_NODE) {
614          return [];
615        }
616
617        const tag = node.tagName.toLowerCase();
618        const nextMarks = { ...marks };
619
620        if (tag === 'strong' || tag === 'b') nextMarks.bold = true;
621        if (tag === 'em' || tag === 'i') nextMarks.italic = true;
622        if (tag === 'a') nextMarks.link = node.getAttribute('href') || null;
623        if (tag === 'br') return [{ text: '\\n', ...nextMarks }];
624        if (tag === 'img') return [];
625        if (tag === 'video' || tag === 'source') return [];
626
627        return Array.from(node.childNodes).flatMap((child) =>
628          walkInline(child, nextMarks)
629        );
630      }
631
632      function createParagraphBlock(node, type, extra) {
633        return {
634          id: \`block-\${Date.now()}-\${Math.random().toString(36).slice(2, 8)}\`,
635          type,
636          ...extra,
637          segments: normalizeSegments(walkInline(node)),
638        };
639      }
640
641      function readMediaSource(element) {
642        if (!element || element.nodeType !== Node.ELEMENT_NODE) return '';
643
644        const directSource = element.getAttribute('src');
645        if (directSource) return directSource;
646
647        const sourceElement =
648          element.querySelector(':scope > source[src]') || element.querySelector('source[src]');
649        if (sourceElement) {
650          return sourceElement.getAttribute('src') || '';
651        }
652
653        return '';
654      }
655
656      function decodeEmbedHtml(value) {
657        try {
658          return decodeURIComponent(String(value || ''));
659        } catch (_error) {
660          return '';
661        }
662      }
663
664      function createImageBlock(image) {
665        return {
666          id: 'image-' + Date.now() + '-' + Math.random().toString(36).slice(2, 8),
667          type: 'image', src: image.getAttribute('src'), alt: image.getAttribute('alt') || '',
668          ...(image.getAttribute('width') ? { width: Number(image.getAttribute('width')) } : {}),
669          ...(image.getAttribute('height') ? { height: Number(image.getAttribute('height')) } : {}),
670          ...(image.getAttribute('data-asset-id') ? { assetId: image.getAttribute('data-asset-id') } : {}),
671          ...(image.getAttribute('srcset') ? { srcSet: image.getAttribute('srcset') } : {}),
672          ...(image.getAttribute('sizes') ? { sizes: image.getAttribute('sizes') } : {}),
673        };
674      }
675
676      function buildDocument() {
677        const blocks = [];
678
679        const appendNode = (node) => {
680          if (node.nodeType === Node.TEXT_NODE) {
681            const text = String(node.textContent || '').trim();
682            if (text) {
683              blocks.push({
684                id: \`block-\${Date.now()}-\${Math.random().toString(36).slice(2, 8)}\`,
685                type: 'paragraph',
686                segments: [{ text }],
687              });
688            }
689            return;
690          }
691
692          if (node.nodeType !== Node.ELEMENT_NODE) return;
693          const element = node;
694          const tag = element.tagName.toLowerCase();
695
696          if (element.getAttribute('data-block') === 'image') {
697            const image = element.querySelector('img');
698            if (image && image.getAttribute('src')) {
699              blocks.push(createImageBlock(image));
700            }
701            return;
702          }
703
704          if (element.getAttribute('data-block') === 'video') {
705            const video = element.querySelector('video');
706            const src = readMediaSource(video || element);
707            if (src) {
708              blocks.push({
709                id: \`block-\${Date.now()}-\${Math.random().toString(36).slice(2, 8)}\`,
710                type: 'video',
711                src,
712              });
713            }
714            return;
715          }
716
717          if (element.getAttribute('data-block') === 'socialEmbed') {
718            const url = element.getAttribute('data-url') || '';
719            if (url) {
720              const provider = (element.getAttribute('data-provider') || 'x').toLowerCase();
721              if (provider !== 'x') {
722                blocks.push({
723                  id: \`block-\${Date.now()}-\${Math.random().toString(36).slice(2, 8)}\`,
724                  type: 'paragraph',
725                  segments: [{ text: url, link: url }],
726                });
727                return;
728              }
729              blocks.push({
730                id: \`block-\${Date.now()}-\${Math.random().toString(36).slice(2, 8)}\`,
731                type: 'socialEmbed',
732                provider,
733                url,
734                html: decodeEmbedHtml(element.getAttribute('data-html') || ''),
735                title: element.getAttribute('data-title') || '',
736                authorName: element.getAttribute('data-author-name') || '',
737                thumbnailUrl: element.getAttribute('data-thumbnail-url') || '',
738              });
739            }
740            return;
741          }
742
743          if (tag === 'img' && element.getAttribute('src')) {
744            blocks.push(createImageBlock(element));
745            return;
746          }
747
748          if (tag === 'video') {
749            const src = readMediaSource(element);
750            if (src) {
751              blocks.push({
752                id: \`block-\${Date.now()}-\${Math.random().toString(36).slice(2, 8)}\`,
753                type: 'video',
754                src,
755              });
756            }
757            return;
758          }
759
760          // Quill HTML can put several images and text in the same paragraph.
761          // Preserve their order when producing the document used by SSR.
762          const nestedImages = Array.from(element.querySelectorAll('img[src]'));
763          if (nestedImages.length && !element.querySelector('[data-block="socialEmbed"], video')) {
764            let previousImage = null;
765            const appendTextRange = (endImage) => {
766              const range = document.createRange();
767              if (previousImage) range.setStartAfter(previousImage);
768              else range.setStart(element, 0);
769              if (endImage) range.setEndBefore(endImage);
770              else range.setEnd(element, element.childNodes.length);
771              const fragment = range.cloneContents();
772              if (String(fragment.textContent || '').trim()) {
773                const shell = element.cloneNode(false);
774                shell.appendChild(fragment);
775                appendNode(shell);
776              }
777            };
778            nestedImages.forEach(image => {
779              appendTextRange(image);
780              appendNode(image);
781              previousImage = image;
782            });
783            appendTextRange(null);
784            return;
785          }
786
787          if (tag === 'ul' || tag === 'ol') {
788            const items = Array.from(element.querySelectorAll(':scope > li')).map((item) =>
789              normalizeSegments(walkInline(item))
790            );
791            if (items.length) {
792              blocks.push({
793                id: \`block-\${Date.now()}-\${Math.random().toString(36).slice(2, 8)}\`,
794                type: 'list',
795                ordered: tag === 'ol',
796                items,
797              });
798            }
799            return;
800          }
801
802          if (/^h[1-6]$/.test(tag)) {
803            blocks.push(createParagraphBlock(element, 'heading', { level: Number(tag.slice(1)) }));
804            return;
805          }
806
807          if (tag === 'blockquote') {
808            blocks.push(createParagraphBlock(element, 'blockquote', {}));
809            return;
810          }
811
812          if (tag === 'p' || tag === 'div') {
813            const directImage = element.querySelector(':scope > img');
814            const directVideo = element.querySelector(':scope > video');
815            const textContent = String(element.textContent || '').trim();
816            if (directImage && !textContent) {
817              blocks.push(createImageBlock(directImage));
818              return;
819            }
820            if (directVideo && !textContent) {
821              const src = readMediaSource(directVideo);
822              if (src) {
823                blocks.push({
824                  id: \`block-\${Date.now()}-\${Math.random().toString(36).slice(2, 8)}\`,
825                  type: 'video',
826                  src,
827                });
828                return;
829              }
830            }
831          }
832
833          blocks.push(createParagraphBlock(element, 'paragraph', {}));
834        };
835        Array.from(editor.childNodes).forEach(appendNode);
836
837        return {
838          version: 1,
839          blocks: blocks.length
840            ? blocks
841            : [{ id: 'block-1', type: 'paragraph', segments: [{ text: '' }] }],
842        };
843      }
844
845      function getPlainText(documentValue) {
846        return (documentValue.blocks || [])
847          .map((block) => {
848            if (block.type === 'image') return '';
849            if (block.type === 'video') return '';
850            if (block.type === 'socialEmbed') return '';
851            if (block.type === 'list') {
852              return (block.items || [])
853                .map((item) => (item || []).map((segment) => segment.text || '').join(''))
854                .join('\\n');
855            }
856            return (block.segments || []).map((segment) => segment.text || '').join('');
857          })
858          .filter(Boolean)
859          .join('\\n\\n')
860          .trim();
861      }
862
863      function emitChange() {
864        bodyImages().forEach(image => { image.tabIndex = 0; });
865        const documentValue = buildDocument();
866        post({
867          type: 'change',
868          html: editor.innerHTML,
869          bodyDocument: JSON.stringify(documentValue),
870          plainText: getPlainText(documentValue),
871        });
872      }
873
874      function escapeHtml(value) {
875        return String(value || '')
876          .replace(/&/g, '&amp;')
877          .replace(/</g, '&lt;')
878          .replace(/>/g, '&gt;')
879          .replace(/"/g, '&quot;')
880          .replace(/'/g, '&#39;');
881      }
882
883      function findMentionQuery(text) {
884        const atIndex = text.lastIndexOf('@');
885        if (atIndex < 0) return null;
886        const before = atIndex > 0 ? text[atIndex - 1] : '';
887        if (before && !/[\\s(]/.test(before)) return null;
888        const fragment = text.slice(atIndex);
889        if (/\\s/.test(fragment)) return null;
890
891        const prefixed = fragment.match(/^@(u|g|c)\\/([A-Za-z0-9._-]{0,80})$/);
892        const shorthand = fragment.match(/^@(u|g|c)$/);
893        const typed = fragment.match(/^@([A-Za-z0-9._-]{0,80})$/);
894        if (!prefixed && !shorthand && !typed) return null;
895
896        const typeByPrefix = { u: 'user', g: 'group', c: 'content' };
897        return {
898          from: atIndex,
899          query: prefixed ? prefixed[2] : typed ? typed[1] : '',
900          type: prefixed
901            ? typeByPrefix[prefixed[1]]
902            : shorthand
903              ? typeByPrefix[shorthand[1]]
904              : null,
905        };
906      }
907
908      function getCaretCharacterOffset() {
909        const selection = window.getSelection();
910        if (!selectionBelongsToEditor(selection) || !selection.isCollapsed) {
911          return null;
912        }
913        const range = selection.getRangeAt(0);
914        const preRange = document.createRange();
915        preRange.selectNodeContents(editor);
916        preRange.setEnd(range.endContainer, range.endOffset);
917        return preRange.toString().length;
918      }
919
920      function getTextPositionAtOffset(offset) {
921        const walker = document.createTreeWalker(editor, NodeFilter.SHOW_TEXT);
922        let currentOffset = 0;
923        let node = walker.nextNode();
924        while (node) {
925          const length = node.nodeValue.length;
926          if (currentOffset + length >= offset) {
927            return { node, offset: Math.max(0, offset - currentOffset) };
928          }
929          currentOffset += length;
930          node = walker.nextNode();
931        }
932        return null;
933      }
934
935      function hideMentionPopover() {
936        mentionState = null;
937        mentionItems = [];
938        mentionHighlightIndex = 0;
939        isMentionPopoverInteracting = false;
940        if (mentionPopover) {
941          mentionPopover.style.display = 'none';
942          mentionPopover.innerHTML = '';
943        }
944      }
945
946      function scrollHighlightedMentionIntoView() {
947        if (!mentionPopover || !mentionItems.length) return;
948        const activeItem = mentionPopover.querySelector('.mention-item.active');
949        if (!activeItem) return;
950        try {
951          activeItem.scrollIntoView({ block: 'nearest' });
952        } catch (_error) {
953          activeItem.scrollIntoView(false);
954        }
955      }
956
957      function renderMentionPopover(status) {
958        if (!mentionPopover || !mentionState) return;
959        mentionPopover.style.display = 'block';
960        const tabsHtml = mentionTabs
961          .map(
962            (tab) =>
963              '<button type="button" class="mention-tab ' +
964              (tab.type === mentionType ? 'active' : '') +
965              '" data-mention-tab="' +
966              tab.type +
967              '">' +
968              tab.label +
969              '</button>'
970          )
971          .join('');
972
973        let body = '';
974        if (status === 'loading') {
975          body = '<div class="mention-empty">Aranıyor...</div>';
976        } else if (!mentionItems.length) {
977          body = '<div class="mention-empty">Sonu\xe7 bulunamadı.</div>';
978        } else {
979          body = mentionItems
980            .map((item, index) => {
981              const image = item.avatarUrl || item.thumbnailUrl || '';
982              const avatar = image
983                ? '<span class="mention-avatar"><img src="' +
984                  escapeHtml(image) +
985                  '" alt="" /></span>'
986                : '<span class="mention-avatar">' +
987                  escapeHtml(String(item.label || '@').slice(0, 1).toUpperCase()) +
988                  '</span>';
989              return (
990                '<button type="button" class="mention-item ' +
991                (index === mentionHighlightIndex ? 'active' : '') +
992                '" data-mention-index="' +
993                index +
994                '">' +
995                avatar +
996                '<span class="mention-copy"><span class="mention-title">' +
997                escapeHtml(item.label || item.token || '') +
998                '</span><span class="mention-subtitle">' +
999                escapeHtml(item.subtitle || item.token || '') +
1000                '</span></span></button>'
1001              );
1002            })
1003            .join('');
1004        }
1005
1006        mentionPopover.innerHTML =
1007          '<div class="mention-tabs">' +
1008          tabsHtml +
1009          '</div><div class="mention-results">' +
1010          body +
1011          '</div>';
1012        requestAnimationFrame(scrollHighlightedMentionIntoView);
1013      }
1014
1015      async function fetchMentionItems() {
1016        if (!mentionState) {
1017          renderMentionPopover();
1018          return;
1019        }
1020
1021        const params = new URLSearchParams({
1022          q: mentionState.query || '',
1023          types: mentionType,
1024          limit: '12',
1025        });
1026
1027        renderMentionPopover('loading');
1028
1029        try {
1030          const response = await fetch(
1031            mentionApiBaseUrl + '/mentions/search?' + params.toString(),
1032            {
1033              headers: {
1034                Accept: 'application/json',
1035                ...(mentionAuthHeader ? { Authorization: mentionAuthHeader } : {}),
1036              },
1037              credentials: 'include',
1038            }
1039          );
1040          const payload = await response.json();
1041          mentionItems = payload?.result?.data?.items?.[mentionType] || [];
1042          mentionHighlightIndex = 0;
1043          renderMentionPopover();
1044        } catch (_error) {
1045          mentionItems = [];
1046          renderMentionPopover();
1047        }
1048      }
1049
1050      function scheduleMentionSearch() {
1051        clearTimeout(mentionTimer);
1052        mentionTimer = setTimeout(fetchMentionItems, 140);
1053      }
1054
1055      function refreshMentionState() {
1056        const caretOffset = getCaretCharacterOffset();
1057        if (caretOffset === null) {
1058          hideMentionPopover();
1059          return;
1060        }
1061        const beforeCaret = editor.innerText.slice(0, caretOffset);
1062        const query = findMentionQuery(beforeCaret);
1063        if (!query) {
1064          hideMentionPopover();
1065          return;
1066        }
1067        mentionState = {
1068          from: query.from,
1069          to: caretOffset,
1070          query: query.query,
1071        };
1072        if (query.type) mentionType = query.type;
1073        scheduleMentionSearch();
1074      }
1075
1076      function insertMention(item) {
1077        if (!mentionState || !item?.token) return;
1078        const start = getTextPositionAtOffset(mentionState.from);
1079        const end = getTextPositionAtOffset(mentionState.to);
1080        if (!start || !end) return;
1081
1082        const range = document.createRange();
1083        range.setStart(start.node, start.offset);
1084        range.setEnd(end.node, end.offset);
1085        const selection = window.getSelection();
1086        selection.removeAllRanges();
1087        selection.addRange(range);
1088        document.execCommand('insertText', false, item.token + ' ');
1089        hideMentionPopover();
1090        captureSelection();
1091        emitChange();
1092      }
1093
1094      function preserveSelectionBeforeToolbarAction(event) {
1095        event.preventDefault();
1096        captureSelection();
1097      }
1098
1099      function syncBlockFormatSelect() {
1100        const select = document.querySelector('[data-block-format]');
1101        const selection = window.getSelection();
1102        if (!select || !selectionBelongsToEditor(selection) || !selection.rangeCount) return;
1103        const block = getTopLevelEditorChild(selection.getRangeAt(0).startContainer);
1104        const tag = block && block.nodeType === Node.ELEMENT_NODE ? block.tagName.toLowerCase() : 'p';
1105        select.value = tag === 'p' || /^h[1-6]$/.test(tag) ? tag : 'p';
1106      }
1107
1108      function insertImage(src, alt) {
1109        if (!src) return;
1110        const wrapper = document.createElement('div');
1111        wrapper.setAttribute('data-block', 'image');
1112        const img = document.createElement('img');
1113        img.src = src;
1114        img.alt = alt || '';
1115        wrapper.appendChild(img);
1116        insertMediaBlock(wrapper);
1117      }
1118
1119      function insertGif(src, alt) {
1120        insertImage(src, alt);
1121      }
1122
1123      function insertVideo(src) {
1124        if (!src) return;
1125        const wrapper = document.createElement('div');
1126        wrapper.setAttribute('data-block', 'video');
1127        const video = document.createElement('video');
1128        video.controls = true;
1129        video.setAttribute('playsinline', '');
1130        video.setAttribute('preload', 'metadata');
1131        video.src = src;
1132        wrapper.appendChild(video);
1133        insertMediaBlock(wrapper);
1134      }
1135
1136      function providerLabel(provider) {
1137        return provider === 'instagram' ? 'Instagram' : 'X';
1138      }
1139
1140      function encodeEmbedHtml(value) {
1141        try {
1142          return encodeURIComponent(String(value || ''));
1143        } catch (_error) {
1144          return '';
1145        }
1146      }
1147
1148      function createSocialEmbedNode(embed) {
1149        const provider = 'x';
1150        const url = String(embed && embed.url ? embed.url : '').trim();
1151        if (!url) return null;
1152
1153        const title =
1154          String(embed && embed.title ? embed.title : '').trim() ||
1155          providerLabel(provider) + ' g\xf6nderisi';
1156        const wrapper = document.createElement('div');
1157        wrapper.setAttribute('data-block', 'socialEmbed');
1158        wrapper.setAttribute('data-provider', provider);
1159        wrapper.setAttribute('data-url', url);
1160        wrapper.setAttribute('data-title', title);
1161        wrapper.setAttribute('data-html', encodeEmbedHtml(embed && embed.html ? embed.html : ''));
1162        wrapper.setAttribute('data-author-name', String(embed && embed.authorName ? embed.authorName : ''));
1163        wrapper.setAttribute('data-thumbnail-url', String(embed && embed.thumbnailUrl ? embed.thumbnailUrl : ''));
1164        wrapper.setAttribute('contenteditable', 'false');
1165
1166        const card = document.createElement('div');
1167        card.className = 'social-embed-card';
1168        card.innerHTML =
1169          '<span class="social-embed-kicker">' +
1170          escapeHtml(providerLabel(provider)) +
1171          '</span><span class="social-embed-title">' +
1172          escapeHtml(title) +
1173          '</span><span class="social-embed-url">' +
1174          escapeHtml(url) +
1175          '</span>';
1176        wrapper.appendChild(card);
1177        return wrapper;
1178      }
1179
1180      function insertSocialEmbed(embed) {
1181        const wrapper = createSocialEmbedNode(embed || {});
1182        if (!wrapper) return;
1183        insertMediaBlock(wrapper);
1184      }
1185
1186      function insertLink(url) {
1187        const normalizedUrl = String(url || '').trim();
1188        if (!normalizedUrl) return;
1189
1190        if (!restoreSelection()) {
1191          editor.focus();
1192        }
1193
1194        const selection = window.getSelection();
1195        if (!selectionBelongsToEditor(selection)) {
1196          document.execCommand(
1197            'insertHTML',
1198            false,
1199            '<a href="' +
1200              normalizedUrl.replace(/"/g, '&quot;') +
1201              '" target="_blank" rel="ugc nofollow noopener noreferrer">' +
1202              normalizedUrl.replace(/</g, '&lt;').replace(/>/g, '&gt;') +
1203              '</a>'
1204          );
1205          captureSelection();
1206          return;
1207        }
1208
1209        if (selection.isCollapsed) {
1210          document.execCommand(
1211            'insertHTML',
1212            false,
1213            '<a href="' +
1214              normalizedUrl.replace(/"/g, '&quot;') +
1215              '" target="_blank" rel="ugc nofollow noopener noreferrer">' +
1216              normalizedUrl.replace(/</g, '&lt;').replace(/>/g, '&gt;') +
1217              '</a>'
1218          );
1219        } else {
1220          document.execCommand('createLink', false, normalizedUrl);
1221        }
1222
1223        captureSelection();
1224      }
1225
1226      window.__WUUBI_RICH_TEXT__ = {
1227        updateImageDescription,
1228        setContent(html) {
1229          editor.innerHTML = html || '<p></p>';
1230          savedRange = null;
1231          emitChange();
1232        },
1233        blurEditor() {
1234          captureSelection();
1235          try {
1236            const selection = window.getSelection();
1237            if (selection) {
1238              selection.removeAllRanges();
1239            }
1240          } catch (_error) {}
1241          editor.blur();
1242        },
1243        insertImage(src, alt) {
1244          insertImage(src, alt || '');
1245          emitChange();
1246        },
1247        insertGif(src, alt) {
1248          insertGif(src, alt || '');
1249          emitChange();
1250        },
1251        insertVideo(src) {
1252          insertVideo(src);
1253          emitChange();
1254        },
1255        insertSocialEmbed(embed) {
1256          insertSocialEmbed(embed || {});
1257          emitChange();
1258        },
1259        insertLink(url) {
1260          insertLink(url || '');
1261          emitChange();
1262        },
1263        insertEmoji(emoji) {
1264          const value = String(emoji || '').trim();
1265          if (!value) return;
1266          if (!restoreSelection()) {
1267            editor.focus();
1268          }
1269          document.execCommand('insertText', false, value);
1270          captureSelection();
1271          emitChange();
1272        },
1273      };
1274
1275      function runCommand(command) {
1276        if (command === 'emoji') {
1277          captureSelection();
1278          post({ type: 'request-emoji' });
1279          return;
1280        }
1281        if (command === 'unsplash') { captureSelection(); post({type:'request-unsplash'}); return; }
1282        if (command === 'gif') {
1283          captureSelection();
1284          post({ type: 'request-gif' });
1285          return;
1286        }
1287        if (command === 'image-description') {
1288          describeImage(selectedImage && editor.contains(selectedImage) ? selectedImage : bodyImages()[0]);
1289          return;
1290        }
1291        if (command === 'image') {
1292          captureSelection();
1293          post({ type: 'request-image' });
1294          return;
1295        }
1296        if (command === 'video') {
1297          captureSelection();
1298          post({ type: 'request-video' });
1299          return;
1300        }
1301        if (command === 'social-embed') {
1302          captureSelection();
1303          post({ type: 'request-social-embed' });
1304          return;
1305        }
1306
1307        if (!restoreSelection()) {
1308          editor.focus();
1309        }
1310        if (command === 'heading') command = 'h2';
1311        if (command === 'paragraph') command = 'p';
1312        if (command === 'p' || /^h[1-6]$/.test(command)) {
1313          return document.execCommand('formatBlock', false, command);
1314        }
1315        if (command === 'bold') return document.execCommand('bold');
1316        if (command === 'italic') return document.execCommand('italic');
1317        if (command === 'underline') return document.execCommand('underline');
1318      }
1319
1320      document.querySelectorAll('[data-command]').forEach((button) => {
1321        button.addEventListener('mousedown', preserveSelectionBeforeToolbarAction);
1322        button.addEventListener('click', () => {
1323          runCommand(button.getAttribute('data-command'));
1324          setTimeout(emitChange, 0);
1325        });
1326      });
1327
1328      const blockFormatSelect = document.querySelector('[data-block-format]');
1329      if (blockFormatSelect) {
1330        blockFormatSelect.addEventListener('mousedown', () => captureSelection());
1331        blockFormatSelect.addEventListener('change', () => {
1332          runCommand(blockFormatSelect.value);
1333          setTimeout(() => {
1334            syncBlockFormatSelect();
1335            emitChange();
1336          }, 0);
1337        });
1338      }
1339
1340      if (mentionPopover) {
1341        const startMentionPopoverInteraction = () => {
1342          isMentionPopoverInteracting = true;
1343        };
1344        const endMentionPopoverInteractionSoon = () => {
1345          window.setTimeout(() => {
1346            isMentionPopoverInteracting = false;
1347          }, 180);
1348        };
1349        mentionPopover.addEventListener('mousedown', (event) => {
1350          startMentionPopoverInteraction();
1351          const target =
1352            event.target && event.target.nodeType === Node.ELEMENT_NODE
1353              ? event.target
1354              : event.target && event.target.parentElement;
1355          const control =
1356            target && target.closest('[data-mention-tab], [data-mention-index]');
1357          if (control) {
1358            event.preventDefault();
1359          }
1360        });
1361        mentionPopover.addEventListener('touchstart', startMentionPopoverInteraction, {
1362          passive: true,
1363        });
1364        window.addEventListener('mouseup', endMentionPopoverInteractionSoon);
1365        window.addEventListener('touchend', endMentionPopoverInteractionSoon, {
1366          passive: true,
1367        });
1368        window.addEventListener('touchcancel', endMentionPopoverInteractionSoon, {
1369          passive: true,
1370        });
1371        mentionPopover.addEventListener('click', (event) => {
1372          const tabButton = event.target.closest('[data-mention-tab]');
1373          if (tabButton) {
1374            mentionType = tabButton.getAttribute('data-mention-tab') || mentionType;
1375            mentionHighlightIndex = 0;
1376            scheduleMentionSearch();
1377            renderMentionPopover('loading');
1378            return;
1379          }
1380
1381          const itemButton = event.target.closest('[data-mention-index]');
1382          if (!itemButton) return;
1383          const index = Number(itemButton.getAttribute('data-mention-index') || '0');
1384          insertMention(mentionItems[index]);
1385        });
1386      }
1387
1388      editor.addEventListener('keydown', (event) => {
1389        if (!mentionState || !mentionPopover || mentionPopover.style.display === 'none') {
1390          return;
1391        }
1392
1393        if (event.key === 'Escape') {
1394          event.preventDefault();
1395          hideMentionPopover();
1396          return;
1397        }
1398
1399        if (event.key === 'ArrowDown') {
1400          event.preventDefault();
1401          mentionHighlightIndex = mentionItems.length
1402            ? (mentionHighlightIndex + 1) % mentionItems.length
1403            : 0;
1404          renderMentionPopover();
1405          return;
1406        }
1407
1408        if (event.key === 'ArrowUp') {
1409          event.preventDefault();
1410          mentionHighlightIndex = mentionItems.length
1411            ? (mentionHighlightIndex - 1 + mentionItems.length) % mentionItems.length
1412            : 0;
1413          renderMentionPopover();
1414          return;
1415        }
1416
1417        if ((event.key === 'Enter' || event.key === 'Tab') && mentionItems[mentionHighlightIndex]) {
1418          event.preventDefault();
1419          insertMention(mentionItems[mentionHighlightIndex]);
1420        }
1421      });
1422
1423      editor.addEventListener('input', () => {
1424        emitChange();
1425        refreshMentionState();
1426      });
1427      editor.addEventListener('blur', () => {
1428        emitChange();
1429        setTimeout(() => {
1430          if (
1431            !mentionPopover ||
1432            (!isMentionPopoverInteracting && !mentionPopover.matches(':hover'))
1433          ) {
1434            hideMentionPopover();
1435          }
1436        }, 120);
1437      });
1438      editor.addEventListener('paste', (event) => {
1439        event.preventDefault();
1440        const text = event.clipboardData ? event.clipboardData.getData('text/plain') : '';
1441        document.execCommand('insertText', false, text);
1442      });
1443      function resolveEditableImage(target) {
1444        const element = target && target.nodeType === Node.ELEMENT_NODE ? target : null;
1445        const image = element && element.tagName === 'IMG'
1446          ? element
1447          : selectedImage && editor.contains(selectedImage)
1448            ? selectedImage
1449            : null;
1450        if (!image || image.closest('[data-block="socialEmbed"]')) return null;
1451        return image;
1452      }
1453      editor.addEventListener('click', (event) => {
1454        const image = resolveEditableImage(event.target);
1455        if (image) selectedImage = image;
1456      });
1457      editor.addEventListener('focusin', (event) => {
1458        const image = resolveEditableImage(event.target);
1459        if (image) selectedImage = image;
1460      });
1461      editor.addEventListener('dblclick', (event) => {
1462        const image = resolveEditableImage(event.target);
1463        if (image) describeImage(image);
1464      });
1465      editor.addEventListener('keydown', (event) => {
1466        const image = resolveEditableImage(event.target);
1467        if (image && (event.key === 'Enter' || event.key === ' ')) {
1468          event.preventDefault();
1469          describeImage(image);
1470        }
1471      });
1472      editor.addEventListener('keyup', () => {
1473        captureSelection();
1474        refreshMentionState();
1475      });
1476      editor.addEventListener('mouseup', () => {
1477        captureSelection();
1478        refreshMentionState();
1479      });
1480      editor.addEventListener('focus', () => {
1481        captureSelection();
1482        refreshMentionState();
1483      });
1484      document.addEventListener('selectionchange', () => {
1485        captureSelection();
1486        refreshMentionState();
1487        syncBlockFormatSelect();
1488      });
1489
1490      window.addEventListener('message', (event) => {
1491        if (event.source !== window.parent) return;
1492        const data = event.data || {};
1493        if (data.type === 'describe-image') describeImage(bodyImages()[data.index]);
1494        if (data.type === 'focus-editor') {
1495          editor.focus();
1496          restoreSelection();
1497        }
1498        if (data.type === 'set-content') {
1499          editor.innerHTML = data.html || '<p></p>';
1500          savedRange = null;
1501          hideMentionPopover();
1502          editorShell.scrollTo({ top: 0 });
1503          emitChange();
1504        }
1505        if (data.type === 'insert-image') {
1506          insertImage(data.src, data.alt || '');
1507          emitChange();
1508        }
1509        if (data.type === 'insert-gif') {
1510          insertGif(data.src, data.alt || '');
1511          emitChange();
1512        }
1513        if (data.type === 'insert-video') {
1514          insertVideo(data.src);
1515          emitChange();
1516        }
1517        if (data.type === 'insert-social-embed') {
1518          insertSocialEmbed(data.embed || data);
1519          emitChange();
1520        }
1521        if (data.type === 'insert-link') {
1522          insertLink(data.url || '');
1523          emitChange();
1524        }
1525        if (data.type === 'insert-emoji') {
1526          const emoji = String(data.emoji || '').trim();
1527          if (!emoji) return;
1528          editor.focus();
1529          restoreSelection();
1530          document.execCommand('insertText', false, emoji);
1531          captureSelection();
1532          emitChange();
1533        }
1534      });
1535
1536      editor.innerHTML = initialHtml || '<p></p>';
1537      editorShell.scrollTo({ top: 0 });
1538      captureSelection();
1539      emitChange();
1540      post({ type: 'ready' });
1541    </script>
1542  </body>
1543</html>`})({initialHtml:j,placeholder:t,mentionApiBaseUrl:g,mentionAuthHeader:x}),[j,g,x,t]),S=e=>{if(!h.current?.contentWindow)return;let t=e||"<p></p>",a=h.current.contentWindow.__WUUBI_RICH_TEXT__;a?.setContent?a.setContent(t):h.current.contentWindow.postMessage({type:"set-content",html:t},"*"),w.current=t};return(0,f.useEffect)(()=>{b.current=e||"<p></p>"},[e]),(0,f.useEffect)(()=>{let e=e=>{if(e.source!==h.current?.contentWindow)return;let t=e.data;if(t&&"wuubi-rich-text-editor"===t.source){if("ready"===t.type){y.current=!0,S(b.current);return}"change"===t.type&&(v.current=t.html||"<p></p>",n({html:t.html||"",bodyDocument:t.bodyDocument||"",plainText:t.plainText||(0,eb.Oq)(t.html||"")})),"request-image"===t.type&&s(h.current),"request-image-description"===t.type&&l(h.current,t),"request-video"===t.type&&o(h.current),"request-emoji"===t.type&&d(h.current),"request-unsplash"===t.type&&m(h.current),"request-gif"===t.type&&c(h.current),"request-social-embed"===t.type&&u(h.current)}};return window.addEventListener("message",e),()=>window.removeEventListener("message",e)},[n,d,c,m,s,l,u,o]),(0,f.useEffect)(()=>{let t=e||"<p></p>";y.current&&t!==v.current&&t!==w.current&&(k(t),S(t))},[e]),(0,f.useEffect)(()=>{i&&h.current?.contentWindow&&(h.current.scrollIntoView({block:"center",behavior:"smooth"}),h.current.contentWindow.postMessage({type:"describe-image",index:i.index},"*"))},[i]),(0,r.jsxs)("div",{className:"relative w-full",style:{height:a},children:[(0,r.jsx)("iframe",{ref:h,srcDoc:N,title:"Rich text editor",className:`block h-full w-full rounded-[22px] border border-slate-200 bg-white transition ${p?"pointer-events-none select-none":""}`}),p&&(0,r.jsx)("div",{className:"absolute inset-0 z-10 flex items-center justify-center rounded-[22px] bg-slate-950/35 p-4 backdrop-blur-[2px]",children:(0,r.jsxs)("div",{className:"flex w-full max-w-sm items-center gap-4 roun
1543ded-2xl border border-white/15 bg-slate-950/80 px-4 py-4 text-white shadow-[0_20px_60px_rgba(15,23,42,0.25)]",children:[(0,r.jsx)("div",{className:"flex h-11 w-11 items-center justify-center rounded-full border border-white/10 bg-white/10",children:(0,r.jsx)("div",{className:"h-5 w-5 animate-spin rounded-full border-2 border-white/30 border-t-white"})}),(0,r.jsxs)("div",{className:"min-w-0",children:[(0,r.jsx)("p",{className:"text-sm font-semibold tracking-tight",children:"Video hazırlanıyor"}),(0,r.jsx)("p",{className:"mt-0.5 text-xs leading-5 text-white/70",children:"L\xfctfen bekleyin, medya işleniyor ve video alanına ekleniyor."})]})]})})]})}function ej({initialHtml:e,onChange:t,placeholder:a="İ\xe7eriğinizi yazın...",mountKey:n="default",descriptionRequest:s,onUploadImage:l,onUploadVideo:i,onVideoUploaded:o}){let[d,c]=(0,f.useState)(null),m=(0,f.useRef)(null),u=(0,f.useRef)(null),[p,x]=(0,f.useState)(!1),[h,b]=(0,f.useState)(!1),[v,w]=(0,f.useState)(!1),[y,j]=(0,f.useState)(!1),[k,I]=(0,f.useState)(!1),[E,C]=(0,f.useState)(""),[A,T]=(0,f.useState)(""),[q,D]=(0,f.useState)(!1),[_,B]=(0,f.useState)(!1),P=(0,N.A)(),U=(0,R.GM)(),O=P||"",$=(0,f.useRef)(null),H=(0,f.useRef)(null),F=(0,f.useRef)(null),G=(0,f.useRef)(0),V=(e,t)=>{e?.contentWindow?.postMessage(t,"*")},Y=e=>e?.contentWindow?.__WUUBI_RICH_TEXT__,W=e=>{Y(e)?.blurEditor?.()},K=e=>{F.current=e,W(e),$.current?.click()},Z=e=>{F.current=e,W(e),H.current?.click()},J=e=>{F.current=e,b(!0)},X=e=>{F.current=e,W(e),j(!0)},Q=e=>{F.current=e,W(e),w(!0)},ee=e=>{F.current=e,W(e),C(""),T(""),I(!0)},et=(e,t)=>{F.current=e,W(e),c({src:t.src,alt:t.alt,editing:!0})};(0,f.useEffect)(()=>(m.current=d,()=>{d?.file&&URL.revokeObjectURL(d.src)}),[d]),(0,f.useEffect)(()=>{if(d||!u.current)return;let e=u.current;u.current=null;let t=requestAnimationFrame(()=>V(e,{type:"focus-editor"}));return()=>cancelAnimationFrame(t)},[d]);let ea=()=>{u.current=F.current,c(null),F.current=null},er=async e=>{let t=m.current,a=F.current;if(!t||!a?.isConnected||!a.contentWindow)throw Error("Edit\xf6r hazır değil. G\xf6rseli tekrar se\xe7in.");let r=t.uploadedUrl||t.src;if(t.file&&!t.uploadedUrl){if(!(r=l?await l(t.file,e):await new Promise((e,a)=>{let r=new FileReader;r.onload=()=>e(String(r.result||"")),r.onerror=()=>a(Error("G\xf6rsel okunamadı. Tekrar deneyin.")),r.readAsDataURL(t.file)})))throw Error("G\xf6rsel y\xfcklenemedi. Tekrar deneyin.");t.uploadedUrl=r}if(m.current!==t||!a.isConnected)return;let n=Y(a);if(t.editing){if(!n?.updateImageDescription?.(e))throw Error("G\xf6rsel artık edit\xf6rde bulunmuyor. Tekrar se\xe7in.")}else{if(!n?.insertImage)throw Error("Edit\xf6r hazır değil. Tekrar deneyin.");n.insertImage(r,e),t.gif&&M(t.gif.analyticsClickUrl)}ea()},en=()=>{I(!1),C(""),T(""),D(!1),F.current=null},es=async()=>{let e=E.trim();if(!e)return void T("X/Twitter tweet URL’i girin.");try{D(!0),T("");let t=await L({url:e,authHeader:O}),a=Y(F.current);a?.insertSocialEmbed?a.insertSocialEmbed(t):V(F.current,{type:"insert-social-embed",embed:t}),en()}catch(e){T(e instanceof Error?e.message:"Embed \xf6nizlemesi alınamadı.")}finally{D(!1)}},el=async e=>{let t=e.target.files?.[0];if(t&&F.current?.contentWindow){if(!ew.includes(t.type.toLowerCase())){g.Ay.error("PNG, JPEG, WebP, GIF, HEIC veya HEIF g\xf6rsel se\xe7ebilirsiniz"),e.target.value="";return}if(t.size>5242880){g.Ay.error("G\xf6rsel boyutu en fazla 10 MB olabilir"),e.target.value="";return}c({src:URL.createObjectURL(t),alt:"",file:t}),e.target.value=""}},ei=async e=>{let t=e.target.files?.[0];if(t&&F.current?.contentWindow){if(!t.type.toLowerCase().startsWith("video/")||t.size>0x6400000){e.target.value="";return}try{B(!0);let e=i||l;if(!e)throw Error("Video y\xfckleme desteği yapılandırılmadı");let a=await e(t);o?o(a):V(F.current,{type:"insert-video",src:a})}catch(e){g.Ay.error(e instanceof Error?e.message:"Video y\xfcklenemedi")}B(!1),F.current=null,e.target.value=""}};return(0,f.useEffect)(()=>{p||(F.current=null)},[p]),(0,f.useEffect)(()=>{let{body:e,documentElement:t}=document;if(p){G.current=window.scrollY,e.style.overflow="hidden",t.style.overflow="hidden",
1543window.scrollTo({top:0});return}return e.style.overflow="",t.style.overflow="",G.current>0&&window.scrollTo({top:G.current}),()=>{e.style.overflow="",t.style.overflow=""}},[p]),(0,r.jsxs)(r.Fragment,{children:[d&&(0,r.jsx)(ep,{src:d.src,initialAlt:d.alt,editing:d.editing,onClose:ea,onConfirm:er}),(0,r.jsx)("input",{ref:$,type:"file",accept:"image/png,image/jpeg,image/jpg,image/webp,image/gif,image/heic,image/heif",className:"hidden",onChange:el}),(0,r.jsx)("input",{ref:H,type:"file",accept:"video/*",className:"hidden",onChange:ei}),(0,r.jsx)(eg.A,{open:h,onClose:()=>{b(!1),F.current=null},onSelect:e=>{V(F.current,{type:"insert-emoji",emoji:e}),F.current=null,b(!1)}}),(0,r.jsx)(z,{open:y,onClose:()=>{j(!1),F.current=null},onSelect:e=>{c({src:e.imageUrl,alt:e.alt}),j(!1)}}),(0,r.jsx)(ex,{open:v,onClose:()=>{w(!1),F.current=null},onSelect:e=>{c({src:e.imageUrl,alt:e.title,gif:e}),w(!1)}}),k?(0,r.jsx)("div",{className:"fixed inset-0 z-[1100] flex items-center justify-center bg-slate-950/45 p-4 backdrop-blur-sm",children:(0,r.jsxs)("div",{className:"w-full max-w-lg rounded-2xl border border-slate-200 bg-white p-5 shadow-[0_24px_80px_rgba(15,23,42,0.22)]",children:[(0,r.jsxs)("div",{className:"flex items-start justify-between gap-4",children:[(0,r.jsxs)("div",{className:"min-w-0",children:[(0,r.jsx)("p",{className:"text-base font-extrabold text-slate-950",children:"X/Twitter embed"}),(0,r.jsx)("p",{className:"mt-1 text-sm leading-5 text-slate-500",children:"Tweet URL’i yapıştır."})]}),(0,r.jsx)("button",{type:"button",onClick:en,className:"inline-flex h-9 w-9 items-center justify-center rounded-full border border-slate-200 bg-white text-slate-600 transition hover:bg-slate-50","aria-label":"Embed penceresini kapat",children:(0,r.jsx)(S.A,{className:"h-5 w-5"})})]}),(0,r.jsxs)("label",{className:"mt-5 grid gap-2",children:[(0,r.jsx)("span",{className:"text-sm font-bold text-slate-700",children:"G\xf6nderi URL’i"}),(0,r.jsx)("input",{autoFocus:!0,value:E,onChange:e=>{C(e.target.value),T("")},onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),es())},className:"input w-full",placeholder:"https://x.com/.../status/..."})]}),A?(0,r.jsx)("p",{className:"mt-3 rounded-xl border border-rose-200 bg-rose-50 px-3 py-2 text-sm font-semibold text-rose-700",children:A}):null,(0,r.jsxs)("div",{className:"mt-5 flex flex-col gap-2 sm:flex-row sm:justify-end",children:[(0,r.jsx)("button",{type:"button",onClick:en,className:"btn btn-light justify-center",children:"Vazge\xe7"}),(0,r.jsxs)("button",{type:"button",disabled:q,onClick:()=>void es(),className:"btn btn-dark justify-center disabled:cursor-not-allowed disabled:opacity-60",children:[(0,r.jsx)(ef.A,{className:"h-5 w-5"}),q?"\xd6nizleme alınıyor...":"Embed ekle"]})]})]})}):null,p?(0,r.jsx)("div",{className:"fixed inset-0 z-[1000] h-[100dvh] w-screen overflow-hidden bg-white",children:(0,r.jsxs)("div",{className:"flex h-[100dvh] w-screen min-h-0 flex-col overflow-hidden bg-white",children:[(0,r.jsxs)("div",{className:"flex h-[72px] shrink-0 items-center justify-between border-b border-slate-200 bg-white px-4 py-4",children:[(0,r.jsxs)("div",{className:"space-y-1",children:[(0,r.jsx)("p",{className:"text-sm font-semibold tracking-tight text-slate-900",children:"Tam ekran edit\xf6r"}),(0,r.jsx)("p",{className:"text-xs text-slate-500",children:"Toolbar sabit kalır, yazı alanı t\xfcm ekranı kullanır."})]}),(0,r.jsx)("div",{className:"flex items-center gap-2",children:(0,r.jsxs)("button",{type:"button",onClick:()=>x(!1),className:"inline-flex items-center gap-2 rounded-full bg-slate-900 px-3.5 py-2 text-xs font-semibold text-white transition hover:bg-slate-800",children:[(0,r.jsx)(S.A,{className:"h-4 w-4"}),"Kapat"]})})]}),(0,r.jsx)("div",{className:"min-h-0 flex-1 overflow-hidden bg-slate-50",children:(0,r.jsx)(ey,{initialHtml:e,placeholder:a,height:"100%",onChange:t,onRequestImage:K,onRequestDescription:et,descriptionRequest:s,onRequestVideo:Z,onRequestEmoji:J,onRequestGif:Q,onRequestUnsplash:X,onRequestSocialEmbed:ee,isUploadingVideo:_,mentionApiBaseUrl:U,mentionAuthHeader:O},`${n}-fullscreen`)})]})}):(0,r.jsxs)("div",{className:"overflow-hidden rounded-[28px] border border-slate-200/80 bg-[linear-gradient(180deg,rgba(248,250,252,0.9),rgba(255,255,255,1))] shadow-[0_18px_48px_rgba(15,23,42,0.08)]",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between border-b border-slate-200/80 bg-white/80 px-4 py-3 backdrop-blur-xl",children:[(0,r.jsxs)("div",{className:"space-y-1",children:[(0,r.jsx)("p",{className:"text-sm font-semibold tracking-tight text-slate-900",children:"İ\xe7erik edit\xf6r\xfc"}),(0,r.jsx)("p",{className:"text-xs text-slate-500",children:"Başlık, kalın, italik, altı \xe7izili, emoji, GIF ve g\xf6rsel desteklenir."})]}),(0,r.jsxs)("button",{type:"button",onClick:()=>x(!0),className:"inline-flex items-center gap-2 rounded-full border border-slate-200 bg-white px-3.5 py-2 text-xs font-semibold text-slate-700 shadow-[0_6px_20px_rgba(15,23,42,0.06)] transition hover:border-slate-300 hover:bg-slate-50",children:[(0,r.jsx)(ev.A,{className:"h-4 w-4"}),"Tam ekran"]})]}),(0,r.jsx)("div",{className:"bg-slate-50/60 p-3",children:(0,r.jsx)(ey,{initialHtml:e,placeholder:a,height:420,onChange:t,onRequestImage:K,onRequestDescription:et,descriptionRequest:s,onRequestVideo:Z,onRequestEmoji:J,onRequestGif:Q,onRequestUnsplash:X,onRequestSocialEmbed:ee,
1543isUploadingVideo:_,mentionApiBaseUrl:U,mentionAuthHeader:O},`${n}-inline`)})]})]})}function ek(e){let t=(0,p.A)();return(0,u.I)({queryKey:["getMyContentDetail",e],queryFn:async()=>{if(!t?.token||!e)return null;let a=await fetch(`https://api.wuubi.com/api/content/my-content/${e}`,{headers:{Accept:"application/json","Content-Type":"application/json",Authorization:`Bearer ${t.token}`}}),r=await a.json();if(!r?.responseResult?.status)return g.Ay.error(r.responseResult?.exceptionDetail?.[0]||"İ\xe7erik y\xfcklenemedi"),null;let n=r?.result;return n?.data?(0,d.y5)(n.data):(0,d.y5)(n)},enabled:!!t?.token&&!!e})}var eN=a(80371),eS=a(55792),eI=a(65283),eE=a(63393),ez=a(31010),eC=a(35765),eA=a(89099),eT=a(70172);let eq=["image/png","image/jpeg","image/jpg","image/webp"],eM=(e="")=>e.replace(/<[^>]*>/g," ").replace(/&nbsp;/gi," ").replace(/\s+/g," ").trim(),eR=[{value:"standard",label:"Standart",description:"Uzun metin, g\xf6rseller ve temel makale akışı.",icon:eS.A},{value:"list",label:"Liste",description:"Sıralı maddeler, her maddeye opsiyonel g\xf6rsel.",icon:v},{value:"quiz",label:"Bilgi Yarışması",description:"Doğru cevabı olan sorular ve se\xe7enekler.",icon:eI.A},{value:"test",label:"Test",description:"Sonu\xe7 kartları ve sonuca bağlanan cevaplar.",icon:el.A},{value:"poll",label:"Anket",description:"G\xf6rselli sorular ve oy se\xe7enekleri.",icon:V.A}],eL=e=>eR.find(t=>t.value===e)?.label||"İ\xe7erik t\xfcr\xfc se\xe7ilmedi",eD=e=>e?"string"==typeof e?[e]:Array.isArray(e)?e.flatMap(eD):"object"==typeof e?Object.values(e).flatMap(eD):[]:[];function e_({values:e,setFieldValue:t}){return((0,f.useEffect)(()=>{if("quiz"!==e.type){(e.quizTimerEnabled||null!=e.quizDurationSeconds)&&(t("quizTimerEnabled",!1),t("quizDurationSeconds",null));return}e.quizTimerEnabled&&!e.quizDurationSeconds&&t("quizDurationSeconds",60)},[t,e.quizDurationSeconds,e.quizTimerEnabled,e.type]),"quiz"!==e.type)?null:(0,r.jsxs)("div",{className:"rounded-2xl border border-slate-200 bg-slate-50 p-4",children:[(0,r.jsxs)("div",{className:"flex flex-col gap-4 sm:flex-row sm:items-center sm:justify-between",children:[(0,r.jsxs)("div",{className:"min-w-0",children:[(0,r.jsx)("p",{className:"text-sm font-bold text-slate-800",children:"S\xfcre sınırı"}),(0,r.jsx)("p",{className:"mt-1 text-xs leading-5 text-slate-500",children:"Quiz tamamlanmadan s\xfcre dolarsa kalan sorular boş sayılır."})]}),(0,r.jsx)("button",{type:"button",onClick:()=>{let a=!e.quizTimerEnabled;t("quizTimerEnabled",a),t("quizDurationSeconds",a?e.quizDurationSeconds||60:null)},className:`relative h-7 w-12 flex-shrink-0 rounded-full transition ${e.quizTimerEnabled?"bg-secondary":"bg-slate-300"}`,"aria-label":"Quiz s\xfcre sınırını değiştir",children:(0,r.jsx)("span",{className:`absolute top-1 h-5 w-5 rounded-full bg-white shadow transition ${e.quizTimerEnabled?"left-6":"left-1"}`})})]}),e.quizTimerEnabled&&(0,r.jsxs)("label",{className:"mt-4 grid gap-2",children:[(0,r.jsx)("span",{className:"text-sm font-bold text-slate-700",children:"S\xfcre (saniye)"}),(0,r.jsx)(y.D0,{name:"quizDurationSeconds",type:"number",min:30,max:7200,step:1,className:"input w-full",placeholder:"\xd6rn. 60",onChange:e=>{let a=e.target.value;t("quizDurationSeconds",""===a?"":Number(a))}}),(0,r.jsx)("p",{className:"text-xs leading-5 text-slate-500",children:"30 saniye ile 2 saat arasında bir değer se\xe7ebilirsin."})]})]})}let eB=j.Ik({title:j.Yj().min(10,"Başlık minimum 10 karakter olmalıdır").max(300,"Başlık en fazla 300 karakter olmalıdır").required("Başlık giriniz"),description:j.Yj().required("İ\xe7erik giriniz").test("list-description-length","Madde i\xe7eriği 50-2000 karakter olmalıdır",e=>{let t=eM(e||"").length;return t>=50&&t<=2e3}),image:j.Yj().optional()}),eP=j.Ik({question:j.Yj().min(20,"Soru minimum 20 karakter olmalıdır").max(100,"Soru en fazla 100 karakter olmalıdır").required("Soru giriniz"),questionImage:j.Yj().optional(),answers:j.YO().of(j.Ik({answerText:j.Yj().min(10,"Cevap minimum 10 karakter olmalıdır").max(200,"Cevap en fazla 200 karakter olmalıdır").required("Cevap giriniz"),answerImage:j.Yj().optional()})).min(2,"En az 2 cevap ekleyin").max(10,"En fazla 10 cevap ekleyin").test("unique-answers","Aynı cevap birden fazla kez eklenemez",function(e){if(!e)return!0;let t=e.map(e=>e.answerText?.toLowerCase().trim()),a=new Set(t);return t.length===a.size})}),eU=j.Ik({question:j.Yj().min(10,"Soru minimum 10 karakter olmalıdır").max(200,"Soru en fazla 200 karakter olmalıdır").required("Soru giriniz"),questionImage:j.Yj().optional(),answers:j.YO().of(j.Ik({answerText:j.Yj().min(10,"Cevap minimum 10 karakter olmalıdır").max(200,"Cevap en fazla 200 karakter olmalıdır").required("Cevap giriniz"),isCorrect:j.zM().optional(),answerImage:j.Yj().nullable().optional(),image:j.Yj().nullable().optional()})).min(2,"En az 2 cevap ekleyin").max(6,"En fazla 6 cevap ekleyin").test("one-correct-answer","Her soru i\xe7in tam olarak 1 doğru cevap se\xe7melisiniz",function(e){return!e||1===e.filter(e=>e.isCorrect).length})}),eO=j.Ik({resultText:j.Yj().min(5,"Sonu\xe7 minimum 5 karakter olmalıdır").max(200,"Sonu\xe7 en fazla 200 karakter olmalıdır").required("Sonu\xe7 giriniz"),resultDescription:j.Yj().min(10,"Sonu\xe7 a\xe7ıklaması minimum 10 karakter olmalıdır").max(500,"Sonu\xe7 a\xe7ıklaması en fazla 500 karakter olmalıdır").required("Sonu\xe7 a\xe7ıklaması giriniz"),resultImage:j.Yj().optional()}),e$=j.Ik({answerText:j.Yj().min(10,"Cevap minimum 10 karakter olmalıdır").max(200,"Cevap en fazla 200 karakter olmalıdır").required("Cevap giriniz"),answerDescription:j.Yj().min(10,"Cevap a\xe7ıklaması minimum 10 karakter olmalıdır").max(200,"Cevap a\xe7ıklaması en fazla 200 karakter olmalıdır").required("Cevap a\xe7ıklaması giriniz"),answerImage:j.Yj().optional(),relatedResult:j.ai().typeError("Sonu\xe7 se\xe7iniz").required("Sonu\xe7 se\xe7iniz")}),eH=j.Ik({question:j.Yj().min(10,"Soru minimum 10 karakter olmalıdır").max(200,"Soru en fazla 200 karakter olmalıdır").required("Soru giriniz"),questionImage:j.Yj().optional(),answers:j.YO().of(e$).min(1,"En az 1 cevap ekleyin")}),eF=()=>{let e,[t,a]=(0,f.useState)([]),[l,h]=(0,f.useState)([]),[b,v]=(0,f.useState)([]),[N,S]=(0,f.useState)(!1),[I,E]=(0,f.useState)(!1),[z,C]=(0,f.useState)({}),[A,T]=(0,f.useState)(!1),[q,M]=(0,f.useState)(""),R=(0,f.useRef)(null),L=(0,f.useRef)(null),{mutateAsync:D,isPending:_}=(()=>{let e=(0,p.A)(),{openModal:t}=(0,c.A)(),a=(0,x.jE)();return(0,m.n)({mutationFn:async({values:r})=>{let n="undefined"!=typeof crypto&&"function"==typeof crypto.randomUUID?`content-publish:${crypto.randomUUID()}`:`content-publish:${Date.now()}:${Math.random().toString(36).slice(2)}`;if(!e||!e.token)return!1;let s=await fetch("https://api.wuubi.com/api/content/publish",{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json",Authorization:`Bearer ${e.token}`,"Idempotency-Key":n},body:JSON.stringify({...(0,d.JZ)(r)})}),l=await s.json();if(!l||!l.responseResult.status)return g.Ay.error(l.responseResult.exceptionDetail?.[0]),!1;if(l.responseResult.achievement&&l.responseResult.achievement.length>0){let{title:e,description:a,icon:r}=l.responseResult.achievement[0];t(e,a,r)}return a.invalidateQueries({queryKey:["contentDraft","latest"]}),a.invalidateQueries({queryKey:["getMyContent"]}),l}})})(),{mutateAsync:P}=(()=>{let e=(0,p.A)(),t=(0,x.jE)();return(0,m.n)({mutationFn:async({values:t})=>{if(!e?.token)return!1;let a=await fetch("https://api.wuubi.com/api/content/draft",{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json",Authorization:`Bearer ${e.token}`},body:JSON.stringify((0,d.JZ)(t))}),r=await a.json();return!!r?.responseResult?.status&&(0,d.y5)(r?.result?.data||null)},onSuccess:()=>{t.invalidateQueries({queryKey:["contentDraft","latest"]}),t.invalidateQueries({queryKey:["getMyContent"]})}})})(),{mutateAsync:U,isPending:O}=(()=>{let e=(0,p.A)(),t=(0,x.jE)();return(0,m.n)({mutationFn:async t=>{if(!e?.token)throw Error("Taslağı temizlemek i\xe7in giriş yapmalısınız.");let a=await fetch(`https://api.wuubi.com/api/content/draft/${t}`,{method:"DELETE",headers:{Accept:"application/json",Authorization:`Bearer ${e.token}`}}),r=await a.json();if(!a.ok||!r?.responseResult?.status)throw Error(r?.responseResult?.exceptionDetail?.[0]||"Taslak temizlenemedi.");return(0,d.y5)(r?.result?.data||null)},onSuccess:async()=>{t.setQueryData(["contentDraft","latest"],null),await t.invalidateQueries({queryKey:["getMyContent"]})}})})(),{mutateAsync:$,isPending:H}=(()=>{let e=(0,p.A)(),t=(0,x.jE)();return(0,m.n)({mutationFn:async({contentId:a,values:r})=>{if(!e?.token)return!1;let n=await fetch(`https://api.wuubi.com/api/content/${a}
1543`,{method:"PATCH",headers:{Accept:"application/json","Content-Type":"application/json",Authorization:`Bearer ${e.token}`},body:JSON.stringify({mediaAttributions:(0,d.JZ)(r).mediaAttributions,title:r.title,description:r.description,body:r.content,bodyDocument:r.bodyDocument,videoUrl:r.videoUrl,thumbnailImage:r.thumbnailImage,isNsfw:!!r.isNsfw})}),s=await n.json();return s?.responseResult?.status?(t.invalidateQueries({queryKey:["getMyContent"]}),s):(g.Ay.error(s.responseResult?.exceptionDetail?.[0]),!1)}})})(),{data:F}=(0,o.E5)(),V=(0,eN.Ic)(F?.getAllCategories),Y=(0,eA.useRouter)(),W=(0,p.A)(),Z=Y.query.edit,X=Y.query.draft,Q=!!Z,ee=!!X,[et,ea]=(0,f.useState)(null),[er,en]=(0,f.useState)("idle"),[el,ei]=(0,f.useState)(null),[eo,ed]=(0,f.useState)(!0),[ec,eu]=(0,f.useState)(!0),ep=(0,f.useRef)(!1),eg=(0,f.useRef)(!1),ex=(0,f.useRef)(""),{data:eh,isLoading:ef}=ek(Z),{data:ev,isLoading:ew}=ek(X),{data:ey,isLoading:eS}=((e=!0)=>{let t=(0,p.A)();return(0,u.I)({queryKey:["contentDraft","latest"],queryFn:async()=>{if(!t?.token)return null;let e=await fetch("https://api.wuubi.com/api/content/draft/latest",{method:"GET",headers:{Accept:"application/json","Content-Type":"application/json",Authorization:`Bearer ${t.token}`}}),a=await e.json();return a?.responseResult?.status?(0,d.y5)(a?.result?.data||null):null},enabled:!!(t?.token&&e),staleTime:3e4})})(!Q&&!ee),e$=async(e,{kind:t="body",alt:a=""}={})=>{if(!W?.token)throw Error("Medya y\xfcklemek i\xe7in giriş yapmalısınız");let r=new FormData;r.append("media",e),r.append("kind",t),a.trim()&&r.append("alt",a.trim());let n=await fetch("https://api.wuubi.com/api/content/upload-inline-media",{method:"POST",headers:{Accept:"application/json",Authorization:`Bearer ${W.token}`},body:r}),s=await n.json();if(!s?.responseResult?.status||!s?.result?.data?.url)throw Error(s?.responseResult?.exceptionDetail?.[0]||"Medya y\xfcklenemedi");return s.result.data},eF=async(e,t)=>{if(e.type.toLowerCase().startsWith("image/")){let a=String(t||"").trim();if(!a)throw Error("G\xf6rsel i\xe7in alternatif metin zorunludur");return(await e$(e,{kind:"body",alt:a})).url}return(await e$(e)).url};function eG(e){return Array.isArray(e)?e.map(e=>e&&Array.isArray(e.answers)?{...e,answers:e.answers.map(e=>{let t=String(e.answerImage||e.image||"").trim();return{...e,answerImage:t,image:t||null}})}:e):[]}let eV=async e=>{e.draftId=et||void 0,e.listItems=function(e){return Array.isArray(e)?e.map(e=>"instagram"!==String(e.embedProvider||"").toLowerCase()&&!function(e){let t=String(e||"").trim();if(!t)return!1;try{let e=new URL(t).hostname.replace(/^www\./i,"").toLowerCase();return"instagram.com"===e||e.endsWith(".instagram.com")}catch{return!1}}(e.embedUrl)?e:{...e,mediaKind:"media",embedProvider:"",embedUrl:"",embedHtml:"",embedTitle:"",embedAuthorName:"",embedThumbnailUrl:""}):[]}(t),e.pollItems=l,e.examItems=eG(b),e.thumbnailImage?.file&&e.thumbnailImage.file instanceof File&&(e.thumbnailImage={...e.thumbnailImage,file:null}),E(!0);try{let[t]=await Promise.all([D({values:e}),new Promise(e=>setTimeout(e,4200))]);t&&(await new Promise(e=>setTimeout(e,500)),E(!1),g.Ay.success("İ\xe7erik başarıyla oluşturuldu"),setTimeout(()=>{Y.push("/my-content")},1e3))}catch(e){E(!1),g.Ay.error("İ\xe7erik oluşturulurken bir hata oluştu")}},eY=async e=>{if(Z){e.thumbnailImage?.file&&e.thumbnailImage.file instanceof File&&(e.thumbnailImage={...e.thumbnailImage,file:null}),E(!0);try{await $({contentId:Z,values:e})&&(E(!1),g.Ay.success("İ\xe7erik başarıyla g\xfcncellendi"),Y.push("/my-content"))}catch(e){E(!1),g.Ay.error("İ\xe7erik g\xfcncellenirken bir hata oluştu")}}},[eW,eK]=(0,f.useState)(),eZ=(0,f.useMemo)(()=>ec?ee?ev:eo?ey:null:null,[ec,eo,ev,ee,ey]),eJ=e=>e?.draftSnapshot||e||null,eX=(0,f.useMemo)(()=>{if(!Q&&eZ){let e=eJ(eZ);return{title:e?.title||eZ.title||"",description:e?.description||eZ.description||"",thumbnailImage:e?.thumbnailImage||{name:e?.thumbnail||eZ.thumbnail?"content-thumbnail":"",url:e?.thumbnail||eZ.thumbnail||"",file:null},category:e?.category||eZ.category||"",type:e?.type||eZ.type||"",isNsfw:!!(e?.isNsfw??eZ.isNsfw),content:e?.content||eZ.body||eZ.content||"<p></p>",bodyDocument:e?.bodyDocument||eZ.bodyDocument||"",videoUrl:e?.videoUrl||eZ.videoUrl||"",listItems:e?.listItems||eZ.listItems||[],pollItems:e?.pollItems||eZ.pollItems||[],testItems:[],resultItems:e?.resultItems||eZ.resultItems||[],quizItems:e?.quizItems||eZ.quizItems||[],examItems:e?.examItems||eZ.examItems||[],quizTimerEnabled:!!(e?.quizTimerEnabled??eZ.quizTimerEnabled),quizDurationSeconds:Number.isFinite(Number(e?.quizDurationSeconds))?Number(e?.quizDurationSeconds):Number.isFinite(Number(eZ.quizDurationSeconds))?Number(eZ.quizDurationSeconds):60}}return Q&&eh?{title:eh.title||"",description:eh.description||"",thumbnailImage:{name:eh.thumbnail?"content-thumbnail":"",url:eh.thumbnail||"",file:null},category:"__edit__",type:eh.type||"",isNsfw:!!eh.isNsfw,content:eh.body||"<p></p>",bodyDocument:eh.bodyDocument||"",videoUrl:eh.videoUrl||"",listItems:[],pollItems:[],testItems:[],resultItems:[],quizItems:[],examItems:[],quizTimerEnabled:!!eh.quizTimerEnabled,quizDurationSeconds:Number.isFinite(Number(eh.quizDurationSeconds))?Number(eh.quizDurationSeconds):60}:{title:"",description:"",thumbnailImage:{name:"",url:"",file:null},category:"",type:"",isNsfw:!1,content:"",bodyDocument:"",videoUrl:"",listItems:[],pollItems:[],testItems:[],resultItems:[],quizItems:[],examItems:[],quizTimerEnabled:!1,quizDurationSeconds:60}},[Q,eh,eZ]),eQ=(0,f.useMemo)(()=>j.Ik({title:j.Yj().min(20,"Başlık minimum 20 karakter olmalıdır").max(100,"Başlık en fazla 100 karakter olmalıdır").required("Başlık giriniz"),description:j.Yj().min(20,"\xd6zet minimum 20 karakter olmalıdır").max(200,"\xd6zet en fazla 200 karakter olmalıdır").required("\xd6zet giriniz"),thumbnailImage:j.Ik({name:j.Yj().required("İ\xe7erik kapak g\xf6rseli zorunludur"),url:j.Yj().required("İ\xe7erik kapak g\xf6rseli zorunludur"),file:j.gl().nullable().test("fileType","Yalnızca png, jpg veya jpeg y\xfckleyin",e=>!e||eq.includes(e.type?.toLowerCase())).test("fileSize","G\xf6rsel boyutu en fazla 10 MB olmalıdır",e=>!e||e.size<=0xa00000)}).required("İ\xe7erik kapak g\xf6rseli zorunludur"),category:Q?j.Yj().optional():j.Yj().required("Kategori se\xe7iniz"),type:j.Yj().oneOf(["standard","test","list","quiz","poll"],"Ge\xe7erli i\xe7erik t\xfcr\xfc se\xe7iniz").required("İ\xe7erik t\xfcr\xfc se\xe7iniz"),content:j.Yj().required("İ\xe7erik giriniz").test("content-length","İ\xe7erik 300-10000 karakter arasında olmalıdır",e=>{let t=eM(e||"").length;return t>=300&&t<=1e4}),videoUrl:j.Yj().nullable().optional(),listItems:Q?j.YO().optional():j.YO().of(eB).when("type",{is:"list",then:e=>e.min(3,"En az 3 madde ekleyin").max(20,"En fazla 20 madde ekleyin"),otherwise:e=>e.optional()}),pollItems:Q?j.YO().optional():j.YO().of(eP).when("type",{is:"poll",then:e=>e.min(1,"En az 1 anket sorusu ekleyin").max(20,"En fazla 20 anket sorusu ekleyin"),otherwise:e=>e.optional()}),examItems:Q?j.YO().optional():j.YO().of(eU).when("type",{is:"quiz",then:e=>e.min(1,"En az 1 soru ekleyin").max(20,"En fazla 20 soru ekleyin"),otherwise:e=>e.optional()}),resultItems:Q?j.YO().optional():j.YO().of(eO).when("type",{is:"test",then:e=>e.min(2,"En az 2 test sonucu ekleyin").max(12,"En fazla 12 test sonucu ekleyin"),otherwise:e=>e.optional()}),quizItems:Q?j.YO().optional():j.YO().of(eH).when("type",{is:"test",then:e=>e.min(1,"En az 1 test sorusu ekleyin").max(24,"En fazla 24 test sorusu ekleyin").test("questions-at-least-results","Soru sayısı sonu\xe7 sayısından az olamaz",function(e){let t=(this.parent?.resultItems||[]).length;return(e?.length||0)>=t}),otherwise:e=>e.optional()}),quizTimerEnabled:j.zM().optional(),quizDurationSeconds:j.ai().nullable().when(["type","quizTimerEnabled"],{is:(e,t)=>"quiz"===e&&t,then:e=>e.typeError("S\xfcre sayısal bir değer olmalıdır").required("S\xfcre giriniz").min(30,"S\xfcre en az 30 saniye olmalıdır").max(7200,"S\xfcre en fazla 7200 saniye olmalıdır"),otherwise:e=>e.nullable().optional()})}),[Q]);(0,f.useEffect)(()=>
1543{if(Q||!eZ||ep.current)return;let e=eJ(eZ);e&&(eg.current=!0,ep.current=!0,ea(eZ._id||null),a(e.listItems||eZ.listItems||[]),h(e.pollItems||eZ.pollItems||[]),v(e.examItems||eZ.examItems||[]),en("saved"),ei(eZ.updatedAt||null),setTimeout(()=>{eg.current=!1,ex.current=JSON.stringify({...eX,draftId:eZ._id||null})},0))},[eZ,eX,Q]);let e0=e=>!!(e.title?.trim()||e.description?.trim()||eM(e.content||"")||e.bodyDocument?.trim()||e.videoUrl?.trim()||e.thumbnailImage?.url||e.category||t.length||l.length||b.length||e.resultItems?.length||e.quizItems?.length);function e1({values:e,setFieldValue:t,currentDraftId:a,isPublishingContent:r,listItems:n,pollItems:s,examItems:l}){return(0,f.useEffect)(()=>{if(Q||eg.current||r)return;!a&&!ee&&e0(e)&&ed(!1);let i={...e,draftId:a||void 0,listItems:n,pollItems:s,examItems:eG(l)};if(!e0(e)||JSON.stringify(i)===ex.current)return;let o=setTimeout(async()=>{if(!eg.current)try{en("saving");let a=await P({values:i});a?._id&&(ea(a._id),ei(a.updatedAt||new Date().toISOString()),en("saved"),a.thumbnailImage?.url&&a.thumbnailImage.url!==e.thumbnailImage?.url&&t("thumbnailImage",a.thumbnailImage),ex.current=JSON.stringify({...i,draftId:a._id,thumbnailImage:a.thumbnailImage||i.thumbnailImage}))}catch{en("error")}},1500);return()=>clearTimeout(o)},[e,n,s,l,a,r,t]),null}let e2="saving"===er?"Taslak kaydediliyor...":"saved"===er?`Taslak kaydedildi${el?` \xb7 ${new Date(el).toLocaleString("tr-TR",{day:"2-digit",month:"short",hour:"2-digit",minute:"2-digit"})}`:""}`:"error"===er?"Taslak kaydedilemedi. Bağlantınızı kontrol edip tekrar deneyin.":eS||ew?"Son taslak kontrol ediliyor...":et?"Son taslağınız y\xfcklendi.":null;return(0,r.jsx)("div",{className:"w-full pb-24 pt-6 md:pb-10 md:pt-10",children:(0,r.jsxs)("div",{className:"mx-auto flex w-full max-w-7xl flex-col gap-6 px-3 md:px-6",children:[(0,r.jsx)("div",{className:"rounded-2xl border border-slate-200 bg-white p-5 shadow-sm md:p-7",children:(0,r.jsxs)("div",{className:"flex flex-col gap-4 md:flex-row md:items-start md:justify-between",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("p",{className:"text-xs font-bold uppercase tracking-[0.18em] text-slate-400",children:"Content Studio"}),(0,r.jsx)("h1",{className:"mt-2 text-2xl font-extrabold text-slate-950 md:text-3xl",children:Q?"İ\xe7eriği d\xfczenle":et?"Taslağa devam et":"Yeni i\xe7erik yayınla"}),(0,r.jsx)("p",{className:"mt-2 max-w-3xl text-sm leading-6 text-slate-600",children:Q?"Değişiklikler kaydedildiğinde i\xe7erik tekrar inceleme s\xfcrecine alınır.":"İ\xe7eriğini tamamla, g\xf6rselleri se\xe7 ve yayın akışına g\xf6ndermeden \xf6nce \xf6zetini kontrol et."})]}),e2&&(0,r.jsxs)("div",{className:`inline-flex items-center gap-2 rounded-full border px-4 py-2 text-sm font-semibold ${"error"===er?"border-rose-200 bg-rose-50 text-rose-700":"border-emerald-200 bg-emerald-50 text-emerald-700"}`,children:[(0,r.jsx)("span",{className:`h-2 w-2 rounded-full ${"error"===er?"bg-rose-500":"bg-emerald-500"}`}),e2]})]})}),Q&&ef&&(0,r.jsx)("div",{className:"rounded-2xl border border-slate-200 bg-white py-16 text-center",children:(0,r.jsx)("p",{className:"text-sm font-semibold text-slate-500",children:"İ\xe7erik y\xfckleniyor..."})}),Q&&!ef&&eh&&"published"===eh.status&&(0,r.jsx)("div",{className:"rounded-2xl border border-amber-200 bg-amber-50 p-4 text-sm font-semibold text-amber-800",children:"Yayındaki i\xe7erik d\xfczenleniyor. Kaydettiğinizde i\xe7erik taslak durumuna alınır ve tekrar incelemeye g\xf6nderilir."}),(!Q||!ef&&eh)&&(!ee||!ew&&ev)&&(0,r.jsx)(y.l1,{enableReinitialize:Q||!!eZ,initialValues:eX,validationSchema:eQ,onSubmit:(e=Q?eY:eV,async(t,a)=>{t.examItems=eG(t.examItems);let{validateForm:r}=a;if(Object.keys(await r()).length>0)return void window.scrollTo({top:0,behavior:"smooth"});let s=(e=>Array.from(new DOMParser().parseFromString(e||"","text/html").querySelectorAll("img[src]")).filter(e=>!e.closest('[data-block="socialEmbed"]')).map((e,t)=>({index:t,src:e.getAttribute("src")||"",alt:e.alt})).filter(e=>!n(e.alt)))(t.content||(0,eb.un)("",t.bodyDocument));if(s.length){g.Ay.error(s.length+" g\xf6rselin a\xe7ıklamasını tamamlayın."),eK({index:s[0].index,key:Date.now()});return}await e(t)}),validateOnChange:!1,validateOnBlur:!1,children:({values:e,errors:n,resetForm:o,setFieldValue:d})=>{let c,m,u=Array.from(new Set([...Object.values(n||{}).flatMap(eD),...Object.values(z||{}).flatMap(eD)])),p=eM(e.content||"").length,x="test"===e.type?e?.quizItems?.length||0:"quiz"===e.type?b.length:"poll"===e.type?l.length:"list"===e.type?t.length:0,f=I||_||H,j=Q?f?"Kaydediliyor...":"D\xfczenlemeleri kaydet":f?"Oluşturuluyor...":"İ\xe7eriği oluştur",E=async()=>
1543{if(et&&!O&&window.confirm("Bu taslak ve i\xe7indeki t\xfcm bilgiler kalıcı olarak temizlenecek. Devam etmek istiyor musunuz?")){eg.current=!0,eu(!1);try{await U(et);let e={title:"",description:"",thumbnailImage:{name:"",url:"",file:null},category:"",type:"",isNsfw:!1,content:"<p></p>",bodyDocument:"",listItems:[],pollItems:[],testItems:[],resultItems:[],quizItems:[],examItems:[],quizTimerEnabled:!1,quizDurationSeconds:60};ea(null),en("idle"),ei(null),a([]),h([]),v([]),C({}),S(!1),R.current&&(R.current.value=""),ex.current=JSON.stringify(e),o({values:e}),await Y.replace("/publish-post",void 0,{shallow:!0}),g.Ay.success("Taslak temizlendi.")}catch(e){eu(!0),g.Ay.error(e instanceof Error?e.message:"Taslak temizlenemedi.")}finally{window.setTimeout(()=>{eg.current=!1},0)}}};return(0,r.jsxs)(y.lV,{className:"mx-auto flex w-full max-w-5xl flex-col gap-6",children:[(0,r.jsx)(e1,{values:e,setFieldValue:d,currentDraftId:et,isPublishingContent:_,listItems:t,pollItems:l,examItems:b}),et&&!Q?(0,r.jsx)("div",{className:"flex justify-end",children:(0,r.jsxs)("button",{type:"button",disabled:O,onClick:()=>void E(),className:"inline-flex items-center gap-1.5 rounded-full px-3 py-1.5 text-xs font-bold text-rose-600 transition hover:bg-rose-50 hover:text-rose-700 disabled:cursor-not-allowed disabled:opacity-50",children:[(0,r.jsx)(w.A,{className:"h-4 w-4"}),O?"Temizleniyor...":"Taslağı temizle"]})}):null,(0,r.jsx)(s.A,{isOpen:I,contentType:e.type,itemCount:x}),(0,r.jsx)(k.A,{open:N,onClose:()=>S(!1),className:"flex items-center justify-center",children:(0,r.jsx)("div",{className:"mx-4 w-full max-w-2xl overflow-hidden rounded-2xl bg-white p-4 shadow-2xl",children:e.thumbnailImage?.url&&(0,r.jsx)(K(),{src:e.thumbnailImage.url,alt:e.thumbnailImage.name||"Kapak g\xf6rseli",className:"h-auto w-full rounded-xl",width:900,height:900})})}),(0,r.jsxs)("div",{className:"flex min-w-0 flex-col gap-5",children:[u.length>0&&(0,r.jsx)("div",{ref:L,className:"rounded-2xl border border-amber-200 bg-amber-50 p-4",children:(0,r.jsxs)("div",{className:"flex items-start gap-3",children:[(0,r.jsx)(eE.A,{className:"mt-0.5 h-5 w-5 flex-shrink-0 text-amber-600"}),(0,r.jsxs)("div",{children:[(0,r.jsx)("p",{className:"text-sm font-bold text-amber-900",children:"Yayınlamadan \xf6nce kontrol et"}),(0,r.jsx)("div",{className:"mt-2 flex flex-wrap gap-2",children:u.map(e=>(0,r.jsx)("span",{className:"rounded-full bg-white px-3 py-1 text-xs font-semibold text-amber-800",children:e},e))})]})]})}),(0,r.jsxs)("section",{className:"rounded-2xl border border-slate-200 bg-white p-5 shadow-sm md:p-6",children:[(0,r.jsx)("div",{className:"mb-5 flex items-start justify-between gap-4",children:(0,r.jsxs)("div",{children:[(0,r.jsx)("h2",{className:"text-lg font-extrabold text-slate-950",children:"Temel bilgiler"}),(0,r.jsx)("p",{className:"mt-1 text-sm text-slate-500",children:"İ\xe7eriğin listelerde ve detay sayfasında g\xf6r\xfcnen ana bilgileri."})]})}),(0,r.jsxs)("div",{className:"grid gap-4",children:[(0,r.jsxs)("label",{className:"grid gap-2",children:[(0,r.jsx)("span",{className:"text-sm font-bold text-slate-700",children:"Başlık"}),(0,r.jsx)(y.D0,{name:"title",className:"input w-full",type:"text",placeholder:"Okuru i\xe7eriğe \xe7eken net bir başlık yaz"})]}),(0,r.jsxs)("label",{className:"grid gap-2",children:[(0,r.jsx)("span",{className:"text-sm font-bold text-slate-700",children:"\xd6zet"}),(0,r.jsx)(y.D0,{name:"description",className:"input min-h-[110px] w-full",as:"textarea",placeholder:"İ\xe7eriğin kısa vaadini ve kapsamını anlat"})]}),(0,r.jsxs)("div",{className:"grid gap-4 md:grid-cols-2",children:[(0,r.jsxs)("label",{className:"grid gap-2",children:[(0,r.jsx)("span",{className:"text-sm font-bold text-slate-700",children:"Kategori"}),Q?(0,r.jsx)("input",{className:"input cursor-not-allowed bg-slate-100 text-slate-500",value:"Kategori değiştirilemez",disabled:!0,readOnly:!0}):(0,r.jsxs)(y.D0,{name:"category",as:"select",className:"input",defaultValue:"",onChange:e=>d("category",e.target.value),children:[(0,r.jsx)("option",{value:"",disabled:!0,children:"Kategori se\xe7"}),V?.map(e=>(0,r.jsx)("option",{value:e.id,children:e.name},e.id))]})]}),(0,r.jsx)("div",{className:"rounded-2xl border border-slate-200 bg-slate-50 p-4",children:(0,r.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,r.jsxs)("div",{className:"flex items-start gap-3",children:[(0,r.jsx)(ez.A,{className:"h-5 w-5 text-slate-500"}),(0,r.jsxs)("div",{children:[(0,r.jsx)("p",{className:"text-sm font-bold text-slate-800",children:"Hassas i\xe7erik"}),(0,r.jsx)("p",{className:"mt-1 text-xs leading-5 text-slate-500",children:"Gerekliyse işaretle; kullanıcıdan g\xf6r\xfcnt\xfcleme onayı istenir."})]})]}),(0,r.jsx)("button",{type:"button",onClick:()=>d("isNsfw",!e.isNsfw),className:`relative h-7 w-12 rounded-full transition ${e.isNsfw?"bg-amber-500":"bg-slate-300"}`,"aria-label":"Hassas i\xe7erik durumunu değiştir",children:(0,r.jsx)("span",{className:`absolute top-1 h-5 w-5 rounded-full bg-white shadow transition ${e.isNsfw?"left-6":"left-1"}`})})]})})]})]})]}),(0,r.jsxs)("section",{className:"rounded-2xl border border-slate-200 bg-white p-5 shadow-sm md:p-6",children:[(0,r.jsxs)("div",{className:"mb-5",children:[(0,r.jsx)("h2",{className:"text-lg font-extrabold text-slate-950",children:"Kapak ve t\xfcr"}),(0,r.jsx)("p",{className:"mt-1 text-sm text-slate-500",children:"G\xf6rsel ve i\xe7erik tipini aynı yerden y\xf6net."})]}),(0,r.jsxs)("div",{className:"grid gap-5 lg:grid-cols-[280px_minmax(0,1fr)] xl:grid-cols-[320px_minmax(0,1fr)]",children:[(0,r.jsxs)("div",{className:"overflow-hidden rounded-2xl border border-slate-200 bg-slate-50",children:[(0,r.jsx)("div",{className:"relative aspect-square w-full bg-white",children:e.thumbnailImage?.url?(0,r.jsx)(K(),{src:e.thumbnailImage.url,alt:e.thumbnailImage.name||"Kapak g\xf6rseli",fill:!0,sizes:"(max-width: 767px) calc(100vw - 3rem), 720px",className:"object-cover"}):(0,r.jsxs)("div",{className:"flex h-full flex-col items-center justify-center gap-3 p-6 text-center",children:[(0,r.jsx)(B.A,{className:"h-10 w-10 text-slate-400"}),(0,r.jsx)("p",{className:"text-sm font-semibold text-slate-500",children:"Kapak g\xf6rseli se\xe7ilmedi"})]})}),(0,r.jsxs)("div",{className:"flex flex-wrap gap-2 p-3",children:[(0,r.jsx)("input",{type:"file",ref:R,className:"hidden",id:"thumbnailImageUpload",accept:"image/png,image/jpeg,image/jpg,image/webp",onChange:async e=>{if(!e.target.files)return;let t=e.target.files?.[0];if(!t)return;let a=eq.includes(t.type?.toLowerCase()),r=t.size<=0xa00000;if(!a)return void g.Ay.error("Yalnızca png, jpg veya jpeg y\xfckleyin");if(!r)return void g.Ay.error("G\xf6rsel boyutu en fazla 10 MB olmalıdır");let n=new FileReader;n.onloadend=()=>{let e=n.result,t=new window.Image;t.onload=()=>
1543{if(t.naturalWidth<1200||t.naturalHeight<630)return void g.Ay.error("Kapak g\xf6rseli en az 1200\xd7630 piksel olmalıdır");M(e),T(!0)},t.src=e},n.readAsDataURL(t)}}),(0,r.jsxs)("label",{className:"btn btn-dark flex-1 cursor-pointer justify-center",htmlFor:"thumbnailImageUpload",children:[(0,r.jsx)(B.A,{className:"h-5 w-5"}),e.thumbnailImage?.url?"G\xf6rseli değiştir":"G\xf6rsel se\xe7"]}),e.thumbnailImage?.url&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("button",{className:"btn btn-light",type:"button",onClick:e=>{e.preventDefault(),S(!0)},"aria-label":"Kapak g\xf6rselini \xf6nizle",children:(0,r.jsx)(eC.A,{className:"h-5 w-5"})}),(0,r.jsx)("button",{className:"btn btn-danger",type:"button",onClick:e=>{e.preventDefault(),d("thumbnailImage",{name:"",url:"",file:null}),R.current&&(R.current.value="")},"aria-label":"Kapak g\xf6rselini kaldır",children:(0,r.jsx)(w.A,{className:"h-5 w-5"})})]})]})]}),(0,r.jsxs)("div",{children:[(0,r.jsxs)("div",{className:"mb-3 flex items-center justify-between",children:[(0,r.jsx)("p",{className:"text-sm font-bold text-slate-700",children:"İ\xe7erik t\xfcr\xfc"}),Q&&(0,r.jsx)("span",{className:"rounded-full bg-slate-100 px-3 py-1 text-xs font-semibold text-slate-500",children:"D\xfczenlemede değiştirilemez"})]}),(0,r.jsx)("div",{className:"grid gap-3 md:grid-cols-2",children:eR.map(t=>{let a=t.icon,n=e.type===t.value;return(0,r.jsx)("button",{type:"button",disabled:Q,onClick:()=>{!Q&&(d("type",t.value),"quiz"!==t.value?(d("quizTimerEnabled",!1),d("quizDurationSeconds",null)):e.quizDurationSeconds||d("quizDurationSeconds",60))},className:`min-w-0 rounded-2xl border p-4 text-left transition ${n?"border-secondary bg-teal-50 text-slate-950 shadow-sm":"border-slate-200 bg-white text-slate-700 hover:border-slate-300"} ${Q?"cursor-not-allowed opacity-70":""}`,children:(0,r.jsxs)("div",{className:"flex items-start gap-3",children:[(0,r.jsx)("span",{className:`rounded-xl p-2 ${n?"bg-secondary text-white":"bg-slate-100 text-slate-500"}`,children:(0,r.jsx)(a,{className:"h-5 w-5"})}),(0,r.jsxs)("span",{className:"min-w-0",children:[(0,r.jsx)("span",{className:"block text-sm font-extrabold",children:t.label}),(0,r.jsx)("span",{className:"mt-1 block text-xs leading-5 text-slate-500",children:t.description})]})]})},t.value)})})]})]})]}),(0,r.jsxs)("section",{className:"rounded-2xl border border-slate-200 bg-white p-5 shadow-sm md:p-6",children:[(0,r.jsxs)("div",{className:"mb-5 flex items-center justify-between gap-4",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("h2",{className:"text-lg font-extrabold text-slate-950",children:"İ\xe7erik g\xf6vdesi"}),(0,r.jsx)("p",{className:"mt-1 text-sm text-slate-500",children:"Ana metni yaz, gerekiyorsa edit\xf6r i\xe7inden g\xf6rsel ekle."})]}),(0,r.jsxs)("span",{className:"rounded-full bg-slate-100 px-3 py-1 text-xs font-bold text-slate-600",children:[p,"/10000"]})]}),(0,r.jsx)(ej,{descriptionRequest:eW,mountKey:Q?`edit-${Z||"content"}`:et?`draft-${et}`:"create",initialHtml:e.content?.trim()?e.content:(0,eb.un)("",e.bodyDocument),placeholder:"Oluşturmak istediğiniz i\xe7eriği buraya yazınız",onUploadImage:eF,onUploadVideo:eF,onVideoUploaded:e=>d("videoUrl",e),onChange:({html:e,bodyDocument:t})=>{d("content",e||"<p></p>"),d("bodyDocument",t||"")}}),(0,r.jsx)("div",{className:"mt-5",children:e.videoUrl?(c=e.videoUrl,m=()=>d("videoUrl",""),(0,r.jsx)(r.Fragment,{children:(0,r.jsx)(eT.o,{src:c,onRemove:m})})):(0,r.jsx)("div",{className:"rounded-2xl border border-dashed border-slate-300 bg-slate-50 p-5",children:(0,r.jsx)("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between",children:(0,r.jsxs)("div",{children:[(0,r.jsx)("p",{className:"text-sm font-extrabold text-slate-900",children:"Video alanı boş"}),(0,r.jsx)("p",{className:"mt-1 text-sm text-slate-500",children:"Bir video se\xe7ildiğinde burada \xf6nizleme g\xf6r\xfcn\xfcr."})]})})})})]}),!Q&&e.type&&"standard"!==e.type&&(0,r.jsxs)("section",{className:"rounded-2xl border border-slate-200 bg-white p-5 shadow-sm md:p-6",children:[(0,r.jsxs)("div",{className:"mb-3",children:[(0,r.jsxs)("h2",{className:"text-lg font-extrabold text-slate-950",children:[eL(e.type)," yapısı"]}),(0,r.jsx)("p",{className:"mt-1 text-sm text-slate-500",children:"Se\xe7tiğin i\xe7erik t\xfcr\xfcn\xfcn kartlarını ve se\xe7eneklerini oluştur."})]}),((e,n,s)=>{switch(e.type){case"standard":default:return(0,r.jsx)(r.Fragment,{});case"test":return(0,r.jsx)(em,{initialValues:eX,values:e,setFieldValue:n,validSchema:s});case"list":return(0,r.jsx)(G,{listItems:t,setListItems:a,setFieldValue:n,setListErrors:C,onUploadMedia:eF});case"quiz":return(0,r.jsx)(es,{examItems:b,setExamItems:v,setFieldValue:n,onUploadMedia:eF});case"poll":return(0,r.jsx)(J,{pollItems:l,setPollItems:h,setFieldValue:n,onUploadMedia:eF})}})(e,d,eQ),"quiz"===e.type&&(0,r.jsx)("div",{className:"mt-5",children:(0,r.jsx)(e_,{values:e,setFieldValue:d})})]}),!Q&&!e.type&&(0,r.jsxs)("section",{className:"rounded-2xl border border-dashed border-slate-300 bg-white p-8 text-center",children:[(0,r.jsx)(eI.A,{className:"mx-auto h-10 w-10 text-slate-400"}),(0,r.jsx)("p",{className:"mt-3 text-sm font-semibold text-slate-600",children:"Yapı alanlarını g\xf6rme
1543k i\xe7in \xf6nce i\xe7erik t\xfcr\xfc se\xe7."})]}),Q&&e.type&&"standard"!==e.type&&(0,r.jsx)("div",{className:"rounded-2xl border border-slate-200 bg-slate-50 p-4 text-sm leading-6 text-slate-600",children:"Bu i\xe7eriğin t\xfcre \xf6zel \xf6ğeleri korunur. Bu ekranda başlık, \xf6zet, ana metin, hassas i\xe7erik durumu ve kapak g\xf6rseli g\xfcncellenebilir."})]}),(0,r.jsx)("div",{className:"rounded-2xl border border-slate-200 bg-white p-4 shadow-sm md:p-5",children:(0,r.jsxs)("div",{className:"flex flex-col gap-4 md:flex-row md:items-center md:justify-between",children:[(0,r.jsxs)("div",{className:"min-w-0",children:[(0,r.jsx)("p",{className:"text-sm font-extrabold text-slate-950",children:"Yayına g\xf6nder"}),(0,r.jsxs)("div",{className:"mt-2 flex flex-wrap gap-2 text-xs font-bold text-slate-500",children:[(0,r.jsx)("span",{className:"rounded-full bg-slate-100 px-3 py-1",children:eL(e.type)}),(0,r.jsxs)("span",{className:"rounded-full bg-slate-100 px-3 py-1",children:[p," karakter"]}),e.type&&"standard"!==e.type&&(0,r.jsxs)("span",{className:"rounded-full bg-slate-100 px-3 py-1",children:[x," \xf6ğe"]})]})]}),(0,r.jsx)("button",{type:"submit",disabled:f,className:"btn btn-primary w-full justify-center disabled:cursor-not-allowed disabled:opacity-60 md:w-auto",children:j})]})}),(0,r.jsx)(i.A,{isOpen:A,imageSrc:q,title:"Kapak g\xf6rselini kırp (1200\xd7630)",aspect:1200/630,onClose:()=>{T(!1),M(""),R.current&&(R.current.value="")},onApply:async t=>{try{let a=await (await fetch(t)).blob(),r=new File([a],`content-cover-${Date.now()}.jpg`,{type:a.type||"image/jpeg"}),n=await e$(r,{kind:"cover",alt:e.title||"İ\xe7erik kapak g\xf6rseli"});d("thumbnailImage",{name:r.name,...n,file:null}),d("thumbnailAsset",n),T(!1),M("")}catch(e){g.Ay.error(e instanceof Error?e.message:"Kapak g\xf6rseli y\xfcklenemedi")}}})]})}})]})})},eG=eF;eF.getLayout=e=>(0,r.jsx)(l.A,{children:e})},59792:(e,t,a)=>{"use strict";a.d(t,{A:()=>n});var r=a(14232);let n=r.forwardRef(function({title:e,titleId:t,...a},n){return r.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true","data-slot":"icon",ref:n,"aria-labelledby":t},a),e?r.createElement("title",{id:t},e):null,r.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M13.5 6H5.25A2.25 2.25 0 0 0 3 8.25v10.5A2.25 2.25 0 0 0 5.25 21h10.5A2.25 2.25 0 0 0 18 18.75V10.5m-10.5 6L21 3m0 0h-5.25M21 3v5.25"}))})},63393:(e,t,a)=>{"use strict";a.d(t,{A:()=>n});var r=a(14232);let n=r.forwardRef(function({title:e,titleId:t,...a},n){return r.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true","data-slot":"icon",ref:n,"aria-labelledby":t},a),e?r.createElement("title",{id:t},e):null,r.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M12 9v3.75m-9.303 3.376c-.866 1.5.217 3.374 1.948 3.374h14.71c1.73 0 2.813-1.874 1.948-3.374L13.949 3.378c-.866-1.5-3.032-1.5-3.898 0L2.697 16.126ZM12 15.75h.007v.008H12v-.008Z"}))})},65283:(e,t,a)=>{"use strict";a.d(t,{A:()=>n});var r=a(14232);let n=r.forwardRef(function({title:e,titleId:t,...a},n){return r.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true","data-slot":"icon",ref:n,"aria-labelledby":t},a),e?r.createElement("title",{id:t},e):null,r.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M9.879 7.519c1.171-1.025 3.071-1.025 4.242 0 1.172 1.025 1.172 2.687 0 3.712-.203.179-.43.326-.67.442-.745.361-1.45.999-1.45 1.827v.75M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Zm-9 5.25h.008v.008H12v-.008Z"}))})},65590:e=>{e.exports={button:"Button_button__pHaIp",primary:"Button_primary__0EPvY",secondary:"Button_secondary__LtFsR",ghost:"Button_ghost__7J8Mx",danger:"Button_danger__Hfnga",sm:"Button_sm__zkEHc",md:"Button_md__clc99",lg:"Button_lg__LAWzu",fullWidth:"Button_fullWidth__7kdFL",iconOnly:"Button_iconOnly__gRDjQ"}},68974:(e,t,a)=>{"use strict";a.d(t,{A:()=>n});var r=a(14232);let n=r.forwardRef(function({title:e,titleId:t,...a},n){return r.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true","data-slot":"icon",ref:n,"aria-labelledby":t},a),e?r.createElement("title",{id:t},e):null,r.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M16.023 9.348h4.992v-.001M2.985 19.644v-4.992m0 0h4.992m-4.993 0 3.181 3.183a8.25 8.25 0 0 0 13.803-3.7M4.031 9.865a8.25 8.25 0 0 1 13.803-3.7l3.181 3.182m0-4.991v4.99"}))})},74287:(e,t,a)=>{"use strict";a.d(t,{A:()=>n});var r=a(14232);let n=r.forwardRef(function({title:e,titleId:t,...a},n){return r.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true","data-slot":"icon",ref:n,"aria-labelledby":t},a),e?r.createElement("title",{id:t},e):null,r.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M9 12.75 11.25 15 15 9.75M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z"}))})},74550:(e,t,a)=>{"use strict";a.d(t,{A:()=>n});var r=a(14232);let n=r.forwardRef(function({title:e,titleId:t,...a},n){return r.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true","data-slot":"icon",ref:n,"aria-labelledby":t},a),e?r.createElement("title",{id:t},e):null,r.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M12 4.5v15m7.5-7.5h-15"}))})},78616:(e,t,a)=>{"use strict";a.d(t,{A:()=>n});var r=a(14232);let n=r.forwardRef(function({title:e,titleId:t,...a},n){return r.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true","data-slot":"icon",ref:n,"aria-labelledby":t},a),e?r.createElement("title",{id:t},e):null,r.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M3.75 3.75v4.5m0-4.5h4.5m-4.5 0L9 9M3.75 20.25v-4.5m0 4.5h4.5m-4.5 0L9 15M2
15430.25 3.75h-4.5m4.5 0v4.5m0-4.5L15 9m5.25 11.25h-4.5m4.5 0v-4.5m0 4.5L15 15"}))})},82437:(e,t,a)=>{"use strict";a.d(t,{A:()=>m});var r=a(37876),n=a(27062);let s=async(e,t,a="image/jpeg",r=.92)=>{let n=await new Promise((t,a)=>{let r=document.createElement("img");r.addEventListener("load",()=>t(r)),r.addEventListener("error",()=>a(Error("Image could not be loaded"))),r.setAttribute("crossOrigin","anonymous"),r.src=e}),s=document.createElement("canvas"),l=s.getContext("2d");if(!l)throw Error("2D context is not available");return s.width=t.width,s.height=t.height,l.drawImage(n,t.x,t.y,t.width,t.height,0,0,t.width,t.height),new Promise((e,t)=>{s.toBlob(a=>{if(!a)return void t(Error("Could not create cropped image blob"));let r=new FileReader;r.onloadend=()=>e(r.result),r.onerror=()=>t(Error("Could not read cropped blob")),r.readAsDataURL(a)},a,r)})};var l=a(5797),i=a(6978),o=a(14232),d=a(32615),c=a(97685);let m=({isOpen:e,imageSrc:t,title:a="G\xf6rseli kırp",aspect:m,onClose:u,onApply:p})=>{let[g,x]=(0,o.useState)({x:0,y:0}),[h,b]=(0,o.useState)(1),[f,v]=(0,o.useState)(null),[w,y]=(0,o.useState)(!1),j=(0,o.useCallback)((e,t)=>{v(t)},[]),k=async()=>{if(f&&t&&!w)try{y(!0);let e=await s(t,f);p(e),x({x:0,y:0}),b(1)}catch{c.Ay.error("G\xf6rsel kırpılırken hata oluştu")}finally{y(!1)}},N=()=>{w||(x({x:0,y:0}),b(1),u())};return(0,r.jsx)(l.e,{appear:!0,show:e,as:o.Fragment,children:(0,r.jsxs)(i.lG,{as:"div",className:"relative z-[2147483646]",onClose:N,children:[(0,r.jsx)(l.e.Child,{as:o.Fragment,enter:"ease-out duration-300",enterFrom:"opacity-0",enterTo:"opacity-100",leave:"ease-in duration-200",leaveFrom:"opacity-100",leaveTo:"opacity-0",children:(0,r.jsx)("div",{className:"fixed inset-0 bg-black/40"})}),(0,r.jsx)("div",{className:"fixed inset-0 overflow-y-auto",children:(0,r.jsx)("div",{className:"flex min-h-full items-center justify-center p-4",children:(0,r.jsx)(l.e.Child,{as:o.Fragment,enter:"ease-out duration-300",enterFrom:"opacity-0 scale-95",enterTo:"opacity-100 scale-100",leave:"ease-in duration-200",leaveFrom:"opacity-100 scale-100",leaveTo:"opacity-0 scale-95",children:(0,r.jsxs)(i.lG.Panel,{className:"w-full max-w-2xl transform overflow-hidden rounded-2xl bg-white p-5 shadow-2xl transition-all",children:[(0,r.jsx)(i.lG.Title,{as:"h3",className:"mb-4 text-lg font-semibold text-dark",children:a}),(0,r.jsx)("div",{className:"relative h-[420px] w-full overflow-hidden rounded-xl bg-gray-100",children:(0,r.jsx)(d.Ay,{image:t,crop:g,zoom:h,aspect:m,showGrid:!1,cropShape:"rect",onCropChange:x,onCropComplete:j,onZoomChange:b})}),(0,r.jsxs)("div",{className:"mt-4",children:[(0,r.jsx)("label",{className:"mb-2 block text-sm text-gray-600",children:"Yakınlaştırma"}),(0,r.jsx)("input",{type:"range",min:1,max:3,step:.1,value:h,onChange:e=>b(Number(e.target.value)),className:"w-full"})]}),(0,r.jsxs)("div",{className:"mt-5 flex items-center justify-end gap-2",children:[(0,r.jsx)(n.A,{type:"button",variant:"ghost",onClick:N,disabled:w,children:"İptal"}),(0,r.jsx)(n.A,{type:"button",variant:"secondary",onClick:k,disabled:w,children:w?"Uygulanıyor...":"Kırpmayı uygula"})]})]})})})})]})})}},85616:(e,t,a)=>{"use strict";a.d(t,{A:()=>n});var r=a(14232);let n=r.forwardRef(function({title:e,titleId:t,...a},n){return r.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true","data-slot":"icon",ref:n,"aria-labelledby":t},a),e?r.createElement("title",{id:t},e):null,r.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"m2.25 15.75 5.159-5.159a2.25 2.25 0 0 1 3.182 0l5.159 5.159m-1.5-1.5 1.409-1.409a2.25 2.25 0 0 1 3.182 0l2.909 2.909m-18 3.75h16.5a1.5 1.5 0 0 0 1.5-1.5V6a1.5 1.5 0 0 0-1.5-1.5H3.75A1.5 1.5 0 0 0 2.25 6v12a1.5 1.5 0 0 0 1.5 1.5Zm10.5-11.25h.008v.008h-.008V8.25Zm.375 0a.375.375 0 1 1-.75 0 .375.375 0 0 1 .75 0Z"}))})},87498:(e,t,a)=>{"use strict";a.d(t,{A:()=>n});var r=a(14232);let n=r.forwardRef(function({title:e,titleId:t,...a},n){return r.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true","data-slot":"icon",ref:n,"aria-labelledby":t},a),e?r.createElement("title",{id:t},e):null,r.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M13.19 8.688a4.5 4.5 0 0 1 1.242 7.244l-4.5 4.5a4.5 4.5 0 0 1-6.364-6.364l1.757-1.757m13.35-.622 1.757-1.757a4.5 4.5 0 0 0-6.364-6.364l-4.5 4.5a4.5 4.5 0 0 0 1.242 7.244"}))})},88015:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>o});var r=a(37876),n=a(83471),s=a(59792),l=a(14232);let i=e=>"instagram"===e?"Instagram":"X";function o({embed:e,compact:t=!1}){let a=(0,l.useRef)(null);if((0,l.useEffect)(()=>{(0,n.L)(a.current)},[e?.html,e?.provider,e?.url]),!e?.url)return null;let o=String(e.provider||"x").toLowerCase(),d="instagram"===o||(e=>{try{let t=new URL(String(e||"")).hostname.replace(/^www\./i,"").toLowerCase();return"instagram.com"===t||t.endsWith(".instagram.com")}catch{return!1}})(e.url),c=d?"instagram":o;return!d&&e.html?.trim()?(0,r.jsx)("div",{ref:a,className:`wuubi-social-embed overflow-hidden rounded-xl border border-slate-200 bg-white ${t?"p-2":"p-3"}`,dangerouslySetInnerHTML:{__html:e.html}}):(0,r.jsxs)("a",{href:e.url,target:"_blank",rel:"noopener noreferrer",className:`group block rounded-xl border border-slate-200 bg-white text-left transition hover:border-slate-300 hover:bg-slate-50 ${t?"p-3":"p-4"}`,children:[(0,r.jsx)("span",{className:"text-[11px] font-black uppercase tracking-[0.14em] text-teal-700",children:i(c)}),(0,r.jsx)("span",{className:"mt-1 block text-sm font-extrabold text-slate-950",children:e.title||`${i(c)} g\xf6nderisi`}),(0,r.jsxs)("span",{className:"mt-2 flex min-w-0 items-center gap-2 text-xs font-semibold text-slate-500",children:[(0,r.jsx)("span",{className:"truncate",children:e.url}),(0,r.jsx)(s.A,{className:"h-4 w-4 flex-shrink-0 transition group-hover:translate-x-0.5 group-hover:-translate-y-0.5"})]})]})}},89687:(e,t,a)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/publish-post",function(){return a(58085)}])}},e=>{e.O(0,[4938,152,975,3514,6978,6096,5608,2615,4178,1599,7476,636,6593,8792],()=>e(e.s=89687)),_N_E=e.O()}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.