Files
machartaa_admin_dist/dist/assets/index-604fca04.js
T
2026-09-16 13:19:24 +03:30

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