Files
machartaa_admin_dist/dist/assets/index-e82ccc91.js
T
2026-08-25 16:12:17 +03:30

2 lines
48 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import{_ as cs}from"./BasicMainCard-9a9b0e82.js";import{_ as ds}from"./BasicModal.vue_vue_type_style_index_0_lang-0db8aa6c.js";import{_ as _s}from"./BaseSwitch.vue_vue_type_script_setup_true_lang-630a739a.js";import{_ as vs}from"./BasicInput.vue_vue_type_style_index_0_lang-75e51b7f.js";import{_ as ms}from"./BasicTextArea.vue_vue_type_style_index_0_lang-87cbd165.js";import{_ as ps}from"./button.vue_vue_type_style_index_0_lang-0b499337.js";import{d as gs,v as hs,u as fs,i as m,j as W,y as bs,x as ys,o as r,c,e as i,w as v,l as b,b as s,F as $,q as R,n as C,t as p,f as w,s as K,B as Le,G as y,R as ks,S as ws,bJ as xs,L as Te,bm as Cs,A as mt,k as pt}from"./index-0ae7844c.js";import{g as Ss,c as Us,a as qs,u as gt,b as $s,d as As,s as Ls,e as Ts,f as Ps,h as Ms,i as Rs,j as Ds,k as Ns,l as js}from"./stepChallenge-75c5d811.js";import{I as M}from"./Icon-d1d29ca3.js";import{g as te,e as B,a as Fs}from"./convert-2ad76038.js";import{T as ht}from"./index-33c0557e.js";import{S as se}from"./index-0309284c.js";import{M as ft}from"./index-6d32dcba.js";import{_ as bt}from"./index-a2cfdf13.js";import{_ as Bs}from"./index-81a07cb9.js";import{T as Os}from"./index-7d2db2fd.js";import{T as Je}from"./isSymbol-d0ec885c.js";import{U as _e}from"./index-5936ec05.js";import{_ as zs}from"./_plugin-vue_export-helper-277b1c3f.js";import"./Grid-1b086c47.js";import"./index-3189b1a9.js";import"./Col-84747301.js";import"./styleChecker-918e9a0f.js";import"./isPlainObject-4659a577.js";import"./vnode-454b4aa7.js";import"./usePrice-bc935b83.js";import"./index-c2bca1e0.js";import"./adminDb-3e7064ba.js";import"./supabaseTableQuery-98b38f56.js";import"./shallowequal-a089597b.js";import"./index-02b92135.js";import"./index-c2776ddf.js";import"./useState-80fd23c9.js";import"./useRefs-0b121885.js";import"./_flatRest-5e9bcb10.js";import"./isMobile-e2e89480.js";import"./omit-e036f60c.js";import"./DialogWrap-930ec585.js";import"./pickAttrs-2e870478.js";import"./FormItemContext-e7b6ca96.js";import"./toArray-592e82ea.js";import"./SearchOutlined-8b990494.js";import"./useMemo-19000d17.js";import"./index-0c08cf04.js";import"./css-aae66f86.js";import"./index-936e9d5d.js";import"./index-9d9cf8fd.js";const _=ve=>(ks("data-v-32ebe4d7"),ve=ve(),ws(),ve),Es={class:"mgmt-page"},Is={class:"mgmt-layout"},Hs={class:"mgmt-chapters"},Ws=_(()=>s("div",{class:"mgmt-chapters__title"},"فصل‌ها",-1)),Ks={key:0,class:"py-10 flex justify-center"},Gs=["onClick"],Js={class:"mgmt-chapters__item-label"},Vs={class:"mgmt-chapters__item-count"},Xs={key:0,class:"text-center text-gray-500 text-sm py-8 px-2"},Qs={class:"mgmt-challenges"},Zs={class:"mgmt-challenges__header"},Ys={class:"m-0 text-base font-semibold"},ea={key:0,class:"text-center text-gray-500 py-16"},ta={key:1,class:"py-16 flex justify-center"},sa={key:2,class:"mgmt-grids"},aa={class:"mgmt-grid-block__label"},la={class:"text-gray-400 font-normal"},oa={class:"mgmt-grid"},ia=["onClick","onKeydown"],na=["onClick"],ua={class:"mgmt-slot__number"},ra=["title"],ca={class:"mgmt-slot__number"},da=_(()=>s("span",{class:"mgmt-slot__hint"},"افزودن",-1)),_a={class:"flex justify-between items-center mb-4"},va=_(()=>s("div",null,[s("h2",{class:"m-0"},"فصل‌های نقشه ماجراجویی"),s("p",{class:"text-sm text-gray-500 m-0 mt-1"},"هر فصل دو اسلاید ۱۵تایی دارد (گرید ۵×۳، حداکثر ۳۰ چالش).")],-1)),ma={key:0,class:"py-16 flex justify-center"},pa={key:1,class:"space-y-3"},ga={class:"flex-1 min-w-0"},ha={class:"font-semibold truncate"},fa={class:"text-sm text-gray-500 truncate"},ba={class:"text-xs text-gray-400 mt-1"},ya={class:"flex gap-2 shrink-0"},ka=_(()=>s("span",null,"ویرایش",-1)),wa=_(()=>s("span",null,"حذف",-1)),xa={key:0,class:"text-center text-gray-500 py-12"},Ca={class:"mgmt-page progress-mgmt-page"},Sa={class:"mgmt-layout"},Ua={class:"mgmt-chapters"},qa=_(()=>s("div",{class:"mgmt-chapters__title"},"فصل‌ها",-1)),$a={key:0,class:"py-10 flex justify-center"},Aa=["onClick"],La={class:"mgmt-chapters__item-label"},Ta={class:"mgmt-chapters__item-count"},Pa=_(()=>s("span",{class:"mgmt-chapters__item-label"},"بدون فصل",-1)),Ma={class:"mgmt-chapters__item-count"},Ra={key:0,class:"text-center text-gray-500 text-sm py-8 px-2"},Da={class:"mgmt-challenges"},Na={class:"mgmt-challenges__header flex flex-wrap items-center justify-between gap-3"},ja={class:"m-0 text-base font-semibold"},Fa={key:0,class:"py-16 flex justify-center"},Ba={key:1,class:"text-center text-gray-500 py-16"},Oa={key:2,class:"mgmt-grids"},za={class:"mgmt-grid-block__label"},Ea={class:"text-gray-400 font-normal"},Ia={class:"mgmt-grid"},Ha=["disabled","onClick"],Wa={class:"progress-slot__number"},Ka=["title"],Ga={class:"progress-slot__stats"},Ja={class:"progress-slot__action"},Va={class:"progress-slot__number"},Xa=_(()=>s("span",{class:"progress-slot__hint"},"خالی",-1)),Qa={class:"space-y-4"},Za={class:"flex flex-wrap items-center justify-between gap-3"},Ya=_(()=>s("div",null,[s("h2",{class:"m-0 text-base font-semibold"},"چالش‌های پیشنهادی کاربران"),s("p",{class:"text-sm text-gray-500 m-0 mt-1"},"پیشنهادهایی که مشترکین برای کدوبلو ارسال کرده‌اند.")],-1)),el={key:1,class:"suggestion-challenge-cell"},tl={class:"suggestion-challenge-cell__title-row"},sl={class:"font-medium"},al=["title","onClick"],ll={key:0,class:"suggestion-challenge-cell__steps"},ol={class:"suggestion-challenge-cell__step-title"},il={class:"suggestion-challenge-cell__step-desc"},nl=["onClick"],ul={key:0,class:"text-xs text-gray-400"},rl={class:"max-w-2xl space-y-4"},cl=_(()=>s("h2",{class:"text-lg font-semibold"},"قوانین چالش‌های کدوبلو",-1)),dl=_(()=>s("p",{class:"text-sm text-gray-600"}," ویدیوی embed آپارات که در مودال «قوانین چالش کدوبلو» به کاربر نمایش داده می‌شود. ",-1)),_l=_(()=>s("div",{class:"mb-1 text-sm text-gray-600"},"کد embed ویدیو قوانین",-1)),vl={class:"space-y-4 relative"},ml={key:0,class:"absolute inset-0 bg-white/60 z-10 flex items-center justify-center"},pl=_(()=>s("div",{class:"mb-1 text-sm text-gray-600"},"عنوان چالش",-1)),gl={class:"grid grid-cols-1 sm:grid-cols-3 gap-4"},hl={class:"sm:col-span-3"},fl=_(()=>s("div",{class:"mb-1 text-sm text-gray-600"},"فصل (نقشه ماجراجویی)",-1)),bl={class:"text-gray-400"},yl={class:"text-xs text-gray-400 mt-1"},kl={key:0},wl=_(()=>s("div",{class:"mb-1 text-sm text-gray-600"},"وضعیت نمایش",-1)),xl={class:"flex items-center gap-2 mt-2"},Cl={class:"text-sm text-gray-600"},Sl=_(()=>s("div",{class:"mb-1 text-sm text-gray-600"},"نوع دسترسی",-1)),Ul=_(()=>s("div",{class:"mb-1 text-sm text-gray-600"},"امتیاز اولین تکمیل",-1)),ql={class:"flex justify-center pb-2"},$l=_(()=>s("div",{class:"mb-1 text-sm text-gray-600"},"عکس کاراکتر (کارت لیست)",-1)),Al={key:0},Ll=_(()=>s("div",null,"آپلود تصویر",-1)),Tl={key:0,class:"mt-1"},Pl={class:"h-2 rounded bg-gray-200 overflow-hidden"},Ml=_(()=>s("div",{class:"section-divider"},null,-1)),Rl={class:"pt-2"},Dl=_(()=>s("div",{class:"mb-2 text-sm text-gray-600 font-semibold"},"مراحل چالش",-1)),Nl={class:"space-y-4"},jl={class:"flex items-center justify-between gap-3"},Fl={class:"font-semibold text-gray-700"},Bl={key:0,class:"text-emerald-600 text-sm font-normal mr-1"},Ol={class:"flex items-center gap-2"},zl=_(()=>s("span",{class:"text-sm text-gray-600"},"ماموریت پایانی",-1)),El=_(()=>s("div",{class:"mb-1 text-xs text-gray-500"},"توضیحات مرحله (اختیاری)",-1)),Il={class:"grid grid-cols-2 gap-3"},Hl=_(()=>s("div",{class:"mb-1 text-xs text-gray-500"},"زمان لازم (دقیقه)",-1)),Wl=_(()=>s("div",{class:"mb-1 text-xs text-gray-500"},"کد embed ویدیو آپارات (اختیاری)",-1)),Kl={class:"space-y-2"},Gl=_(()=>s("div",{class:"mb-1 text-xs text-gray-500"},"وویس کدوبلو (اختیاری)",-1)),Jl={key:0,class:"mt-1"},Vl={class:"h-2 rounded bg-gray-200 overflow-hidden"},Xl={key:1,class:"step-audio-preview"},Ql={class:"flex items-center justify-between mb-2"},Zl=_(()=>s("div",{class:"step-audio-preview__label mb-0"},"پیش‌نمایش وویس کدوبلو",-1)),Yl=["src"],eo=_(()=>s("div",{class:"mb-1 text-xs text-gray-500"},"عکس‌های مرحله (اختیاری)",-1)),to={key:0},so=_(()=>s("div",{class:"text-xs"},"آپلود عکس",-1)),ao=_(()=>s("div",{class:"section-divider"},null,-1)),lo={class:"step-form-box__inner"},oo=_(()=>s("div",{class:"text-xs font-semibold text-gray-600 mb-3"},"آیتم‌های بعد از «بزن بریم»",-1)),io={class:"grid grid-cols-1 sm:grid-cols-2 gap-3"},no={class:"flex items-center gap-2"},uo=_(()=>s("span",{class:"text-sm"},"فیلد بازخورد",-1)),ro={class:"flex items-center gap-2"},co=_(()=>s("span",{class:"text-sm"},"بازخورد اجباری",-1)),_o={class:"flex items-center gap-2"},vo=_(()=>s("span",{class:"text-sm"},"بارگذاری عکس",-1)),mo={class:"flex items-center gap-2"},po=_(()=>s("span",{class:"text-sm"},"عکس اجباری",-1)),go={class:"flex items-center gap-2"},ho=_(()=>s("span",{class:"text-sm"},"ضبط و ارسال ویس",-1)),fo={class:"flex items-center gap-2"},bo=_(()=>s("span",{class:"text-sm"},"ویس اجباری",-1)),yo={class:"flex items-center gap-2"},ko=_(()=>s("span",{class:"text-sm"},"سوال چندگزینه‌ای",-1)),wo={class:"flex items-center gap-2"},xo=_(()=>s("span",{class:"text-sm"},"پاسخ MCQ اجباری",-1)),Co={class:"flex items-center gap-2"},So=_(()=>s("span",{class:"text-sm"},"بخش صوت",-1)),Uo={key:0,class:"space-y-2 border rounded-lg p-3 bg-white"},qo=_(()=>s("div",{class:"mb-1 text-xs text-gray-500"},"عنوان فیلد بازخورد",-1)),$o=_(()=>s("div",{class:"mb-1 text-xs text-gray-500"},"متن پیش‌فرض فیلد بازخورد",-1)),Ao={key:1,class:"space-y-2 border rounded-lg p-3"},Lo=["name","checked","onChange"],To=_(()=>s("span",{class:"text-xs"},"صحیح",-1)),Po={key:2,class:"space-y-2"},Mo=_(()=>s("div",{class:"mb-1 text-xs text-gray-500"},"فایل بخش صوت",-1)),Ro={key:0,class:"mt-1"},Do={class:"h-2 rounded bg-gray-200 overflow-hidden"},No={key:1,class:"step-audio-preview"},jo={class:"flex items-center justify-between mb-2"},Fo=_(()=>s("div",{class:"step-audio-preview__label mb-0"},"پیش‌نمایش بخش صوت",-1)),Bo=["src"],Oo={class:"flex justify-end pt-1"},zo=_(()=>s("span",{class:"text-[#DC2626]"},"حذف مرحله",-1)),Eo=_(()=>s("span",{class:"text-gray-500"},"+ افزودن مرحله",-1)),Io={class:"space-y-4"},Ho=_(()=>s("div",{class:"mb-1 text-sm text-gray-600"},"عنوان فصل",-1)),Wo=_(()=>s("div",{class:"mb-1 text-sm text-gray-600"},"زیرعنوان",-1)),Ko={class:"grid grid-cols-1 sm:grid-cols-2 gap-4"},Go=_(()=>s("div",{class:"mb-1 text-sm text-gray-600"},"تم رنگی جزیره",-1)),Jo=_(()=>s("div",{class:"mb-1 text-sm text-gray-600"},"ترتیب",-1)),Vo={class:"flex items-center gap-2"},Xo={class:"text-sm text-gray-600"},Qo=_(()=>s("div",{class:"mb-1 text-sm text-gray-600"},"تصویر فصل (اختیاری)",-1)),Zo={key:0},Yo=_(()=>s("div",null,"آپلود تصویر",-1)),ei={key:0,class:"mt-1"},ti={class:"h-2 rounded bg-gray-200 overflow-hidden"},si=_(()=>s("div",{class:"text-xs text-gray-400 mt-1"},"اگر خالی باشد، تصویر تم انتخاب‌شده استفاده می‌شود.",-1)),ai={class:"text-sm text-gray-500 mb-2"},li={class:"whitespace-pre-wrap leading-7 text-gray-800"},Pe=30,Me=15,Ve=80,oi=gs({__name:"index",setup(ve){const yt=ht,ae=ht.TabPane,Re=bt,D=bt.Option,kt=hs(),wt=fs(),E=m(kt.query.tab==="progress"?"progress":"challenges"),le=m(!1),G=m(!1),J=m(null),me=m(null),De=m(!1),pe=m({rules_aparat_embed_code:""}),Ne=m(!1),je=m(""),Xe=m([]),oe=m(1),ie=m(20),Qe=m(0),V=m({}),ge=m(!1),Fe=m(""),Be=m(""),xt=[{title:"ردیف",key:"row",width:70,align:"center"},{title:"نام",dataIndex:"user_name",key:"user_name",width:160},{title:"موبایل",dataIndex:"user_phone",key:"user_phone",width:140},{title:"چالش پیشنهادی",key:"challenge"}],Ct=W(()=>({current:oe.value,pageSize:ie.value,total:Qe.value,showSizeChanger:!0,showTotal:e=>`${e} مورد`})),he=m(!1),X=m([]),N=m(null),L=m(null),Oe=m(!1),fe=m([]),Q=m([]),ne=m({}),ze=m({}),Z=m({}),Y=m({}),T=m(0),I=m(0),Ee=()=>({description:"",duration_minutes:0,aparat_embed_code:"",kodoblu_voice_url:"",step_images:[],is_final_step:!1,enable_feedback_text:!1,require_feedback_text:!1,feedback_text_title:"بازخورد این مرحله",feedback_text_placeholder:"بازخورد خود را بنویس...",enable_photo_upload:!1,require_photo_upload:!1,enable_voice_upload:!1,require_voice_upload:!1,enable_mcq:!1,require_mcq:!1,mcq_question:"",mcq_options:["",""],mcq_correct_index:0,enable_audio_section:!1,audio_section_url:"",punishment_description:"",requires_photo_upload:!1}),g=m({title:"",character_image_url:null,show:!1,access_type:"subscription",sort_order:0,completion_points:50,chapter_id:null,steps:[Ee()]}),q=m([]),ue=m(!1),re=m({}),ce=m(!1),be=m(!1),ye=m(null),S=m({title:"",subtitle:"",theme_key:"meadow",cover_image_url:null,sort_order:0,show:!0}),O=m([]),F=m(0),Ze={meadow:"خانه کدوبلو",cottage:"کافه پفی",forest:"باغ میلا",desert:"کارگاه پیتو",winter:"خانه آرامان",castle:"میدان شهر",tree:"درخت پیرین"};function St(e){return e&&e in Ze?Ze[e]:e||"-"}const Ye=W(()=>q.value.find(e=>e.id===L.value)||null),Ut=W(()=>{if(N.value===0)return"چالش‌های بدون فصل";const e=q.value.find(a=>a.id===N.value);return e?`چالش‌های ${e.title}`:"یک فصل انتخاب کنید"}),et=W(()=>{const e={0:0};for(const a of q.value)a.id&&(e[a.id]=0);for(const a of X.value){const l=a.chapter_id??0;e[l]=(e[l]||0)+1}return e}),tt=W(()=>N.value===null?[]:N.value===0?X.value.filter(e=>e.chapter_id==null):X.value.filter(e=>e.chapter_id===N.value)),qt=W(()=>At(fe.value)),$t=W(()=>Lt(tt.value));function At(e){const a=Array.from({length:Pe},()=>null),l=new Set;for(const u of e){const d=Number(u.sort_order);d>=1&&d<=Pe&&!a[d-1]&&(a[d-1]=u,l.add(u.id))}for(const u of e){if(l.has(u.id))continue;const d=a.findIndex(f=>f===null);if(d<0)break;a[d]=u,l.add(u.id)}return a.map((u,d)=>({slotNumber:d+1,challenge:u}))}function Lt(e){const a=Array.from({length:Pe},()=>null),l=new Set;for(const u of e){const d=Number(u.sort_order);d>=1&&d<=Pe&&!a[d-1]&&(a[d-1]=u,l.add(u.id))}for(const u of e){if(l.has(u.id))continue;const d=a.findIndex(f=>f===null);if(d<0)break;a[d]=u,l.add(u.id)}return a.map((u,d)=>({slotNumber:d+1,challenge:u}))}function Tt(e){const a=e*Me;return qt.value.slice(a,a+Me)}function Pt(e){const a=e*Me;return $t.value.slice(a,a+Me)}async function z(){var e;ue.value=!0;try{const a=await Ss();q.value=a;const l={};await Promise.all(q.value.map(async u=>{u.id&&(l[u.id]=await Us(u.id))})),re.value=l,!L.value&&q.value.length?L.value=q.value[0].id:L.value&&!q.value.some(u=>u.id===L.value)&&(L.value=((e=q.value[0])==null?void 0:e.id)??null),L.value?await Ie(L.value):fe.value=[]}catch(a){y.error(a.message||"خطا در بارگذاری فصل‌ها")}finally{ue.value=!1}}async function Ie(e){Oe.value=!0;try{fe.value=await qs(e)}catch(a){y.error(a.message||"خطا در بارگذاری چالش‌های فصل"),fe.value=[]}finally{Oe.value=!1}}async function Mt(e){L.value=e,await Ie(e)}function st(e){if(e.challenge){Yt(e.challenge);return}Rt(e.slotNumber)}function Rt(e){if(!L.value){y.warning("ابتدا یک فصل انتخاب کنید");return}G.value=!1,J.value=null,me.value=null,ut(),g.value.chapter_id=L.value,g.value.sort_order=e,g.value.show=!0,le.value=!0}function at(){S.value={title:"",subtitle:"",theme_key:"meadow",cover_image_url:null,sort_order:(q.value.length||0)+1,show:!0},O.value=[],F.value=0}function Dt(){be.value=!1,ye.value=null,at(),ce.value=!0}function Nt(e){be.value=!0,ye.value=e.id||null,S.value={title:e.title||"",subtitle:e.subtitle||"",theme_key:e.theme_key||"meadow",cover_image_url:B(e.cover_image_url)||null,sort_order:e.sort_order||0,show:e.show!==!1},e.cover_image_url?O.value=[{uid:`${Date.now()}`,name:"chapter.jpg",status:"done",url:te(e.cover_image_url)}]:O.value=[],F.value=0,ce.value=!0}function lt(){ce.value=!1,at()}async function jt(){if(!S.value.title.trim()){y.error("عنوان فصل الزامی است");return}try{const e={title:S.value.title.trim(),subtitle:S.value.subtitle.trim()||null,theme_key:S.value.theme_key,cover_image_url:S.value.cover_image_url||null,sort_order:Number(S.value.sort_order)||0,show:S.value.show};be.value&&ye.value?(await gt(ye.value,e),y.success("فصل ویرایش شد")):(await $s(e),y.success("فصل اضافه شد")),lt(),await z()}catch(e){y.error(e.message||"خطا در ذخیره فصل")}}async function Ft(e){e.id&&(await gt(e.id,{show:!e.show}),y.success(e.show?"فصل مخفی شد":"فصل نمایش داده می‌شود"),await z())}async function Bt(e){e.id&&ft.confirm({title:"حذف فصل",content:"با حذف فصل، چالش‌های آن بدون فصل می‌مانند. ادامه می‌دهید؟",okText:"بله",cancelText:"خیر",onOk:async()=>{await Ds(e.id),y.success("فصل حذف شد"),await z()}})}async function Ot(e){e!=null&&e.id&&ft.confirm({title:"حذف چالش",content:`چالش «${e.title}» و تمام مراحل و پیشرفت کاربران آن حذف می‌شود. ادامه می‌دهید؟`,okText:"حذف",okType:"danger",cancelText:"انصراف",onOk:async()=>{try{await Ns(e.id),y.success("چالش حذف شد"),J.value===e.id&&Ke(),L.value&&await Ie(L.value),await z(),X.value.length&&await $e()}catch(a){throw y.error(a.message||"خطا در حذف چالش"),a}}})}function ke(e){return{width:`${Math.max(0,Math.min(100,e))}%`}}function we(){return xs()||localStorage.getItem("tamin_token")||localStorage.getItem("token")||""}function xe(e){var l,u,d,f;const a=e.full_src||e.url||e.src||e.path||((l=e.data)==null?void 0:l.full_src)||((u=e.data)==null?void 0:u.url)||((d=e.data)==null?void 0:d.src)||((f=e.data)==null?void 0:f.path)||"";return B(String(a||""))}function Ce(e,a,l){const u=[...g.value.steps];u[e]={...u[e],[a]:l},g.value.steps=u}function j(e,a){return`${e}:${a}`}function He(e,a){return ne.value[j(e,a)]||[]}function ee(e,a){return ze.value[j(e,a)]||0}function Se(e,a,l){ze.value[j(e,a)]=l}function Ue(e){return e?e.startsWith("http://")||e.startsWith("https://")?e:Fs(e):""}function zt(e,a){return Z.value[j(e,a)]||""}function H(e,a){const l=j(e,a),u=Z.value[l];u&&(URL.revokeObjectURL(u),delete Z.value[l])}function Et(){Object.values(Z.value).forEach(e=>URL.revokeObjectURL(e)),Z.value={}}function de(e,a,l){const u=zt(e,a);if(u)return u;if(l!=null&&l.trim())return Ue(l);const d=He(e,a)[0];return(d==null?void 0:d.url)||""}function ot(e,a,l){return!!de(e,a,l)}function It(){Et(),ne.value={},ze.value={}}function Ht(){Y.value={}}function We(e){return Y.value[e]||[]}function it(){const e={};g.value.steps.forEach((a,l)=>{const u=(a.step_images||[]).filter(Boolean);u.length&&(e[l]=u.map((d,f)=>({uid:`step-image-${l}-${f}`,name:`image-${f+1}.jpg`,status:"done",url:te(d),response:{path:B(d)||d}})))}),Y.value=e}function nt(){const e={};g.value.steps.forEach((a,l)=>{a.audio_section_url&&(e[j(l,"audio_section_url")]=[{uid:`audio-section-${l}`,name:"audio-section.mp3",status:"done",url:Ue(a.audio_section_url)}]),a.kodoblu_voice_url&&(e[j(l,"kodoblu_voice_url")]=[{uid:`kodoblu-voice-${l}`,name:"kodoblu-voice.mp3",status:"done",url:Ue(a.kodoblu_voice_url)}])}),ne.value=e}function qe(e,a){H(e,a),Ce(e,a,""),ne.value[j(e,a)]=[]}function Wt(e,a){var d,f;const l=B(((d=a.response)==null?void 0:d.path)||a.url||""),u=((f=g.value.steps[e])==null?void 0:f.step_images)||[];Ce(e,"step_images",u.filter(k=>B(k)!==l)),Y.value[e]=(Y.value[e]||[]).filter(k=>k.uid!==a.uid)}function ut(){g.value={title:"",character_image_url:null,show:!1,access_type:"subscription",sort_order:0,completion_points:50,chapter_id:null,steps:[Ee()]},Q.value=[],It(),Ht()}function Ke(){le.value=!1,G.value=!1,J.value=null,me.value=null,ut()}function Kt(){g.value.steps.push(Ee())}function Gt(e){g.value.steps.length<=1||(H(e,"kodoblu_voice_url"),H(e,"audio_section_url"),g.value.steps.splice(e,1),nt(),it())}async function $e(){var e;he.value=!0;try{X.value=await As(),N.value===null&&(N.value=((e=q.value[0])==null?void 0:e.id)??0)}catch(a){y.error(a.message||"خطا در بارگذاری پیشرفت چالش‌ها")}finally{he.value=!1}}function rt(e){N.value=e}function Jt(){S.value.cover_image_url=null,O.value=[]}async function Vt(e){const{file:a,onSuccess:l,onError:u,onProgress:d}=e,f=new FormData;f.append("file",a);const k=`${Te}/upload/machartaa-img`;F.value=0,T.value++,await new Promise((U,P)=>{const h=new XMLHttpRequest;h.open("POST",k),h.setRequestHeader("Authorization",`Bearer ${we()}`),h.upload.onprogress=t=>{if(t.lengthComputable){const o=Math.round(t.loaded/t.total*100);F.value=o,d==null||d({percent:o})}},h.onload=()=>{if(F.value=100,h.status>=200&&h.status<300)try{const t=JSON.parse(h.responseText||"{}"),o=xe(t);if(!o)throw new Error("مسیر فایل از سرور دریافت نشد");const n=te(o);S.value.cover_image_url=o,O.value=n?[{uid:`${Date.now()}`,name:"chapter.jpg",status:"done",url:n,response:{path:o}}]:[],l==null||l(t,h),y.success("تصویر فصل آپلود شد"),U()}catch(t){u==null||u(t,h),P(t)}else{const t=new Error("خطا در آپلود تصویر فصل");u==null||u(t,h),P(t)}},h.onerror=()=>{u==null||u(new Error("خطا در آپلود تصویر فصل!"),h),P(new Error("خطا در آپلود تصویر فصل!"))},h.onloadend=()=>{T.value=Math.max(0,T.value-1),F.value=0},h.send(f)})}function Xt(e){wt.push({name:"stepChallengeFeedback",params:{challengeId:e}})}function Ge(e){return e.type.startsWith("image/")?e.size/1024/1024<5?!0:(y.error("حجم تصویر باید کمتر از 5MB باشد!"),!1):(y.error("فقط فایل‌های تصویری قابل آپلود هستند!"),!1)}async function Qt(e){const{file:a,onSuccess:l,onError:u,onProgress:d}=e,f=new FormData;f.append("file",a);const k=`${Te}/upload/machartaa-img`;I.value=0,T.value++,await new Promise((U,P)=>{const h=new XMLHttpRequest;h.open("POST",k),h.setRequestHeader("Authorization",`Bearer ${we()}`),h.upload.onprogress=t=>{if(t.lengthComputable){const o=Math.round(t.loaded/t.total*100);I.value=o,d==null||d({percent:o})}},h.onload=()=>{if(I.value=100,h.status>=200&&h.status<300)try{const t=JSON.parse(h.responseText||"{}"),o=xe(t);if(!o)throw new Error("مسیر فایل از سرور دریافت نشد");const n=te(o);g.value.character_image_url=o,Q.value=n?[{uid:`${Date.now()}`,name:"image.jpg",status:"done",url:n,response:{path:o}}]:[],l==null||l(t,h),y.success("تصویر با موفقیت آپلود شد!"),U()}catch(t){u==null||u(t,h),P(t)}else{const t=new Error("خطا در آپلود تصویر");u==null||u(t,h),P(t)}},h.onerror=()=>{u==null||u(new Error("خطا در آپلود تصویر!"),h),P(new Error("خطا در آپلود تصویر!"))},h.onloadend=()=>{T.value=Math.max(0,T.value-1),I.value=0},h.send(f)})}async function Zt(e,a){const{file:l,onSuccess:u,onError:d,onProgress:f}=e,k=new FormData;k.append("file",l);const U=`${Te}/upload/machartaa-img`;T.value++,await new Promise((P,h)=>{const t=new XMLHttpRequest;t.open("POST",U),t.setRequestHeader("Authorization",`Bearer ${we()}`),t.upload.onprogress=o=>{o.lengthComputable&&(f==null||f({percent:Math.round(o.loaded/o.total*100)}))},t.onload=()=>{var o;if(t.status>=200&&t.status<300)try{const n=JSON.parse(t.responseText||"{}"),x=xe(n);if(!x)throw new Error("مسیر تصویر از سرور دریافت نشد");const A=[...((o=g.value.steps[a])==null?void 0:o.step_images)||[],x];Ce(a,"step_images",A);const vt={uid:`${Date.now()}-${a}`,name:l.name||"image.jpg",status:"done",url:te(x),response:{path:x}};Y.value[a]=[...We(a),vt],u==null||u(n,t),y.success("عکس مرحله با موفقیت آپلود شد!"),P()}catch(n){d==null||d(n,t),h(n)}else{const n=new Error("خطا در آپلود عکس مرحله");d==null||d(n,t),h(n)}},t.onerror=()=>{d==null||d(new Error("خطا در آپلود عکس مرحله!"),t),h(new Error("خطا در آپلود عکس مرحله!"))},t.onloadend=()=>{T.value=Math.max(0,T.value-1)},t.send(k)})}function ct(e){return e.type.startsWith("audio/")?e.size/1024/1024<60?!0:(y.error("حجم فایل صوتی باید کمتر از 60MB باشد!"),!1):(y.error("فقط فایل‌های صوتی قابل آپلود هستند!"),!1)}async function dt(e,a,l){const{file:u,onSuccess:d,onError:f,onProgress:k}=e,U=new FormData;U.append("file",u);const P=`${Te}/upload/machartaa-audio`;H(a,l),Z.value[j(a,l)]=URL.createObjectURL(u),Se(a,l,0),T.value++,await new Promise((h,t)=>{const o=new XMLHttpRequest;o.open("POST",P),o.setRequestHeader("Authorization",`Bearer ${we()}`),o.timeout=15*60*1e3,o.upload.onprogress=n=>{if(n.lengthComputable){const x=Math.round(n.loaded/n.total*100);Se(a,l,x),k==null||k({percent:x})}},o.onload=()=>{if(Se(a,l,100),o.status>=200&&o.status<300)try{const n=JSON.parse(o.responseText||"{}"),x=xe(n);if(!x)throw new Error("مسیر فایل صوتی از سرور دریافت نشد");H(a,l),Ce(a,l,x);const A=Ue(x);ne.value[j(a,l)]=A?[{uid:`${Date.now()}`,name:u.name||"audio.mp3",status:"done",url:A,response:{path:x}}]:[],d==null||d(n,o),y.success("فایل صوتی با موفقیت آپلود شد!"),h()}catch(n){f==null||f(n,o),t(n)}else{H(a,l);const n=new Error("خطا در آپلود فایل صوتی");f==null||f(n,o),t(n)}},o.onerror=()=>{H(a,l),f==null||f(new Error("خطا در آپلود فایل صوتی!"),o),t(new Error("خطا در آپلود فایل صوتی!"))},o.onloadend=()=>{T.value=Math.max(0,T.value-1),Se(a,l,0)},o.send(U)})}async function Yt(e){try{const a=await js(e.id);G.value=!0,J.value=e.id,me.value=a.chapter_id??null,g.value={title:a.title,character_image_url:B(a.character_image_url),show:!!a.show,access_type:a.access_type==="subscription"?"subscription":"free",sort_order:a.sort_order||0,completion_points:a.completion_points??50,chapter_id:a.chapter_id??null,steps:(a.steps||[]).map(l=>({id:l.id,description:l.description||"",duration_minutes:l.duration_minutes!=null?Number(l.duration_minutes):Math.round((Number(l.duration_seconds)||0)/60),aparat_embed_code:l.aparat_embed_code||"",kodoblu_voice_url:l.kodoblu_voice_url||"",step_images:Array.isArray(l.step_images)?[...l.step_images]:[],is_final_step:!!l.is_final_step,enable_feedback_text:!!l.enable_feedback_text,require_feedback_text:!!l.require_feedback_text,feedback_text_title:l.feedback_text_title||"بازخورد این مرحله",feedback_text_placeholder:l.feedback_text_placeholder||"بازخورد خود را بنویس...",enable_photo_upload:!!(l.enable_photo_upload??l.requires_photo_upload),require_photo_upload:l.require_photo_upload!=null?!!l.require_photo_upload:!l.enable_photo_upload&&!!l.requires_photo_upload,enable_voice_upload:!!l.enable_voice_upload,require_voice_upload:!!l.require_voice_upload,enable_mcq:!!l.enable_mcq,require_mcq:!!l.require_mcq,mcq_question:l.mcq_question||"",mcq_options:Array.isArray(l.mcq_options)&&l.mcq_options.length?[...l.mcq_options]:["",""],mcq_correct_index:Number(l.mcq_correct_index??0),enable_audio_section:!!l.enable_audio_section,audio_section_url:l.audio_section_url||"",punishment_description:l.punishment_description||"",requires_photo_upload:l.require_photo_upload!=null?!!l.require_photo_upload:!l.enable_photo_upload&&!!l.requires_photo_upload}))},a.character_image_url&&(Q.value=[{uid:`${Date.now()}`,name:"image.jpg",status:"done",url:te(a.character_image_url)}]),nt(),it(),le.value=!0}catch(a){y.error(a.message||"خطا در بارگذاری چالش")}}async function es(){var e;De.value=!0;try{await Ls({rules_aparat_embed_code:((e=pe.value.rules_aparat_embed_code)==null?void 0:e.trim())||null}),y.success("تنظیمات ذخیره شد")}catch(a){y.error(a.message||"خطا در ذخیره تنظیمات")}finally{De.value=!1}}async function ts(){try{const e=await Ts();pe.value.rules_aparat_embed_code=(e==null?void 0:e.rules_aparat_embed_code)||""}catch(e){y.error(e.message||"خطا در بارگذاری تنظیمات")}}function ss(e){return(oe.value-1)*ie.value+e+1}function as(e){const a=(e||"").trim();return a.length<=Ve?a:`${a.slice(0,Ve)}`}function ls(e){return(e||"").trim().length>Ve}function os(e){V.value={...V.value,[e]:!V.value[e]}}function is(e,a){Fe.value=e||"",Be.value=a||"توضیحات کامل",ge.value=!0}function ns(){ge.value=!1,Fe.value="",Be.value=""}async function Ae(){Ne.value=!0;try{const{rows:e,total:a}=await Ps({page:oe.value,pageSize:ie.value,search:je.value});Xe.value=e,Qe.value=a}catch(e){y.error(e.message||"خطا در بارگذاری چالش‌های پیشنهادی")}finally{Ne.value=!1}}function _t(){oe.value=1,Ae()}function us(e){oe.value=(e==null?void 0:e.current)||1,ie.value=(e==null?void 0:e.pageSize)||ie.value,Ae()}bs(E,e=>{e==="progress"&&(z(),X.value.length||$e()),(e==="chapters"||e==="challenges")&&z(),e==="suggestions"&&Ae()}),ys(()=>{ts(),z(),E.value==="progress"&&$e(),E.value==="suggestions"&&Ae()});async function rs(){if(!g.value.title.trim()){y.error("عنوان چالش الزامی است");return}if(T.value>0){y.warning("لطفاً تا پایان آپلود فایل‌ها صبر کنید");return}if(g.value.chapter_id){const e=re.value[g.value.chapter_id]||0;if(!(G.value&&me.value===g.value.chapter_id)&&e>=30){y.error("این فصل ظرفیت کامل دارد (حداکثر ۳۰ چالش / ۲ اسلاید)");return}}try{const e={...g.value,chapter_id:g.value.chapter_id??null,sort_order:Number(g.value.sort_order)||0,completion_points:Number(g.value.completion_points)||50,steps:g.value.steps.map(a=>{var l,u;return{...a,kodoblu_voice_url:B((l=a.kodoblu_voice_url)==null?void 0:l.trim())||"",audio_section_url:B((u=a.audio_section_url)==null?void 0:u.trim())||"",step_images:(a.step_images||[]).map(d=>B(d)||d).filter(Boolean)}})};G.value&&J.value?(await Ms(J.value,e),y.success("چالش ویرایش شد")):(await Rs(e,null),y.success("چالش اضافه شد")),Ke(),await z()}catch(e){y.error(e.message||"خطا در ذخیره چالش")}}return(e,a)=>{const l=ps,u=Bs,d=Os,f=ms,k=vs,U=_s,P=ds,h=cs;return r(),c("div",{class:K(["step-challenges-page",{"step-challenges-page--mgmt":E.value==="challenges"||E.value==="progress"}])},[i(h,null,{default:v(()=>[i(b(yt),{activeKey:E.value,"onUpdate:activeKey":a[3]||(a[3]=t=>E.value=t),class:"step-challenges-tabs"},{default:v(()=>[i(b(ae),{key:"challenges",tab:"مدیریت چالش‌ها"},{default:v(()=>[s("div",Es,[s("div",Is,[s("aside",Hs,[Ws,ue.value?(r(),c("div",Ks,[i(b(se))])):(r(),c($,{key:1},[(r(!0),c($,null,R(q.value,(t,o)=>(r(),c("button",{key:t.id,type:"button",class:K(["mgmt-chapters__item",{"mgmt-chapters__item--active":L.value===t.id}]),onClick:n=>Mt(t.id)},[s("span",Js,p(t.title||`فصل ${o+1}`),1),s("span",Vs,p(re.value[t.id]||0)+"/۳۰",1)],10,Gs))),128)),q.value.length?C("",!0):(r(),c("div",Xs," هنوز فصلی تعریف نشده است. از تب «مدیریت فصل‌ها» اضافه کنید. "))],64))]),s("section",Qs,[s("div",Zs,[s("h2",Ys,p(Ye.value?`چالش‌های ${Ye.value.title}`:"یک فصل انتخاب کنید"),1)]),L.value?Oe.value?(r(),c("div",ta,[i(b(se),{size:"large"})])):(r(),c("div",sa,[(r(),c($,null,R(2,t=>s("div",{key:t,class:"mgmt-grid-block"},[s("div",aa,[w(" اسلاید "+p(t)+" ",1),s("span",la," (چالش "+p((t-1)*15+1)+" تا "+p(t*15)+" · ۵×۳) ",1)]),s("div",oa,[(r(!0),c($,null,R(Tt(t-1),o=>(r(),c("div",{key:o.slotNumber,class:K(["mgmt-slot",{"mgmt-slot--filled":!!o.challenge,"mgmt-slot--empty":!o.challenge}]),role:"button",tabindex:"0",onClick:n=>st(o),onKeydown:Cs(mt(n=>st(o),["prevent"]),["enter"])},[o.challenge?(r(),c($,{key:0},[s("button",{type:"button",class:"mgmt-slot__delete",title:"حذف چالش",onClick:mt(n=>Ot(o.challenge),["stop"])},[i(M,{icon:"vuesax-linear:trash"})],8,na),i(M,{icon:"vuesax-linear:edit",class:"mgmt-slot__icon"}),s("span",ua,p(o.slotNumber),1),s("span",{class:"mgmt-slot__title",title:o.challenge.title},p(o.challenge.title),9,ra)],64)):(r(),c($,{key:1},[i(M,{icon:"vuesax-linear:add",class:"mgmt-slot__icon"}),s("span",ca,p(o.slotNumber),1),da],64))],42,ia))),128))])])),64))])):(r(),c("div",ea," از باکس سمت راست یک فصل را انتخاب کنید. "))])])])]),_:1}),i(b(ae),{key:"chapters",tab:"مدیریت فصل‌ها"},{default:v(()=>[s("div",_a,[va,i(l,{type:"primary",onClick:Dt},{default:v(()=>[w("افزودن فصل")]),_:1})]),ue.value?(r(),c("div",ma,[i(b(se),{size:"large"})])):(r(),c("div",pa,[(r(!0),c($,null,R(q.value,t=>(r(),c("div",{key:t.id,class:"chapter-admin-card"},[s("div",ga,[s("div",ha,p(t.title),1),s("div",fa,p(t.subtitle||"بدون زیرعنوان"),1),s("div",ba," تم: "+p(St(t.theme_key))+" · ترتیب: "+p(t.sort_order??0)+" · "+p(t.show?"نمایش":"مخفی")+" · "+p(re.value[t.id]||0)+" چالش ",1)]),s("div",ya,[i(b(Je),{class:"cursor-pointer"},{title:v(()=>[s("span",null,p(t.show?"مخفی کردن":"نمایش"),1)]),default:v(()=>[i(M,{icon:t.show?"vuesax-linear:eye-slash":"vuesax-linear:eye",color:t.show?"#F59E0B":"#16A34A",onClick:o=>Ft(t)},null,8,["icon","color","onClick"])]),_:2},1024),i(b(Je),{class:"cursor-pointer"},{title:v(()=>[ka]),default:v(()=>[i(M,{icon:"vuesax-linear:edit",color:"#1D4ED8",onClick:o=>Nt(t)},null,8,["onClick"])]),_:2},1024),i(b(Je),{class:"cursor-pointer"},{title:v(()=>[wa]),default:v(()=>[i(M,{icon:"vuesax-linear:trash",color:"#DC2626",onClick:o=>Bt(t)},null,8,["onClick"])]),_:2},1024)])]))),128)),q.value.length?C("",!0):(r(),c("div",xa," هنوز فصلی تعریف نشده است. "))]))]),_:1}),i(b(ae),{key:"progress",tab:"پیشرفت کاربران"},{default:v(()=>[s("div",Ca,[s("div",Sa,[s("aside",Ua,[qa,ue.value?(r(),c("div",$a,[i(b(se))])):(r(),c($,{key:1},[(r(!0),c($,null,R(q.value,(t,o)=>(r(),c("button",{key:t.id,type:"button",class:K(["mgmt-chapters__item",{"mgmt-chapters__item--active":N.value===t.id}]),onClick:n=>rt(t.id)},[s("span",La,p(t.title||`فصل ${o+1}`),1),s("span",Ta,p(et.value[t.id]||0),1)],10,Aa))),128)),s("button",{type:"button",class:K(["mgmt-chapters__item",{"mgmt-chapters__item--active":N.value===0}]),onClick:a[0]||(a[0]=t=>rt(0))},[Pa,s("span",Ma,p(et.value[0]||0),1)],2),q.value.length?C("",!0):(r(),c("div",Ra," هنوز فصلی تعریف نشده است. "))],64))]),s("section",Da,[s("div",Na,[s("h2",ja,p(Ut.value),1),i(l,{type:"dashed",size:"small",loading:he.value,onClick:$e},{default:v(()=>[w(" بروزرسانی ")]),_:1},8,["loading"])]),he.value?(r(),c("div",Fa,[i(b(se),{size:"large"})])):tt.value.length?(r(),c("div",Oa,[(r(),c($,null,R(2,t=>s("div",{key:t,class:"mgmt-grid-block"},[s("div",za,[w(" اسلاید "+p(t)+" ",1),s("span",Ea," (چالش "+p((t-1)*15+1)+" تا "+p(t*15)+" · ۵×۳) ",1)]),s("div",Ia,[(r(!0),c($,null,R(Pt(t-1),o=>(r(),c("button",{key:o.slotNumber,type:"button",class:K(["progress-slot",{"progress-slot--filled":!!o.challenge,"progress-slot--empty":!o.challenge}]),disabled:!o.challenge,onClick:n=>o.challenge&&Xt(o.challenge.id)},[o.challenge?(r(),c($,{key:0},[s("span",Wa,p(o.slotNumber),1),s("span",{class:"progress-slot__title",title:o.challenge.title},p(o.challenge.title),9,Ka),s("div",Ga,[s("span",null,p(o.challenge.unique_users_count)+" کاربر",1),s("span",null,p(o.challenge.times_performed)+" بار",1)]),s("span",Ja,[w(" بازخوردها "),i(M,{icon:"vuesax-linear:arrow-left"})])],64)):(r(),c($,{key:1},[s("span",Va,p(o.slotNumber),1),Xa],64))],10,Ha))),128))])])),64))])):(r(),c("div",Ba," چالشی در این فصل وجود ندارد. "))])])])]),_:1}),i(b(ae),{key:"suggestions",tab:"چالش‌های پیشنهادی"},{default:v(()=>[s("div",Qa,[s("div",Za,[Ya,i(u,{value:je.value,"onUpdate:value":a[1]||(a[1]=t=>je.value=t),placeholder:"جستجو بر اساس نام، موبایل یا عنوان","allow-clear":"",class:"max-w-sm",onSearch:_t,onPressEnter:_t},null,8,["value"])]),i(d,{columns:xt,"data-source":Xe.value,loading:Ne.value,pagination:Ct.value,"row-key":"id",bordered:"",size:"middle",onChange:us},{bodyCell:v(({column:t,record:o,index:n})=>{var x;return[t.key==="row"?(r(),c($,{key:0},[w(p(ss(n)),1)],64)):t.key==="challenge"?(r(),c("div",el,[s("div",tl,[s("span",sl,p(o.title),1),s("button",{type:"button",class:"suggestion-challenge-cell__toggle",title:V.value[o.id]?"بستن مراحل":"نمایش مراحل",onClick:A=>os(o.id)},[i(M,{icon:V.value[o.id]?"vuesax-linear:arrow-up-1":"vuesax-linear:arrow-downره"},null,8,["icon"])],8,al)]),V.value[o.id]?(r(),c("div",ll,[(r(!0),c($,null,R(o.steps,A=>(r(),c("div",{key:A.id,class:"suggestion-challenge-cell__step"},[s("div",ol," مرحله "+p(A.step_order),1),s("div",il,[s("span",null,p(as(A.description)),1),ls(A.description)?(r(),c("button",{key:0,type:"button",class:"suggestion-challenge-cell__more",onClick:vt=>is(A.description,`مرحله ${A.step_order} — ${o.title}`)}," ... ",8,nl)):C("",!0)])]))),128)),(x=o.steps)!=null&&x.length?C("",!0):(r(),c("div",ul," مرحله‌ای ثبت نشده است. "))])):C("",!0)])):C("",!0)]}),_:1},8,["data-source","loading","pagination"])])]),_:1}),i(b(ae),{key:"settings",tab:"تنظیمات صفحه"},{default:v(()=>[s("div",rl,[cl,dl,s("div",null,[_l,i(f,{value:pe.value.rules_aparat_embed_code,"onUpdate:value":a[2]||(a[2]=t=>pe.value.rules_aparat_embed_code=t),placeholder:"کد embed از آپارات",rows:4},null,8,["value"])]),i(l,{type:"primary",loading:De.value,onClick:es},{default:v(()=>[w(" ذخیره تنظیمات ")]),_:1},8,["loading"])])]),_:1})]),_:1},8,["activeKey"]),i(P,{visible:le.value,"onUpdate:visible":a[10]||(a[10]=t=>le.value=t),title:G.value?"ویرایش چالش":"افزودن چالش",onOk:rs,onCancel:Ke,width:"85%",confirmLoading:T.value>0},{default:v(()=>[s("div",vl,[T.value>0?(r(),c("div",ml,[i(b(se),{size:"large"})])):C("",!0),s("div",null,[pl,i(k,{value:g.value.title,"onUpdate:value":a[4]||(a[4]=t=>g.value.title=t),placeholder:"عنوان چالش"},null,8,["value"])]),s("div",gl,[s("div",hl,[fl,i(b(Re),{value:g.value.chapter_id,"onUpdate:value":a[5]||(a[5]=t=>g.value.chapter_id=t),class:"w-full","allow-clear":"",placeholder:"انتخاب فصل"},{default:v(()=>[(r(!0),c($,null,R(q.value,t=>(r(),pt(b(D),{key:t.id,value:t.id},{default:v(()=>[w(p(t.title)+" ",1),s("span",bl," ("+p(re.value[t.id]||0)+"/۳۰) ",1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"]),s("div",yl,[w(" ترتیب نمایش از جایگاه گرید (چالش ۱ تا ۳۰) مشخص می‌شود. "),g.value.sort_order?(r(),c("span",kl," جایگاه فعلی: چالش "+p(g.value.sort_order),1)):C("",!0)])]),s("div",null,[wl,s("div",xl,[i(U,{value:g.value.show,"onUpdate:value":a[6]||(a[6]=t=>g.value.show=t)},null,8,["value"]),s("span",Cl,p(g.value.show?"نمایش":"مخفی"),1)])]),s("div",null,[Sl,i(b(Re),{value:g.value.access_type,"onUpdate:value":a[7]||(a[7]=t=>g.value.access_type=t),class:"w-full"},{default:v(()=>[i(b(D),{value:"free"},{default:v(()=>[w("رایگان (همه کاربران)")]),_:1}),i(b(D),{value:"subscription"},{default:v(()=>[w("اشتراکی (فقط اشتراک فعال)")]),_:1})]),_:1},8,["value"])]),s("div",null,[Ul,i(k,{value:g.value.completion_points,"onUpdate:value":a[8]||(a[8]=t=>g.value.completion_points=t),type:"number",min:"0",placeholder:"50"},null,8,["value"])])]),s("div",ql,[s("div",null,[$l,i(b(_e),{"file-list":Q.value,"onUpdate:fileList":a[9]||(a[9]=t=>Q.value=t),"before-upload":Ge,"custom-request":Qt,accept:"image/jpeg,image/png,image/webp,image/gif,image/heic,image/heif,.jpg,.jpeg,.png,.webp,.gif,.heic,.heif","max-count":1,"list-type":"picture-card"},{default:v(()=>[Q.value.length<1?(r(),c("div",Al,[i(M,{icon:"vuesax-linear:image",class:"text-2xl mb-2"}),Ll])):C("",!0)]),_:1},8,["file-list"]),I.value>0&&I.value<100?(r(),c("div",Tl,[s("div",Pl,[s("div",{class:"h-2 bg-blue-500 transition-all",style:Le(ke(I.value))},null,4)])])):C("",!0)])]),Ml,s("div",Rl,[Dl,s("div",Nl,[(r(!0),c($,null,R(g.value.steps,(t,o)=>(r(),c("div",{key:o,class:K(["step-form-box",{"step-form-box--final":t.is_final_step}])},[s("div",jl,[s("div",Fl,[w(" مرحله "+p(o+1)+" ",1),t.is_final_step?(r(),c("span",Bl,"(ماموریت پایانی)")):C("",!0)]),s("div",Ol,[i(U,{value:t.is_final_step,"onUpdate:value":n=>t.is_final_step=n},null,8,["value","onUpdate:value"]),zl])]),s("div",null,[El,i(f,{value:t.description,"onUpdate:value":n=>t.description=n,placeholder:"توضیحات مرحله",rows:2},null,8,["value","onUpdate:value"])]),s("div",Il,[s("div",null,[Hl,i(k,{value:t.duration_minutes,"onUpdate:value":n=>t.duration_minutes=n,type:"number",min:"0",placeholder:"0"},null,8,["value","onUpdate:value"])])]),s("div",null,[Wl,i(f,{value:t.aparat_embed_code,"onUpdate:value":n=>t.aparat_embed_code=n,placeholder:"کد embed",rows:2},null,8,["value","onUpdate:value"])]),s("div",Kl,[Gl,i(b(_e),{"file-list":He(o,"kodoblu_voice_url"),"before-upload":ct,"custom-request":n=>dt(n,o,"kodoblu_voice_url"),accept:"audio/*","max-count":1,"show-upload-list":!1,onRemove:()=>qe(o,"kodoblu_voice_url")},{default:v(()=>[i(l,{type:"dashed"},{default:v(()=>[i(M,{icon:"vuesax-linear:voice-cricle",class:"ml-1"}),w(" آپلود وویس کدوبلو ")]),_:1})]),_:2},1032,["file-list","custom-request","onRemove"]),ee(o,"kodoblu_voice_url")>0&&ee(o,"kodoblu_voice_url")<100?(r(),c("div",Jl,[s("div",Vl,[s("div",{class:"h-2 bg-blue-500 transition-all",style:Le(ke(ee(o,"kodoblu_voice_url")))},null,4)])])):C("",!0),ot(o,"kodoblu_voice_url",t.kodoblu_voice_url)?(r(),c("div",Xl,[s("div",Ql,[Zl,i(l,{type:"text",danger:"",size:"small",onClick:n=>qe(o,"kodoblu_voice_url")},{default:v(()=>[w(" حذف فایل ")]),_:2},1032,["onClick"])]),(r(),c("audio",{key:de(o,"kodoblu_voice_url",t.kodoblu_voice_url),src:de(o,"kodoblu_voice_url",t.kodoblu_voice_url),controls:"",preload:"metadata",class:"w-full"},null,8,Yl))])):C("",!0),i(k,{value:t.kodoblu_voice_url,"onUpdate:value":n=>t.kodoblu_voice_url=n,placeholder:"مسیر وویس کدوبلو (پس از آپلود)"},null,8,["value","onUpdate:value"])]),s("div",null,[eo,i(b(_e),{"file-list":We(o),"list-type":"picture-card","before-upload":Ge,"custom-request":n=>Zt(n,o),accept:"image/jpeg,image/png,image/webp,image/gif,image/heic,image/heif,.jpg,.jpeg,.png,.webp,.gif,.heic,.heif",onRemove:n=>Wt(o,n)},{default:v(()=>[We(o).length<8?(r(),c("div",to,[i(M,{icon:"vuesax-linear:image",class:"text-xl mb-1"}),so])):C("",!0)]),_:2},1032,["file-list","custom-request","onRemove"])]),ao,s("div",lo,[oo,s("div",io,[s("label",no,[i(U,{value:t.enable_feedback_text,"onUpdate:value":n=>t.enable_feedback_text=n},null,8,["value","onUpdate:value"]),uo]),s("label",ro,[i(U,{value:t.require_feedback_text,"onUpdate:value":n=>t.require_feedback_text=n,disabled:!t.enable_feedback_text},null,8,["value","onUpdate:value","disabled"]),co]),s("label",_o,[i(U,{value:t.enable_photo_upload,"onUpdate:value":n=>t.enable_photo_upload=n},null,8,["value","onUpdate:value"]),vo]),s("label",mo,[i(U,{value:t.require_photo_upload,"onUpdate:value":n=>t.require_photo_upload=n,disabled:!t.enable_photo_upload},null,8,["value","onUpdate:value","disabled"]),po]),s("label",go,[i(U,{value:t.enable_voice_upload,"onUpdate:value":n=>t.enable_voice_upload=n},null,8,["value","onUpdate:value"]),ho]),s("label",fo,[i(U,{value:t.require_voice_upload,"onUpdate:value":n=>t.require_voice_upload=n,disabled:!t.enable_voice_upload},null,8,["value","onUpdate:value","disabled"]),bo]),s("label",yo,[i(U,{value:t.enable_mcq,"onUpdate:value":n=>t.enable_mcq=n},null,8,["value","onUpdate:value"]),ko]),s("label",wo,[i(U,{value:t.require_mcq,"onUpdate:value":n=>t.require_mcq=n,disabled:!t.enable_mcq},null,8,["value","onUpdate:value","disabled"]),xo]),s("label",Co,[i(U,{value:t.enable_audio_section,"onUpdate:value":n=>t.enable_audio_section=n},null,8,["value","onUpdate:value"]),So])]),t.enable_feedback_text?(r(),c("div",Uo,[s("div",null,[qo,i(k,{value:t.feedback_text_title,"onUpdate:value":n=>t.feedback_text_title=n,placeholder:"مثلاً: بازخورد این مرحله"},null,8,["value","onUpdate:value"])]),s("div",null,[$o,i(k,{value:t.feedback_text_placeholder,"onUpdate:value":n=>t.feedback_text_placeholder=n,placeholder:"مثلاً: بازخورد خود را بنویس..."},null,8,["value","onUpdate:value"])])])):C("",!0),t.enable_mcq?(r(),c("div",Ao,[i(k,{value:t.mcq_question,"onUpdate:value":n=>t.mcq_question=n,placeholder:"متن سوال"},null,8,["value","onUpdate:value"]),(r(!0),c($,null,R(t.mcq_options,(n,x)=>(r(),c("div",{key:x,class:"flex gap-2 items-center"},[i(k,{value:t.mcq_options[x],"onUpdate:value":A=>t.mcq_options[x]=A,placeholder:`گزینه ${x+1}`,class:"flex-1"},null,8,["value","onUpdate:value","placeholder"]),s("input",{type:"radio",name:`mcq-${o}`,checked:t.mcq_correct_index===x,onChange:A=>t.mcq_correct_index=x},null,40,Lo),To,t.mcq_options.length>2?(r(),pt(l,{key:0,danger:"",onClick:A=>t.mcq_options.splice(x,1)},{default:v(()=>[w("×")]),_:2},1032,["onClick"])):C("",!0)]))),128)),i(l,{type:"dashed",onClick:n=>t.mcq_options.push("")},{default:v(()=>[w("+ گزینه")]),_:2},1032,["onClick"])])):C("",!0),t.enable_audio_section?(r(),c("div",Po,[Mo,i(b(_e),{"file-list":He(o,"audio_section_url"),"before-upload":ct,"custom-request":n=>dt(n,o,"audio_section_url"),accept:"audio/*","max-count":1,"show-upload-list":!1,onRemove:()=>qe(o,"audio_section_url")},{default:v(()=>[i(l,{type:"dashed"},{default:v(()=>[i(M,{icon:"vuesax-linear:voice-cricle",class:"ml-1"}),w(" آپلود فایل صوتی ")]),_:1})]),_:2},1032,["file-list","custom-request","onRemove"]),ee(o,"audio_section_url")>0&&ee(o,"audio_section_url")<100?(r(),c("div",Ro,[s("div",Do,[s("div",{class:"h-2 bg-blue-500 transition-all",style:Le(ke(ee(o,"audio_section_url")))},null,4)])])):C("",!0),ot(o,"audio_section_url",t.audio_section_url)?(r(),c("div",No,[s("div",jo,[Fo,i(l,{type:"text",danger:"",size:"small",onClick:n=>qe(o,"audio_section_url")},{default:v(()=>[w(" حذف فایل ")]),_:2},1032,["onClick"])]),(r(),c("audio",{key:de(o,"audio_section_url",t.audio_section_url),src:de(o,"audio_section_url",t.audio_section_url),controls:"",preload:"metadata",class:"w-full"},null,8,Bo))])):C("",!0),i(k,{value:t.audio_section_url,"onUpdate:value":n=>t.audio_section_url=n,placeholder:"مسیر فایل صوتی (پس از آپلود)"},null,8,["value","onUpdate:value"])])):C("",!0)]),s("div",Oo,[i(l,{type:"text",danger:"",onClick:n=>Gt(o),disabled:g.value.steps.length<=1},{default:v(()=>[i(M,{icon:"vuesax-linear:trash",color:"#DC2626"}),zo]),_:2},1032,["onClick","disabled"])])],2))),128)),i(l,{type:"dashed",onClick:Kt,class:"w-full"},{default:v(()=>[Eo]),_:1})])])])]),_:1},8,["visible","title","confirmLoading"]),i(P,{visible:ce.value,"onUpdate:visible":a[17]||(a[17]=t=>ce.value=t),title:be.value?"ویرایش فصل":"افزودن فصل",onOk:jt,onCancel:lt,width:"560px"},{default:v(()=>[s("div",Io,[s("div",null,[Ho,i(k,{value:S.value.title,"onUpdate:value":a[11]||(a[11]=t=>S.value.title=t),placeholder:"مثلاً خانه بهار"},null,8,["value"])]),s("div",null,[Wo,i(k,{value:S.value.subtitle,"onUpdate:value":a[12]||(a[12]=t=>S.value.subtitle=t),placeholder:"توضیح کوتاه روی بنر فصل"},null,8,["value"])]),s("div",Ko,[s("div",null,[Go,i(b(Re),{value:S.value.theme_key,"onUpdate:value":a[13]||(a[13]=t=>S.value.theme_key=t),class:"w-full"},{default:v(()=>[i(b(D),{value:"meadow"},{default:v(()=>[w("خانه کدوبلو")]),_:1}),i(b(D),{value:"cottage"},{default:v(()=>[w("کافه پفی")]),_:1}),i(b(D),{value:"forest"},{default:v(()=>[w("باغ میلا")]),_:1}),i(b(D),{value:"desert"},{default:v(()=>[w("کارگاه پیتو")]),_:1}),i(b(D),{value:"winter"},{default:v(()=>[w("خانه آرامان")]),_:1}),i(b(D),{value:"castle"},{default:v(()=>[w("میدان شهر")]),_:1}),i(b(D),{value:"tree"},{default:v(()=>[w("درخت پیرین")]),_:1})]),_:1},8,["value"])]),s("div",null,[Jo,i(k,{value:S.value.sort_order,"onUpdate:value":a[14]||(a[14]=t=>S.value.sort_order=t),type:"number",placeholder:"1"},null,8,["value"])])]),s("div",Vo,[i(U,{value:S.value.show,"onUpdate:value":a[15]||(a[15]=t=>S.value.show=t)},null,8,["value"]),s("span",Xo,p(S.value.show?"نمایش در نقشه":"مخفی"),1)]),s("div",null,[Qo,i(b(_e),{"file-list":O.value,"onUpdate:fileList":a[16]||(a[16]=t=>O.value=t),"before-upload":Ge,"custom-request":Vt,accept:"image/jpeg,image/png,image/webp,image/gif,image/heic,image/heif,.jpg,.jpeg,.png,.webp,.gif,.heic,.heif","max-count":1,"list-type":"picture-card",onRemove:Jt},{default:v(()=>[O.value.length<1?(r(),c("div",Zo,[i(M,{icon:"vuesax-linear:image",class:"text-2xl mb-2"}),Yo])):C("",!0)]),_:1},8,["file-list"]),F.value>0&&F.value<100?(r(),c("div",ei,[s("div",ti,[s("div",{class:"h-2 bg-blue-500 transition-all",style:Le(ke(F.value))},null,4)])])):C("",!0),si])])]),_:1},8,["visible","title"]),i(P,{visible:ge.value,"onUpdate:visible":a[18]||(a[18]=t=>ge.value=t),title:"توضیحات کامل",footer:null,onCancel:ns,width:"560px"},{default:v(()=>[s("div",ai,p(Be.value),1),s("div",li,p(Fe.value),1)]),_:1},8,["visible"])]),_:1})],2)}}});const Yi=zs(oi,[["__scopeId","data-v-32ebe4d7"]]);export{Yi as default};