Files
machartaa_admin_dist/dist/assets/index-06f2fb07.js
T
2026-07-22 17:08:59 +03:30

2 lines
44 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 Et}from"./BasicMainCard-abd17be1.js";import{_ as Ht}from"./BasicModal.vue_vue_type_style_index_0_lang-a23efd75.js";import{_ as It}from"./BaseSwitch.vue_vue_type_script_setup_true_lang-2e8a6602.js";import{_ as Wt}from"./BasicInput.vue_vue_type_style_index_0_lang-e68ff48c.js";import{_ as Kt}from"./BasicTextArea.vue_vue_type_style_index_0_lang-76c247eb.js";import{_ as Jt}from"./button.vue_vue_type_style_index_0_lang-58c562e7.js";import{d as Vt,q as Xt,u as Gt,g as y,h as G,E as Qt,v as Zt,o as c,c as d,b as n,w as p,j as g,a as t,F as S,n as B,k as C,t as f,e as x,p as H,y as Ce,D as k,M as Yt,N as ea,bC as ta,I as qe,bk as aa,B as et,i as tt}from"./index-02897754.js";import{g as sa,c as la,a as oa,u as at,b as ia,d as na,s as ua,e as ra,f as ca,h as da,i as _a,j as va,k as ma}from"./stepChallenge-ec380cab.js";import{I as L}from"./Icon-2ca0951c.js";import{g as Q,e as D,a as pa}from"./convert-2ad76038.js";import{a as st}from"./index-9f87c1a7.js";import{S as Z}from"./index-644e91ea.js";import{M as lt}from"./index-4652c849.js";import{a as ot}from"./index-1d9cca6c.js";import{T as Oe}from"./isSymbol-792a2a97.js";import{U as ne}from"./index-fd46be7d.js";import{_ as ha}from"./_plugin-vue_export-helper-2dea18d7.js";import"./index-c1d1bf6d.js";import"./index-a2c53d90.js";import"./Col-880c700f.js";import"./styleChecker-ce90d19e.js";import"./isPlainObject-6a522913.js";import"./vnode-65917850.js";import"./usePrice-bc935b83.js";import"./index-b0c72faa.js";import"./FormItemContext-0ec501fb.js";import"./useState-4419625c.js";import"./useRefs-44db43e1.js";import"./_flatRest-bac800e2.js";import"./DialogWrap-b41f46aa.js";import"./pickAttrs-66d27c5c.js";import"./toArray-b84867a5.js";import"./index-a571a3ce.js";const _=ue=>(Yt("data-v-dba07e20"),ue=ue(),ea(),ue),fa={class:"mgmt-page"},ga={class:"mgmt-layout"},ba={class:"mgmt-chapters"},ya=_(()=>t("div",{class:"mgmt-chapters__title"},"فصل‌ها",-1)),ka={key:0,class:"py-10 flex justify-center"},xa=["onClick"],wa={class:"mgmt-chapters__item-label"},Ca={class:"mgmt-chapters__item-count"},qa={key:0,class:"text-center text-gray-500 text-sm py-8 px-2"},Ua={class:"mgmt-challenges"},Sa={class:"mgmt-challenges__header"},$a={class:"m-0 text-base font-semibold"},Aa={key:0,class:"text-center text-gray-500 py-16"},La={key:1,class:"py-16 flex justify-center"},Ma={key:2,class:"mgmt-grids"},Pa={class:"mgmt-grid-block__label"},Ra={class:"text-gray-400 font-normal"},Ta={class:"mgmt-grid"},Fa=["onClick","onKeydown"],Ba=["onClick"],Na={class:"mgmt-slot__number"},Da=["title"],Oa={class:"mgmt-slot__number"},ja=_(()=>t("span",{class:"mgmt-slot__hint"},"افزودن",-1)),za={class:"flex justify-between items-center mb-4"},Ea=_(()=>t("div",null,[t("h2",{class:"m-0"},"فصل‌های نقشه ماجراجویی"),t("p",{class:"text-sm text-gray-500 m-0 mt-1"},"هر فصل دو اسلاید ۱۵تایی دارد (حداکثر ۳۰ چالش).")],-1)),Ha={key:0,class:"py-16 flex justify-center"},Ia={key:1,class:"space-y-3"},Wa={class:"flex-1 min-w-0"},Ka={class:"font-semibold truncate"},Ja={class:"text-sm text-gray-500 truncate"},Va={class:"text-xs text-gray-400 mt-1"},Xa={class:"flex gap-2 shrink-0"},Ga=_(()=>t("span",null,"ویرایش",-1)),Qa=_(()=>t("span",null,"حذف",-1)),Za={key:0,class:"text-center text-gray-500 py-12"},Ya={class:"mgmt-page progress-mgmt-page"},es={class:"mgmt-layout"},ts={class:"mgmt-chapters"},as=_(()=>t("div",{class:"mgmt-chapters__title"},"فصل‌ها",-1)),ss={key:0,class:"py-10 flex justify-center"},ls=["onClick"],os={class:"mgmt-chapters__item-label"},is={class:"mgmt-chapters__item-count"},ns=_(()=>t("span",{class:"mgmt-chapters__item-label"},"بدون فصل",-1)),us={class:"mgmt-chapters__item-count"},rs={key:0,class:"text-center text-gray-500 text-sm py-8 px-2"},cs={class:"mgmt-challenges"},ds={class:"mgmt-challenges__header flex flex-wrap items-center justify-between gap-3"},_s={class:"m-0 text-base font-semibold"},vs={key:0,class:"py-16 flex justify-center"},ms={key:1,class:"text-center text-gray-500 py-16"},ps={key:2,class:"mgmt-grids"},hs={class:"mgmt-grid-block__label"},fs={class:"text-gray-400 font-normal"},gs={class:"mgmt-grid"},bs=["disabled","onClick"],ys={class:"progress-slot__number"},ks=["title"],xs={class:"progress-slot__stats"},ws={class:"progress-slot__action"},Cs={class:"progress-slot__number"},qs=_(()=>t("span",{class:"progress-slot__hint"},"خالی",-1)),Us={class:"max-w-2xl space-y-4"},Ss=_(()=>t("h2",{class:"text-lg font-semibold"},"قوانین چالش‌های کدوبلو",-1)),$s=_(()=>t("p",{class:"text-sm text-gray-600"}," ویدیوی embed آپارات که در مودال «قوانین چالش کدوبلو» به کاربر نمایش داده می‌شود. ",-1)),As=_(()=>t("div",{class:"mb-1 text-sm text-gray-600"},"کد embed ویدیو قوانین",-1)),Ls={class:"space-y-4 relative"},Ms={key:0,class:"absolute inset-0 bg-white/60 z-10 flex items-center justify-center"},Ps=_(()=>t("div",{class:"mb-1 text-sm text-gray-600"},"عنوان چالش",-1)),Rs={class:"grid grid-cols-1 sm:grid-cols-3 gap-4"},Ts={class:"sm:col-span-3"},Fs=_(()=>t("div",{class:"mb-1 text-sm text-gray-600"},"فصل (نقشه ماجراجویی)",-1)),Bs={class:"text-gray-400"},Ns={class:"text-xs text-gray-400 mt-1"},Ds={key:0},Os=_(()=>t("div",{class:"mb-1 text-sm text-gray-600"},"وضعیت نمایش",-1)),js={class:"flex items-center gap-2 mt-2"},zs={class:"text-sm text-gray-600"},Es=_(()=>t("div",{class:"mb-1 text-sm text-gray-600"},"نوع دسترسی",-1)),Hs=_(()=>t("div",{class:"mb-1 text-sm text-gray-600"},"امتیاز اولین تکمیل",-1)),Is={class:"flex justify-center pb-2"},Ws=_(()=>t("div",{class:"mb-1 text-sm text-gray-600"},"عکس کاراکتر (کارت لیست)",-1)),Ks={key:0},Js=_(()=>t("div",null,"آپلود تصویر",-1)),Vs={key:0,class:"mt-1"},Xs={class:"h-2 rounded bg-gray-200 overflow-hidden"},Gs=_(()=>t("div",{class:"section-divider"},null,-1)),Qs={class:"pt-2"},Zs=_(()=>t("div",{class:"mb-2 text-sm text-gray-600 font-semibold"},"مراحل چالش",-1)),Ys={class:"space-y-4"},el={class:"flex items-center justify-between gap-3"},tl={class:"font-semibold text-gray-700"},al={key:0,class:"text-emerald-600 text-sm font-normal mr-1"},sl={class:"flex items-center gap-2"},ll=_(()=>t("span",{class:"text-sm text-gray-600"},"ماموریت پایانی",-1)),ol=_(()=>t("div",{class:"mb-1 text-xs text-gray-500"},"توضیحات مرحله (اختیاری)",-1)),il={class:"grid grid-cols-2 gap-3"},nl=_(()=>t("div",{class:"mb-1 text-xs text-gray-500"},"زمان لازم (دقیقه)",-1)),ul=_(()=>t("div",{class:"mb-1 text-xs text-gray-500"},"کد embed ویدیو آپارات (اختیاری)",-1)),rl={class:"space-y-2"},cl=_(()=>t("div",{class:"mb-1 text-xs text-gray-500"},"وویس کدوبلو (اختیاری)",-1)),dl={key:0,class:"mt-1"},_l={class:"h-2 rounded bg-gray-200 overflow-hidden"},vl={key:1,class:"step-audio-preview"},ml={class:"flex items-center justify-between mb-2"},pl=_(()=>t("div",{class:"step-audio-preview__label mb-0"},"پیش‌نمایش وویس کدوبلو",-1)),hl=["src"],fl=_(()=>t("div",{class:"mb-1 text-xs text-gray-500"},"عکس‌های مرحله (اختیاری)",-1)),gl={key:0},bl=_(()=>t("div",{class:"text-xs"},"آپلود عکس",-1)),yl=_(()=>t("div",{class:"section-divider"},null,-1)),kl={class:"step-form-box__inner"},xl=_(()=>t("div",{class:"text-xs font-semibold text-gray-600 mb-3"},"آیتم‌های بعد از «بزن بریم»",-1)),wl={class:"grid grid-cols-1 sm:grid-cols-2 gap-3"},Cl={class:"flex items-center gap-2"},ql=_(()=>t("span",{class:"text-sm"},"فیلد بازخورد",-1)),Ul={class:"flex items-center gap-2"},Sl=_(()=>t("span",{class:"text-sm"},"بازخورد اجباری",-1)),$l={class:"flex items-center gap-2"},Al=_(()=>t("span",{class:"text-sm"},"بارگذاری عکس",-1)),Ll={class:"flex items-center gap-2"},Ml=_(()=>t("span",{class:"text-sm"},"عکس اجباری",-1)),Pl={class:"flex items-center gap-2"},Rl=_(()=>t("span",{class:"text-sm"},"ضبط و ارسال ویس",-1)),Tl={class:"flex items-center gap-2"},Fl=_(()=>t("span",{class:"text-sm"},"ویس اجباری",-1)),Bl={class:"flex items-center gap-2"},Nl=_(()=>t("span",{class:"text-sm"},"سوال چندگزینه‌ای",-1)),Dl={class:"flex items-center gap-2"},Ol=_(()=>t("span",{class:"text-sm"},"پاسخ MCQ اجباری",-1)),jl={class:"flex items-center gap-2"},zl=_(()=>t("span",{class:"text-sm"},"بخش صوت",-1)),El={key:0,class:"space-y-2 border rounded-lg p-3 bg-white"},Hl=_(()=>t("div",{class:"mb-1 text-xs text-gray-500"},"عنوان فیلد بازخورد",-1)),Il=_(()=>t("div",{class:"mb-1 text-xs text-gray-500"},"متن پیش‌فرض فیلد بازخورد",-1)),Wl={key:1,class:"space-y-2 border rounded-lg p-3"},Kl=["name","checked","onChange"],Jl=_(()=>t("span",{class:"text-xs"},"صحیح",-1)),Vl={key:2,class:"space-y-2"},Xl=_(()=>t("div",{class:"mb-1 text-xs text-gray-500"},"فایل بخش صوت",-1)),Gl={key:0,class:"mt-1"},Ql={class:"h-2 rounded bg-gray-200 overflow-hidden"},Zl={key:1,class:"step-audio-preview"},Yl={class:"flex items-center justify-between mb-2"},eo=_(()=>t("div",{class:"step-audio-preview__label mb-0"},"پیش‌نمایش بخش صوت",-1)),to=["src"],ao={class:"flex justify-end pt-1"},so=_(()=>t("span",{class:"text-[#DC2626]"},"حذف مرحله",-1)),lo=_(()=>t("span",{class:"text-gray-500"},"+ افزودن مرحله",-1)),oo={class:"space-y-4"},io=_(()=>t("div",{class:"mb-1 text-sm text-gray-600"},"عنوان فصل",-1)),no=_(()=>t("div",{class:"mb-1 text-sm text-gray-600"},"زیرعنوان",-1)),uo={class:"grid grid-cols-1 sm:grid-cols-2 gap-4"},ro=_(()=>t("div",{class:"mb-1 text-sm text-gray-600"},"تم رنگی جزیره",-1)),co=_(()=>t("div",{class:"mb-1 text-sm text-gray-600"},"ترتیب",-1)),_o={class:"flex items-center gap-2"},vo={class:"text-sm text-gray-600"},mo=_(()=>t("div",{class:"mb-1 text-sm text-gray-600"},"تصویر فصل (اختیاری)",-1)),po={key:0},ho=_(()=>t("div",null,"آپلود تصویر",-1)),fo={key:0,class:"mt-1"},go={class:"h-2 rounded bg-gray-200 overflow-hidden"},bo=_(()=>t("div",{class:"text-xs text-gray-400 mt-1"},"اگر خالی باشد، تصویر تم انتخاب‌شده استفاده می‌شود.",-1)),Ue=30,Se=15,yo=Vt({__name:"index",setup(ue){const it=st,re=st.TabPane,$e=ot,P=ot.Option,nt=Xt(),ut=Gt(),I=y(nt.query.tab==="progress"?"progress":"challenges"),Y=y(!1),ee=y(!1),te=y(null),Ae=y(null),Le=y(!1),ce=y({rules_aparat_embed_code:""}),de=y(!1),W=y([]),R=y(null),$=y(null),Me=y(!1),_e=y([]),K=y([]),ae=y({}),Pe=y({}),J=y({}),V=y({}),A=y(0),z=y(0),Re=()=>({description:"",duration_minutes:1,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}),h=y({title:"",character_image_url:null,show:!1,access_type:"subscription",sort_order:0,completion_points:50,chapter_id:null,steps:[Re()]}),q=y([]),se=y(!1),le=y({}),oe=y(!1),ve=y(!1),me=y(null),w=y({title:"",subtitle:"",theme_key:"meadow",cover_image_url:null,sort_order:0,show:!0}),O=y([]),N=y(0),je={meadow:"خانه کدوبلو",cottage:"کافه پفی",forest:"باغ میلا",desert:"کارگاه پیتو",winter:"خانه آرامان",castle:"میدان شهر",tree:"درخت پیرین"};function rt(e){return e&&e in je?je[e]:e||"-"}const ze=G(()=>q.value.find(e=>e.id===$.value)||null),ct=G(()=>{if(R.value===0)return"چالش‌های بدون فصل";const e=q.value.find(a=>a.id===R.value);return e?`چالش‌های ${e.title}`:"یک فصل انتخاب کنید"}),Ee=G(()=>{const e={0:0};for(const a of q.value)a.id&&(e[a.id]=0);for(const a of W.value){const l=a.chapter_id??0;e[l]=(e[l]||0)+1}return e}),He=G(()=>R.value===null?[]:R.value===0?W.value.filter(e=>e.chapter_id==null):W.value.filter(e=>e.chapter_id===R.value)),dt=G(()=>vt(_e.value)),_t=G(()=>mt(He.value));function vt(e){const a=Array.from({length:Ue},()=>null),l=new Set;for(const u of e){const r=Number(u.sort_order);r>=1&&r<=Ue&&!a[r-1]&&(a[r-1]=u,l.add(u.id))}for(const u of e){if(l.has(u.id))continue;const r=a.findIndex(m=>m===null);if(r<0)break;a[r]=u,l.add(u.id)}return a.map((u,r)=>({slotNumber:r+1,challenge:u}))}function mt(e){const a=Array.from({length:Ue},()=>null),l=new Set;for(const u of e){const r=Number(u.sort_order);r>=1&&r<=Ue&&!a[r-1]&&(a[r-1]=u,l.add(u.id))}for(const u of e){if(l.has(u.id))continue;const r=a.findIndex(m=>m===null);if(r<0)break;a[r]=u,l.add(u.id)}return a.map((u,r)=>({slotNumber:r+1,challenge:u}))}function pt(e){const a=e*Se;return dt.value.slice(a,a+Se)}function ht(e){const a=e*Se;return _t.value.slice(a,a+Se)}async function j(){var e;se.value=!0;try{const a=await sa();q.value=a;const l={};await Promise.all(q.value.map(async u=>{u.id&&(l[u.id]=await la(u.id))})),le.value=l,!$.value&&q.value.length?$.value=q.value[0].id:$.value&&!q.value.some(u=>u.id===$.value)&&($.value=((e=q.value[0])==null?void 0:e.id)??null),$.value?await Te($.value):_e.value=[]}catch(a){k.error(a.message||"خطا در بارگذاری فصل‌ها")}finally{se.value=!1}}async function Te(e){Me.value=!0;try{_e.value=await oa(e)}catch(a){k.error(a.message||"خطا در بارگذاری چالش‌های فصل"),_e.value=[]}finally{Me.value=!1}}async function ft(e){$.value=e,await Te(e)}function Ie(e){if(e.challenge){Nt(e.challenge);return}gt(e.slotNumber)}function gt(e){if(!$.value){k.warning("ابتدا یک فصل انتخاب کنید");return}ee.value=!1,te.value=null,Ae.value=null,Ge(),h.value.chapter_id=$.value,h.value.sort_order=e,h.value.show=!0,Y.value=!0}function We(){w.value={title:"",subtitle:"",theme_key:"meadow",cover_image_url:null,sort_order:(q.value.length||0)+1,show:!0},O.value=[],N.value=0}function bt(){ve.value=!1,me.value=null,We(),oe.value=!0}function yt(e){ve.value=!0,me.value=e.id||null,w.value={title:e.title||"",subtitle:e.subtitle||"",theme_key:e.theme_key||"meadow",cover_image_url:D(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:Q(e.cover_image_url)}]:O.value=[],N.value=0,oe.value=!0}function Ke(){oe.value=!1,We()}async function kt(){if(!w.value.title.trim()){k.error("عنوان فصل الزامی است");return}try{const e={title:w.value.title.trim(),subtitle:w.value.subtitle.trim()||null,theme_key:w.value.theme_key,cover_image_url:w.value.cover_image_url||null,sort_order:Number(w.value.sort_order)||0,show:w.value.show};ve.value&&me.value?(await at(me.value,e),k.success("فصل ویرایش شد")):(await ia(e),k.success("فصل اضافه شد")),Ke(),await j()}catch(e){k.error(e.message||"خطا در ذخیره فصل")}}async function xt(e){e.id&&(await at(e.id,{show:!e.show}),k.success(e.show?"فصل مخفی شد":"فصل نمایش داده می‌شود"),await j())}async function wt(e){e.id&&lt.confirm({title:"حذف فصل",content:"با حذف فصل، چالش‌های آن بدون فصل می‌مانند. ادامه می‌دهید؟",okText:"بله",cancelText:"خیر",onOk:async()=>{await _a(e.id),k.success("فصل حذف شد"),await j()}})}async function Ct(e){e!=null&&e.id&&lt.confirm({title:"حذف چالش",content:`چالش «${e.title}» و تمام مراحل و پیشرفت کاربران آن حذف می‌شود. ادامه می‌دهید؟`,okText:"حذف",okType:"danger",cancelText:"انصراف",onOk:async()=>{try{await va(e.id),k.success("چالش حذف شد"),te.value===e.id&&Ne(),$.value&&await Te($.value),await j(),W.value.length&&await xe()}catch(a){throw k.error(a.message||"خطا در حذف چالش"),a}}})}function pe(e){return{width:`${Math.max(0,Math.min(100,e))}%`}}function he(){return ta()||localStorage.getItem("tamin_token")||localStorage.getItem("token")||""}function fe(e){var l,u,r,m;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)||((r=e.data)==null?void 0:r.src)||((m=e.data)==null?void 0:m.path)||"";return D(String(a||""))}function ge(e,a,l){const u=[...h.value.steps];u[e]={...u[e],[a]:l},h.value.steps=u}function T(e,a){return`${e}:${a}`}function Fe(e,a){return ae.value[T(e,a)]||[]}function X(e,a){return Pe.value[T(e,a)]||0}function be(e,a,l){Pe.value[T(e,a)]=l}function ye(e){return e?e.startsWith("http://")||e.startsWith("https://")?e:pa(e):""}function qt(e,a){return J.value[T(e,a)]||""}function E(e,a){const l=T(e,a),u=J.value[l];u&&(URL.revokeObjectURL(u),delete J.value[l])}function Ut(){Object.values(J.value).forEach(e=>URL.revokeObjectURL(e)),J.value={}}function ie(e,a,l){const u=qt(e,a);if(u)return u;if(l!=null&&l.trim())return ye(l);const r=Fe(e,a)[0];return(r==null?void 0:r.url)||""}function Je(e,a,l){return!!ie(e,a,l)}function St(){Ut(),ae.value={},Pe.value={}}function $t(){V.value={}}function Be(e){return V.value[e]||[]}function Ve(){const e={};h.value.steps.forEach((a,l)=>{const u=(a.step_images||[]).filter(Boolean);u.length&&(e[l]=u.map((r,m)=>({uid:`step-image-${l}-${m}`,name:`image-${m+1}.jpg`,status:"done",url:Q(r),response:{path:D(r)||r}})))}),V.value=e}function Xe(){const e={};h.value.steps.forEach((a,l)=>{a.audio_section_url&&(e[T(l,"audio_section_url")]=[{uid:`audio-section-${l}`,name:"audio-section.mp3",status:"done",url:ye(a.audio_section_url)}]),a.kodoblu_voice_url&&(e[T(l,"kodoblu_voice_url")]=[{uid:`kodoblu-voice-${l}`,name:"kodoblu-voice.mp3",status:"done",url:ye(a.kodoblu_voice_url)}])}),ae.value=e}function ke(e,a){E(e,a),ge(e,a,""),ae.value[T(e,a)]=[]}function At(e,a){var r,m;const l=D(((r=a.response)==null?void 0:r.path)||a.url||""),u=((m=h.value.steps[e])==null?void 0:m.step_images)||[];ge(e,"step_images",u.filter(U=>D(U)!==l)),V.value[e]=(V.value[e]||[]).filter(U=>U.uid!==a.uid)}function Ge(){h.value={title:"",character_image_url:null,show:!1,access_type:"subscription",sort_order:0,completion_points:50,chapter_id:null,steps:[Re()]},K.value=[],St(),$t()}function Ne(){Y.value=!1,Ge()}function Lt(){h.value.steps.push(Re())}function Mt(e){h.value.steps.length<=1||(E(e,"kodoblu_voice_url"),E(e,"audio_section_url"),h.value.steps.splice(e,1),Xe(),Ve())}async function xe(){var e;de.value=!0;try{W.value=await na(),R.value===null&&(R.value=((e=q.value[0])==null?void 0:e.id)??0)}catch(a){k.error(a.message||"خطا در بارگذاری پیشرفت چالش‌ها")}finally{de.value=!1}}function Qe(e){R.value=e}function Pt(){w.value.cover_image_url=null,O.value=[]}async function Rt(e){const{file:a,onSuccess:l,onError:u,onProgress:r}=e,m=new FormData;m.append("file",a);const U=`${qe}/upload/machartaa-img`;N.value=0,A.value++,await new Promise((F,s)=>{const i=new XMLHttpRequest;i.open("POST",U),i.setRequestHeader("Authorization",`Bearer ${he()}`),i.upload.onprogress=o=>{if(o.lengthComputable){const v=Math.round(o.loaded/o.total*100);N.value=v,r==null||r({percent:v})}},i.onload=()=>{if(N.value=100,i.status>=200&&i.status<300)try{const o=JSON.parse(i.responseText||"{}"),v=fe(o);if(!v)throw new Error("مسیر فایل از سرور دریافت نشد");const b=Q(v);w.value.cover_image_url=v,O.value=b?[{uid:`${Date.now()}`,name:"chapter.jpg",status:"done",url:b,response:{path:v}}]:[],l==null||l(o,i),k.success("تصویر فصل آپلود شد"),F()}catch(o){u==null||u(o,i),s(o)}else{const o=new Error("خطا در آپلود تصویر فصل");u==null||u(o,i),s(o)}},i.onerror=()=>{u==null||u(new Error("خطا در آپلود تصویر فصل!"),i),s(new Error("خطا در آپلود تصویر فصل!"))},i.onloadend=()=>{A.value=Math.max(0,A.value-1),N.value=0},i.send(m)})}function Tt(e){ut.push({name:"stepChallengeFeedback",params:{challengeId:e}})}function De(e){return e.type.startsWith("image/")?e.size/1024/1024<5?!0:(k.error("حجم تصویر باید کمتر از 5MB باشد!"),!1):(k.error("فقط فایل‌های تصویری قابل آپلود هستند!"),!1)}async function Ft(e){const{file:a,onSuccess:l,onError:u,onProgress:r}=e,m=new FormData;m.append("file",a);const U=`${qe}/upload/machartaa-img`;z.value=0,A.value++,await new Promise((F,s)=>{const i=new XMLHttpRequest;i.open("POST",U),i.setRequestHeader("Authorization",`Bearer ${he()}`),i.upload.onprogress=o=>{if(o.lengthComputable){const v=Math.round(o.loaded/o.total*100);z.value=v,r==null||r({percent:v})}},i.onload=()=>{if(z.value=100,i.status>=200&&i.status<300)try{const o=JSON.parse(i.responseText||"{}"),v=fe(o);if(!v)throw new Error("مسیر فایل از سرور دریافت نشد");const b=Q(v);h.value.character_image_url=v,K.value=b?[{uid:`${Date.now()}`,name:"image.jpg",status:"done",url:b,response:{path:v}}]:[],l==null||l(o,i),k.success("تصویر با موفقیت آپلود شد!"),F()}catch(o){u==null||u(o,i),s(o)}else{const o=new Error("خطا در آپلود تصویر");u==null||u(o,i),s(o)}},i.onerror=()=>{u==null||u(new Error("خطا در آپلود تصویر!"),i),s(new Error("خطا در آپلود تصویر!"))},i.onloadend=()=>{A.value=Math.max(0,A.value-1),z.value=0},i.send(m)})}async function Bt(e,a){const{file:l,onSuccess:u,onError:r,onProgress:m}=e,U=new FormData;U.append("file",l);const F=`${qe}/upload/machartaa-img`;A.value++,await new Promise((s,i)=>{const o=new XMLHttpRequest;o.open("POST",F),o.setRequestHeader("Authorization",`Bearer ${he()}`),o.upload.onprogress=v=>{v.lengthComputable&&(m==null||m({percent:Math.round(v.loaded/v.total*100)}))},o.onload=()=>{var v;if(o.status>=200&&o.status<300)try{const b=JSON.parse(o.responseText||"{}"),M=fe(b);if(!M)throw new Error("مسیر تصویر از سرور دریافت نشد");const we=[...((v=h.value.steps[a])==null?void 0:v.step_images)||[],M];ge(a,"step_images",we);const zt={uid:`${Date.now()}-${a}`,name:l.name||"image.jpg",status:"done",url:Q(M),response:{path:M}};V.value[a]=[...Be(a),zt],u==null||u(b,o),k.success("عکس مرحله با موفقیت آپلود شد!"),s()}catch(b){r==null||r(b,o),i(b)}else{const b=new Error("خطا در آپلود عکس مرحله");r==null||r(b,o),i(b)}},o.onerror=()=>{r==null||r(new Error("خطا در آپلود عکس مرحله!"),o),i(new Error("خطا در آپلود عکس مرحله!"))},o.onloadend=()=>{A.value=Math.max(0,A.value-1)},o.send(U)})}function Ze(e){return e.type.startsWith("audio/")?e.size/1024/1024<60?!0:(k.error("حجم فایل صوتی باید کمتر از 60MB باشد!"),!1):(k.error("فقط فایل‌های صوتی قابل آپلود هستند!"),!1)}async function Ye(e,a,l){const{file:u,onSuccess:r,onError:m,onProgress:U}=e,F=new FormData;F.append("file",u);const s=`${qe}/upload/machartaa-audio`;E(a,l),J.value[T(a,l)]=URL.createObjectURL(u),be(a,l,0),A.value++,await new Promise((i,o)=>{const v=new XMLHttpRequest;v.open("POST",s),v.setRequestHeader("Authorization",`Bearer ${he()}`),v.timeout=15*60*1e3,v.upload.onprogress=b=>{if(b.lengthComputable){const M=Math.round(b.loaded/b.total*100);be(a,l,M),U==null||U({percent:M})}},v.onload=()=>{if(be(a,l,100),v.status>=200&&v.status<300)try{const b=JSON.parse(v.responseText||"{}"),M=fe(b);if(!M)throw new Error("مسیر فایل صوتی از سرور دریافت نشد");E(a,l),ge(a,l,M);const we=ye(M);ae.value[T(a,l)]=we?[{uid:`${Date.now()}`,name:u.name||"audio.mp3",status:"done",url:we,response:{path:M}}]:[],r==null||r(b,v),k.success("فایل صوتی با موفقیت آپلود شد!"),i()}catch(b){m==null||m(b,v),o(b)}else{E(a,l);const b=new Error("خطا در آپلود فایل صوتی");m==null||m(b,v),o(b)}},v.onerror=()=>{E(a,l),m==null||m(new Error("خطا در آپلود فایل صوتی!"),v),o(new Error("خطا در آپلود فایل صوتی!"))},v.onloadend=()=>{A.value=Math.max(0,A.value-1),be(a,l,0)},v.send(F)})}async function Nt(e){try{const a=await ma(e.id);ee.value=!0,te.value=e.id,Ae.value=a.chapter_id??null,h.value={title:a.title,character_image_url:D(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||Math.round((l.duration_seconds||60)/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&&(K.value=[{uid:`${Date.now()}`,name:"image.jpg",status:"done",url:Q(a.character_image_url)}]),Xe(),Ve(),Y.value=!0}catch(a){k.error(a.message||"خطا در بارگذاری چالش")}}async function Dt(){var e;Le.value=!0;try{await ua({rules_aparat_embed_code:((e=ce.value.rules_aparat_embed_code)==null?void 0:e.trim())||null}),k.success("تنظیمات ذخیره شد")}catch(a){k.error(a.message||"خطا در ذخیره تنظیمات")}finally{Le.value=!1}}async function Ot(){try{const e=await ra();ce.value.rules_aparat_embed_code=(e==null?void 0:e.rules_aparat_embed_code)||""}catch(e){k.error(e.message||"خطا در بارگذاری تنظیمات")}}Qt(I,e=>{e==="progress"&&(j(),W.value.length||xe()),(e==="chapters"||e==="challenges")&&j()}),Zt(()=>{Ot(),j(),I.value==="progress"&&xe()});async function jt(){if(!h.value.title.trim()){k.error("عنوان چالش الزامی است");return}if(A.value>0){k.warning("لطفاً تا پایان آپلود فایل‌ها صبر کنید");return}if(h.value.chapter_id){const e=le.value[h.value.chapter_id]||0;if(!(ee.value&&Ae.value===h.value.chapter_id)&&e>=30){k.error("این فصل ظرفیت کامل دارد (حداکثر ۳۰ چالش / ۲ اسلاید)");return}}try{const e={...h.value,chapter_id:h.value.chapter_id??null,sort_order:Number(h.value.sort_order)||0,completion_points:Number(h.value.completion_points)||50,steps:h.value.steps.map(a=>{var l,u;return{...a,kodoblu_voice_url:D((l=a.kodoblu_voice_url)==null?void 0:l.trim())||"",audio_section_url:D((u=a.audio_section_url)==null?void 0:u.trim())||"",step_images:(a.step_images||[]).map(r=>D(r)||r).filter(Boolean)}})};ee.value&&te.value?(await ca(te.value,e),k.success("چالش ویرایش شد")):(await da(e,null),k.success("چالش اضافه شد")),Ne(),await j()}catch(e){k.error(e.message||"خطا در ذخیره چالش")}}return(e,a)=>{const l=Jt,u=Kt,r=Wt,m=It,U=Ht,F=Et;return c(),d("div",{class:H(["step-challenges-page",{"step-challenges-page--mgmt":I.value==="challenges"||I.value==="progress"}])},[n(F,null,{default:p(()=>[n(g(it),{activeKey:I.value,"onUpdate:activeKey":a[2]||(a[2]=s=>I.value=s),class:"step-challenges-tabs"},{default:p(()=>[n(g(re),{key:"challenges",tab:"مدیریت چالش‌ها"},{default:p(()=>[t("div",fa,[t("div",ga,[t("aside",ba,[ya,se.value?(c(),d("div",ka,[n(g(Z))])):(c(),d(S,{key:1},[(c(!0),d(S,null,B(q.value,(s,i)=>(c(),d("button",{key:s.id,type:"button",class:H(["mgmt-chapters__item",{"mgmt-chapters__item--active":$.value===s.id}]),onClick:o=>ft(s.id)},[t("span",wa,f(s.title||`فصل ${i+1}`),1),t("span",Ca,f(le.value[s.id]||0)+"/۳۰",1)],10,xa))),128)),q.value.length?C("",!0):(c(),d("div",qa," هنوز فصلی تعریف نشده است. از تب «مدیریت فصل‌ها» اضافه کنید. "))],64))]),t("section",Ua,[t("div",Sa,[t("h2",$a,f(ze.value?`چالش‌های ${ze.value.title}`:"یک فصل انتخاب کنید"),1)]),$.value?Me.value?(c(),d("div",La,[n(g(Z),{size:"large"})])):(c(),d("div",Ma,[(c(),d(S,null,B(2,s=>t("div",{key:s,class:"mgmt-grid-block"},[t("div",Pa,[x(" اسلاید "+f(s)+" ",1),t("span",Ra," (چالش "+f((s-1)*15+1)+" تا "+f(s*15)+") ",1)]),t("div",Ta,[(c(!0),d(S,null,B(pt(s-1),i=>(c(),d("div",{key:i.slotNumber,class:H(["mgmt-slot",{"mgmt-slot--filled":!!i.challenge,"mgmt-slot--empty":!i.challenge}]),role:"button",tabindex:"0",onClick:o=>Ie(i),onKeydown:aa(et(o=>Ie(i),["prevent"]),["enter"])},[i.challenge?(c(),d(S,{key:0},[t("button",{type:"button",class:"mgmt-slot__delete",title:"حذف چالش",onClick:et(o=>Ct(i.challenge),["stop"])},[n(L,{icon:"vuesax-linear:trash"})],8,Ba),n(L,{icon:"vuesax-linear:edit",class:"mgmt-slot__icon"}),t("span",Na,"چالش "+f(i.slotNumber),1),t("span",{class:"mgmt-slot__title",title:i.challenge.title},f(i.challenge.title),9,Da)],64)):(c(),d(S,{key:1},[n(L,{icon:"vuesax-linear:add",class:"mgmt-slot__icon"}),t("span",Oa,"چالش "+f(i.slotNumber),1),ja],64))],42,Fa))),128))])])),64))])):(c(),d("div",Aa," از باکس سمت راست یک فصل را انتخاب کنید. "))])])])]),_:1}),n(g(re),{key:"chapters",tab:"مدیریت فصل‌ها"},{default:p(()=>[t("div",za,[Ea,n(l,{type:"primary",onClick:bt},{default:p(()=>[x("افزودن فصل")]),_:1})]),se.value?(c(),d("div",Ha,[n(g(Z),{size:"large"})])):(c(),d("div",Ia,[(c(!0),d(S,null,B(q.value,s=>(c(),d("div",{key:s.id,class:"chapter-admin-card"},[t("div",Wa,[t("div",Ka,f(s.title),1),t("div",Ja,f(s.subtitle||"بدون زیرعنوان"),1),t("div",Va," تم: "+f(rt(s.theme_key))+" · ترتیب: "+f(s.sort_order??0)+" · "+f(s.show?"نمایش":"مخفی")+" · "+f(le.value[s.id]||0)+" چالش ",1)]),t("div",Xa,[n(g(Oe),{class:"cursor-pointer"},{title:p(()=>[t("span",null,f(s.show?"مخفی کردن":"نمایش"),1)]),default:p(()=>[n(L,{icon:s.show?"vuesax-linear:eye-slash":"vuesax-linear:eye",color:s.show?"#F59E0B":"#16A34A",onClick:i=>xt(s)},null,8,["icon","color","onClick"])]),_:2},1024),n(g(Oe),{class:"cursor-pointer"},{title:p(()=>[Ga]),default:p(()=>[n(L,{icon:"vuesax-linear:edit",color:"#1D4ED8",onClick:i=>yt(s)},null,8,["onClick"])]),_:2},1024),n(g(Oe),{class:"cursor-pointer"},{title:p(()=>[Qa]),default:p(()=>[n(L,{icon:"vuesax-linear:trash",color:"#DC2626",onClick:i=>wt(s)},null,8,["onClick"])]),_:2},1024)])]))),128)),q.value.length?C("",!0):(c(),d("div",Za," هنوز فصلی تعریف نشده است. "))]))]),_:1}),n(g(re),{key:"progress",tab:"پیشرفت کاربران"},{default:p(()=>[t("div",Ya,[t("div",es,[t("aside",ts,[as,se.value?(c(),d("div",ss,[n(g(Z))])):(c(),d(S,{key:1},[(c(!0),d(S,null,B(q.value,(s,i)=>(c(),d("button",{key:s.id,type:"button",class:H(["mgmt-chapters__item",{"mgmt-chapters__item--active":R.value===s.id}]),onClick:o=>Qe(s.id)},[t("span",os,f(s.title||`فصل ${i+1}`),1),t("span",is,f(Ee.value[s.id]||0),1)],10,ls))),128)),t("button",{type:"button",class:H(["mgmt-chapters__item",{"mgmt-chapters__item--active":R.value===0}]),onClick:a[0]||(a[0]=s=>Qe(0))},[ns,t("span",us,f(Ee.value[0]||0),1)],2),q.value.length?C("",!0):(c(),d("div",rs," هنوز فصلی تعریف نشده است. "))],64))]),t("section",cs,[t("div",ds,[t("h2",_s,f(ct.value),1),n(l,{type:"dashed",size:"small",loading:de.value,onClick:xe},{default:p(()=>[x(" بروزرسانی ")]),_:1},8,["loading"])]),de.value?(c(),d("div",vs,[n(g(Z),{size:"large"})])):He.value.length?(c(),d("div",ps,[(c(),d(S,null,B(2,s=>t("div",{key:s,class:"mgmt-grid-block"},[t("div",hs,[x(" اسلاید "+f(s)+" ",1),t("span",fs," (چالش "+f((s-1)*15+1)+" تا "+f(s*15)+") ",1)]),t("div",gs,[(c(!0),d(S,null,B(ht(s-1),i=>(c(),d("button",{key:i.slotNumber,type:"button",class:H(["progress-slot",{"progress-slot--filled":!!i.challenge,"progress-slot--empty":!i.challenge}]),disabled:!i.challenge,onClick:o=>i.challenge&&Tt(i.challenge.id)},[i.challenge?(c(),d(S,{key:0},[t("span",ys,"چالش "+f(i.slotNumber),1),t("span",{class:"progress-slot__title",title:i.challenge.title},f(i.challenge.title),9,ks),t("div",xs,[t("span",null,f(i.challenge.unique_users_count)+" کاربر",1),t("span",null,f(i.challenge.times_performed)+" بار",1)]),t("span",ws,[x(" بازخوردها "),n(L,{icon:"vuesax-linear:arrow-left"})])],64)):(c(),d(S,{key:1},[t("span",Cs,"چالش "+f(i.slotNumber),1),qs],64))],10,bs))),128))])])),64))])):(c(),d("div",ms," چالشی در این فصل وجود ندارد. "))])])])]),_:1}),n(g(re),{key:"settings",tab:"تنظیمات صفحه"},{default:p(()=>[t("div",Us,[Ss,$s,t("div",null,[As,n(u,{value:ce.value.rules_aparat_embed_code,"onUpdate:value":a[1]||(a[1]=s=>ce.value.rules_aparat_embed_code=s),placeholder:"کد embed از آپارات",rows:4},null,8,["value"])]),n(l,{type:"primary",loading:Le.value,onClick:Dt},{default:p(()=>[x(" ذخیره تنظیمات ")]),_:1},8,["loading"])])]),_:1})]),_:1},8,["activeKey"]),n(U,{visible:Y.value,"onUpdate:visible":a[9]||(a[9]=s=>Y.value=s),title:ee.value?"ویرایش چالش":"افزودن چالش",onOk:jt,onCancel:Ne,width:"85%",confirmLoading:A.value>0},{default:p(()=>[t("div",Ls,[A.value>0?(c(),d("div",Ms,[n(g(Z),{size:"large"})])):C("",!0),t("div",null,[Ps,n(r,{value:h.value.title,"onUpdate:value":a[3]||(a[3]=s=>h.value.title=s),placeholder:"عنوان چالش"},null,8,["value"])]),t("div",Rs,[t("div",Ts,[Fs,n(g($e),{value:h.value.chapter_id,"onUpdate:value":a[4]||(a[4]=s=>h.value.chapter_id=s),class:"w-full","allow-clear":"",placeholder:"انتخاب فصل"},{default:p(()=>[(c(!0),d(S,null,B(q.value,s=>(c(),tt(g(P),{key:s.id,value:s.id},{default:p(()=>[x(f(s.title)+" ",1),t("span",Bs," ("+f(le.value[s.id]||0)+"/۳۰) ",1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"]),t("div",Ns,[x(" ترتیب نمایش از جایگاه گرید (چالش ۱ تا ۳۰) مشخص می‌شود. "),h.value.sort_order?(c(),d("span",Ds," جایگاه فعلی: چالش "+f(h.value.sort_order),1)):C("",!0)])]),t("div",null,[Os,t("div",js,[n(m,{value:h.value.show,"onUpdate:value":a[5]||(a[5]=s=>h.value.show=s)},null,8,["value"]),t("span",zs,f(h.value.show?"نمایش":"مخفی"),1)])]),t("div",null,[Es,n(g($e),{value:h.value.access_type,"onUpdate:value":a[6]||(a[6]=s=>h.value.access_type=s),class:"w-full"},{default:p(()=>[n(g(P),{value:"free"},{default:p(()=>[x("رایگان (همه کاربران)")]),_:1}),n(g(P),{value:"subscription"},{default:p(()=>[x("اشتراکی (فقط اشتراک فعال)")]),_:1})]),_:1},8,["value"])]),t("div",null,[Hs,n(r,{value:h.value.completion_points,"onUpdate:value":a[7]||(a[7]=s=>h.value.completion_points=s),type:"number",min:"0",placeholder:"50"},null,8,["value"])])]),t("div",Is,[t("div",null,[Ws,n(g(ne),{"file-list":K.value,"onUpdate:fileList":a[8]||(a[8]=s=>K.value=s),"before-upload":De,"custom-request":Ft,accept:"image/*","max-count":1,"list-type":"picture-card"},{default:p(()=>[K.value.length<1?(c(),d("div",Ks,[n(L,{icon:"vuesax-linear:image",class:"text-2xl mb-2"}),Js])):C("",!0)]),_:1},8,["file-list"]),z.value>0&&z.value<100?(c(),d("div",Vs,[t("div",Xs,[t("div",{class:"h-2 bg-blue-500 transition-all",style:Ce(pe(z.value))},null,4)])])):C("",!0)])]),Gs,t("div",Qs,[Zs,t("div",Ys,[(c(!0),d(S,null,B(h.value.steps,(s,i)=>(c(),d("div",{key:i,class:H(["step-form-box",{"step-form-box--final":s.is_final_step}])},[t("div",el,[t("div",tl,[x(" مرحله "+f(i+1)+" ",1),s.is_final_step?(c(),d("span",al,"(ماموریت پایانی)")):C("",!0)]),t("div",sl,[n(m,{value:s.is_final_step,"onUpdate:value":o=>s.is_final_step=o},null,8,["value","onUpdate:value"]),ll])]),t("div",null,[ol,n(u,{value:s.description,"onUpdate:value":o=>s.description=o,placeholder:"توضیحات مرحله",rows:2},null,8,["value","onUpdate:value"])]),t("div",il,[t("div",null,[nl,n(r,{value:s.duration_minutes,"onUpdate:value":o=>s.duration_minutes=o,type:"number",min:"1",placeholder:"1"},null,8,["value","onUpdate:value"])])]),t("div",null,[ul,n(u,{value:s.aparat_embed_code,"onUpdate:value":o=>s.aparat_embed_code=o,placeholder:"کد embed",rows:2},null,8,["value","onUpdate:value"])]),t("div",rl,[cl,n(g(ne),{"file-list":Fe(i,"kodoblu_voice_url"),"before-upload":Ze,"custom-request":o=>Ye(o,i,"kodoblu_voice_url"),accept:"audio/*","max-count":1,"show-upload-list":!1,onRemove:()=>ke(i,"kodoblu_voice_url")},{default:p(()=>[n(l,{type:"dashed"},{default:p(()=>[n(L,{icon:"vuesax-linear:voice-cricle",class:"ml-1"}),x(" آپلود وویس کدوبلو ")]),_:1})]),_:2},1032,["file-list","custom-request","onRemove"]),X(i,"kodoblu_voice_url")>0&&X(i,"kodoblu_voice_url")<100?(c(),d("div",dl,[t("div",_l,[t("div",{class:"h-2 bg-blue-500 transition-all",style:Ce(pe(X(i,"kodoblu_voice_url")))},null,4)])])):C("",!0),Je(i,"kodoblu_voice_url",s.kodoblu_voice_url)?(c(),d("div",vl,[t("div",ml,[pl,n(l,{type:"text",danger:"",size:"small",onClick:o=>ke(i,"kodoblu_voice_url")},{default:p(()=>[x(" حذف فایل ")]),_:2},1032,["onClick"])]),(c(),d("audio",{key:ie(i,"kodoblu_voice_url",s.kodoblu_voice_url),src:ie(i,"kodoblu_voice_url",s.kodoblu_voice_url),controls:"",preload:"metadata",class:"w-full"},null,8,hl))])):C("",!0),n(r,{value:s.kodoblu_voice_url,"onUpdate:value":o=>s.kodoblu_voice_url=o,placeholder:"مسیر وویس کدوبلو (پس از آپلود)"},null,8,["value","onUpdate:value"])]),t("div",null,[fl,n(g(ne),{"file-list":Be(i),"list-type":"picture-card","before-upload":De,"custom-request":o=>Bt(o,i),accept:"image/*",onRemove:o=>At(i,o)},{default:p(()=>[Be(i).length<8?(c(),d("div",gl,[n(L,{icon:"vuesax-linear:image",class:"text-xl mb-1"}),bl])):C("",!0)]),_:2},1032,["file-list","custom-request","onRemove"])]),yl,t("div",kl,[xl,t("div",wl,[t("label",Cl,[n(m,{value:s.enable_feedback_text,"onUpdate:value":o=>s.enable_feedback_text=o},null,8,["value","onUpdate:value"]),ql]),t("label",Ul,[n(m,{value:s.require_feedback_text,"onUpdate:value":o=>s.require_feedback_text=o,disabled:!s.enable_feedback_text},null,8,["value","onUpdate:value","disabled"]),Sl]),t("label",$l,[n(m,{value:s.enable_photo_upload,"onUpdate:value":o=>s.enable_photo_upload=o},null,8,["value","onUpdate:value"]),Al]),t("label",Ll,[n(m,{value:s.require_photo_upload,"onUpdate:value":o=>s.require_photo_upload=o,disabled:!s.enable_photo_upload},null,8,["value","onUpdate:value","disabled"]),Ml]),t("label",Pl,[n(m,{value:s.enable_voice_upload,"onUpdate:value":o=>s.enable_voice_upload=o},null,8,["value","onUpdate:value"]),Rl]),t("label",Tl,[n(m,{value:s.require_voice_upload,"onUpdate:value":o=>s.require_voice_upload=o,disabled:!s.enable_voice_upload},null,8,["value","onUpdate:value","disabled"]),Fl]),t("label",Bl,[n(m,{value:s.enable_mcq,"onUpdate:value":o=>s.enable_mcq=o},null,8,["value","onUpdate:value"]),Nl]),t("label",Dl,[n(m,{value:s.require_mcq,"onUpdate:value":o=>s.require_mcq=o,disabled:!s.enable_mcq},null,8,["value","onUpdate:value","disabled"]),Ol]),t("label",jl,[n(m,{value:s.enable_audio_section,"onUpdate:value":o=>s.enable_audio_section=o},null,8,["value","onUpdate:value"]),zl])]),s.enable_feedback_text?(c(),d("div",El,[t("div",null,[Hl,n(r,{value:s.feedback_text_title,"onUpdate:value":o=>s.feedback_text_title=o,placeholder:"مثلاً: بازخورد این مرحله"},null,8,["value","onUpdate:value"])]),t("div",null,[Il,n(r,{value:s.feedback_text_placeholder,"onUpdate:value":o=>s.feedback_text_placeholder=o,placeholder:"مثلاً: بازخورد خود را بنویس..."},null,8,["value","onUpdate:value"])])])):C("",!0),s.enable_mcq?(c(),d("div",Wl,[n(r,{value:s.mcq_question,"onUpdate:value":o=>s.mcq_question=o,placeholder:"متن سوال"},null,8,["value","onUpdate:value"]),(c(!0),d(S,null,B(s.mcq_options,(o,v)=>(c(),d("div",{key:v,class:"flex gap-2 items-center"},[n(r,{value:s.mcq_options[v],"onUpdate:value":b=>s.mcq_options[v]=b,placeholder:`گزینه ${v+1}`,class:"flex-1"},null,8,["value","onUpdate:value","placeholder"]),t("input",{type:"radio",name:`mcq-${i}`,checked:s.mcq_correct_index===v,onChange:b=>s.mcq_correct_index=v},null,40,Kl),Jl,s.mcq_options.length>2?(c(),tt(l,{key:0,danger:"",onClick:b=>s.mcq_options.splice(v,1)},{default:p(()=>[x("×")]),_:2},1032,["onClick"])):C("",!0)]))),128)),n(l,{type:"dashed",onClick:o=>s.mcq_options.push("")},{default:p(()=>[x("+ گزینه")]),_:2},1032,["onClick"])])):C("",!0),s.enable_audio_section?(c(),d("div",Vl,[Xl,n(g(ne),{"file-list":Fe(i,"audio_section_url"),"before-upload":Ze,"custom-request":o=>Ye(o,i,"audio_section_url"),accept:"audio/*","max-count":1,"show-upload-list":!1,onRemove:()=>ke(i,"audio_section_url")},{default:p(()=>[n(l,{type:"dashed"},{default:p(()=>[n(L,{icon:"vuesax-linear:voice-cricle",class:"ml-1"}),x(" آپلود فایل صوتی ")]),_:1})]),_:2},1032,["file-list","custom-request","onRemove"]),X(i,"audio_section_url")>0&&X(i,"audio_section_url")<100?(c(),d("div",Gl,[t("div",Ql,[t("div",{class:"h-2 bg-blue-500 transition-all",style:Ce(pe(X(i,"audio_section_url")))},null,4)])])):C("",!0),Je(i,"audio_section_url",s.audio_section_url)?(c(),d("div",Zl,[t("div",Yl,[eo,n(l,{type:"text",danger:"",size:"small",onClick:o=>ke(i,"audio_section_url")},{default:p(()=>[x(" حذف فایل ")]),_:2},1032,["onClick"])]),(c(),d("audio",{key:ie(i,"audio_section_url",s.audio_section_url),src:ie(i,"audio_section_url",s.audio_section_url),controls:"",preload:"metadata",class:"w-full"},null,8,to))])):C("",!0),n(r,{value:s.audio_section_url,"onUpdate:value":o=>s.audio_section_url=o,placeholder:"مسیر فایل صوتی (پس از آپلود)"},null,8,["value","onUpdate:value"])])):C("",!0)]),t("div",ao,[n(l,{type:"text",danger:"",onClick:o=>Mt(i),disabled:h.value.steps.length<=1},{default:p(()=>[n(L,{icon:"vuesax-linear:trash",color:"#DC2626"}),so]),_:2},1032,["onClick","disabled"])])],2))),128)),n(l,{type:"dashed",onClick:Lt,class:"w-full"},{default:p(()=>[lo]),_:1})])])])]),_:1},8,["visible","title","confirmLoading"]),n(U,{visible:oe.value,"onUpdate:visible":a[16]||(a[16]=s=>oe.value=s),title:ve.value?"ویرایش فصل":"افزودن فصل",onOk:kt,onCancel:Ke,width:"560px"},{default:p(()=>[t("div",oo,[t("div",null,[io,n(r,{value:w.value.title,"onUpdate:value":a[10]||(a[10]=s=>w.value.title=s),placeholder:"مثلاً خانه بهار"},null,8,["value"])]),t("div",null,[no,n(r,{value:w.value.subtitle,"onUpdate:value":a[11]||(a[11]=s=>w.value.subtitle=s),placeholder:"توضیح کوتاه روی بنر فصل"},null,8,["value"])]),t("div",uo,[t("div",null,[ro,n(g($e),{value:w.value.theme_key,"onUpdate:value":a[12]||(a[12]=s=>w.value.theme_key=s),class:"w-full"},{default:p(()=>[n(g(P),{value:"meadow"},{default:p(()=>[x("خانه کدوبلو")]),_:1}),n(g(P),{value:"cottage"},{default:p(()=>[x("کافه پفی")]),_:1}),n(g(P),{value:"forest"},{default:p(()=>[x("باغ میلا")]),_:1}),n(g(P),{value:"desert"},{default:p(()=>[x("کارگاه پیتو")]),_:1}),n(g(P),{value:"winter"},{default:p(()=>[x("خانه آرامان")]),_:1}),n(g(P),{value:"castle"},{default:p(()=>[x("میدان شهر")]),_:1}),n(g(P),{value:"tree"},{default:p(()=>[x("درخت پیرین")]),_:1})]),_:1},8,["value"])]),t("div",null,[co,n(r,{value:w.value.sort_order,"onUpdate:value":a[13]||(a[13]=s=>w.value.sort_order=s),type:"number",placeholder:"1"},null,8,["value"])])]),t("div",_o,[n(m,{value:w.value.show,"onUpdate:value":a[14]||(a[14]=s=>w.value.show=s)},null,8,["value"]),t("span",vo,f(w.value.show?"نمایش در نقشه":"مخفی"),1)]),t("div",null,[mo,n(g(ne),{"file-list":O.value,"onUpdate:fileList":a[15]||(a[15]=s=>O.value=s),"before-upload":De,"custom-request":Rt,accept:"image/*","max-count":1,"list-type":"picture-card",onRemove:Pt},{default:p(()=>[O.value.length<1?(c(),d("div",po,[n(L,{icon:"vuesax-linear:image",class:"text-2xl mb-2"}),ho])):C("",!0)]),_:1},8,["file-list"]),N.value>0&&N.value<100?(c(),d("div",fo,[t("div",go,[t("div",{class:"h-2 bg-blue-500 transition-all",style:Ce(pe(N.value))},null,4)])])):C("",!0),bo])])]),_:1},8,["visible","title"])]),_:1})],2)}}});const ei=ha(yo,[["__scopeId","data-v-dba07e20"]]);export{ei as default};