2 lines
48 KiB
JavaScript
2 lines
48 KiB
JavaScript
import{_ as cs}from"./BasicMainCard-0ad7dc72.js";import{_ as ds}from"./BasicModal.vue_vue_type_style_index_0_lang-4b1d1ef5.js";import{_ as _s}from"./BaseSwitch.vue_vue_type_script_setup_true_lang-5acaa0f7.js";import{_ as vs}from"./BasicInput.vue_vue_type_style_index_0_lang-f043e831.js";import{_ as ms}from"./BasicTextArea.vue_vue_type_style_index_0_lang-32fdba83.js";import{_ as ps}from"./button.vue_vue_type_style_index_0_lang-bc3a48f6.js";import{d as hs,q as gs,u as fs,g as m,h as W,E as bs,v as ys,o as r,c,b as n,w as v,j as b,a as s,F as $,n as R,k as C,t as p,e as x,p as K,y as Ae,D as y,O as ks,P as xs,bF as ws,I as Le,bg as Cs,B as mt,i as pt}from"./index-24cdd011.js";import{g as Ss,c as Us,a as qs,u as ht,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 Fs}from"./stepChallenge-9ba07353.js";import{I as M}from"./Icon-767d2866.js";import{g as Y,e as O,a as Bs}from"./convert-2ad76038.js";import{T as gt}from"./index-bcc6b780.js";import{S as ee}from"./index-d68d1b34.js";import{M as ft}from"./index-5eb1b262.js";import{a as bt}from"./index-0ceac0d6.js";import{_ as Os}from"./index-942dc2ed.js";import{T as zs}from"./index-39621559.js";import{T as Ve}from"./isSymbol-e7ce9b5a.js";import{U as _e}from"./index-5477dee9.js";import{_ as Es}from"./_plugin-vue_export-helper-06d65383.js";import"./Grid-ce03674d.js";import"./index-ef7f0d13.js";import"./Col-8ec8a751.js";import"./styleChecker-aeb3f501.js";import"./isPlainObject-25081d35.js";import"./vnode-562ae89f.js";import"./usePrice-bc935b83.js";import"./index-cbf3fafb.js";import"./supabaseTableQuery-8ab5665d.js";import"./shallowequal-59945f6f.js";import"./index-4057f476.js";import"./index-fec9c5bc.js";import"./useState-bb6abd58.js";import"./useRefs-2bd76cbf.js";import"./_flatRest-28f96ed6.js";import"./isMobile-e2e89480.js";import"./omit-08db5ef5.js";import"./DialogWrap-4e2453b1.js";import"./pickAttrs-64381c06.js";import"./FormItemContext-a07e1be1.js";import"./toArray-e3c28da8.js";import"./SearchOutlined-3570b8ac.js";import"./useMemo-5fb6706d.js";import"./index-093e137a.js";import"./css-aae66f86.js";import"./index-3867b2dc.js";import"./index-9df579ce.js";const _=ve=>(ks("data-v-ad727d60"),ve=ve(),xs(),ve),js={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"],Vs={class:"mgmt-chapters__item-label"},Js={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"},na=["onClick","onKeydown"],ia=["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"},ha={class:"flex-1 min-w-0"},ga={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)),xa=_(()=>s("span",null,"حذف",-1)),wa={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"},Fa={class:"m-0 text-base font-semibold"},Ba={key:0,class:"py-16 flex justify-center"},Oa={key:1,class:"text-center text-gray-500 py-16"},za={key:2,class:"mgmt-grids"},Ea={class:"mgmt-grid-block__label"},ja={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"},Va={class:"progress-slot__action"},Ja={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"},nl={class:"suggestion-challenge-cell__step-desc"},il=["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)),hl={class:"grid grid-cols-1 sm:grid-cols-3 gap-4"},gl={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},xl=_(()=>s("div",{class:"mb-1 text-sm text-gray-600"},"وضعیت نمایش",-1)),wl={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"},Fl={class:"flex items-center justify-between gap-3"},Bl={class:"font-semibold text-gray-700"},Ol={key:0,class:"text-emerald-600 text-sm font-normal mr-1"},zl={class:"flex items-center gap-2"},El=_(()=>s("span",{class:"text-sm text-gray-600"},"ماموریت پایانی",-1)),jl=_(()=>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)),Vl={key:0,class:"mt-1"},Jl={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)),no={class:"grid grid-cols-1 sm:grid-cols-2 gap-3"},io={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)),ho={class:"flex items-center gap-2"},go=_(()=>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)),xo={class:"flex items-center gap-2"},wo=_(()=>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"},Fo={class:"flex items-center justify-between mb-2"},Bo=_(()=>s("div",{class:"step-audio-preview__label mb-0"},"پیشنمایش بخش صوت",-1)),Oo=["src"],zo={class:"flex justify-end pt-1"},Eo=_(()=>s("span",{class:"text-[#DC2626]"},"حذف مرحله",-1)),jo=_(()=>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)),Vo=_(()=>s("div",{class:"mb-1 text-sm text-gray-600"},"ترتیب",-1)),Jo={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)),en={key:0,class:"mt-1"},tn={class:"h-2 rounded bg-gray-200 overflow-hidden"},sn=_(()=>s("div",{class:"text-xs text-gray-400 mt-1"},"اگر خالی باشد، تصویر تم انتخابشده استفاده میشود.",-1)),an={class:"text-sm text-gray-500 mb-2"},ln={class:"whitespace-pre-wrap leading-7 text-gray-800"},Te=30,Pe=15,Je=80,on=hs({__name:"index",setup(ve){const yt=gt,te=gt.TabPane,Me=bt,D=bt.Option,kt=gs(),xt=fs(),j=m(kt.query.tab==="progress"?"progress":"challenges"),se=m(!1),ae=m(!1),le=m(null),Re=m(null),De=m(!1),me=m({rules_aparat_embed_code:""}),Ne=m(!1),Fe=m(""),Xe=m([]),oe=m(1),ne=m(20),Qe=m(0),G=m({}),pe=m(!1),Be=m(""),Oe=m(""),wt=[{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:ne.value,total:Qe.value,showSizeChanger:!0,showTotal:e=>`${e} مورد`})),he=m(!1),V=m([]),N=m(null),L=m(null),ze=m(!1),ge=m([]),J=m([]),ie=m({}),Ee=m({}),X=m({}),Q=m({}),T=m(0),I=m(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}),h=m({title:"",character_image_url:null,show:!1,access_type:"subscription",sort_order:0,completion_points:50,chapter_id:null,steps:[je()]}),q=m([]),ue=m(!1),re=m({}),ce=m(!1),fe=m(!1),be=m(null),S=m({title:"",subtitle:"",theme_key:"meadow",cover_image_url:null,sort_order:0,show:!0}),z=m([]),B=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 V.value){const l=a.chapter_id??0;e[l]=(e[l]||0)+1}return e}),tt=W(()=>N.value===null?[]:N.value===0?V.value.filter(e=>e.chapter_id==null):V.value.filter(e=>e.chapter_id===N.value)),qt=W(()=>At(ge.value)),$t=W(()=>Lt(tt.value));function At(e){const a=Array.from({length:Te},()=>null),l=new Set;for(const u of e){const d=Number(u.sort_order);d>=1&&d<=Te&&!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:Te},()=>null),l=new Set;for(const u of e){const d=Number(u.sort_order);d>=1&&d<=Te&&!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*Pe;return qt.value.slice(a,a+Pe)}function Pt(e){const a=e*Pe;return $t.value.slice(a,a+Pe)}async function E(){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):ge.value=[]}catch(a){y.error(a.message||"خطا در بارگذاری فصلها")}finally{ue.value=!1}}async function Ie(e){ze.value=!0;try{ge.value=await qs(e)}catch(a){y.error(a.message||"خطا در بارگذاری چالشهای فصل"),ge.value=[]}finally{ze.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}ae.value=!1,le.value=null,Re.value=null,ut(),h.value.chapter_id=L.value,h.value.sort_order=e,h.value.show=!0,se.value=!0}function at(){S.value={title:"",subtitle:"",theme_key:"meadow",cover_image_url:null,sort_order:(q.value.length||0)+1,show:!0},z.value=[],B.value=0}function Dt(){fe.value=!1,be.value=null,at(),ce.value=!0}function Nt(e){fe.value=!0,be.value=e.id||null,S.value={title:e.title||"",subtitle:e.subtitle||"",theme_key:e.theme_key||"meadow",cover_image_url:O(e.cover_image_url)||null,sort_order:e.sort_order||0,show:e.show!==!1},e.cover_image_url?z.value=[{uid:`${Date.now()}`,name:"chapter.jpg",status:"done",url:Y(e.cover_image_url)}]:z.value=[],B.value=0,ce.value=!0}function lt(){ce.value=!1,at()}async function Ft(){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};fe.value&&be.value?(await ht(be.value,e),y.success("فصل ویرایش شد")):(await $s(e),y.success("فصل اضافه شد")),lt(),await E()}catch(e){y.error(e.message||"خطا در ذخیره فصل")}}async function Bt(e){e.id&&(await ht(e.id,{show:!e.show}),y.success(e.show?"فصل مخفی شد":"فصل نمایش داده میشود"),await E())}async function Ot(e){e.id&&ft.confirm({title:"حذف فصل",content:"با حذف فصل، چالشهای آن بدون فصل میمانند. ادامه میدهید؟",okText:"بله",cancelText:"خیر",onOk:async()=>{await Ds(e.id),y.success("فصل حذف شد"),await E()}})}async function zt(e){e!=null&&e.id&&ft.confirm({title:"حذف چالش",content:`چالش «${e.title}» و تمام مراحل و پیشرفت کاربران آن حذف میشود. ادامه میدهید؟`,okText:"حذف",okType:"danger",cancelText:"انصراف",onOk:async()=>{try{await Ns(e.id),y.success("چالش حذف شد"),le.value===e.id&&Ke(),L.value&&await Ie(L.value),await E(),V.value.length&&await qe()}catch(a){throw y.error(a.message||"خطا در حذف چالش"),a}}})}function ye(e){return{width:`${Math.max(0,Math.min(100,e))}%`}}function ke(){return ws()||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 O(String(a||""))}function we(e,a,l){const u=[...h.value.steps];u[e]={...u[e],[a]:l},h.value.steps=u}function F(e,a){return`${e}:${a}`}function He(e,a){return ie.value[F(e,a)]||[]}function Z(e,a){return Ee.value[F(e,a)]||0}function Ce(e,a,l){Ee.value[F(e,a)]=l}function Se(e){return e?e.startsWith("http://")||e.startsWith("https://")?e:Bs(e):""}function Et(e,a){return X.value[F(e,a)]||""}function H(e,a){const l=F(e,a),u=X.value[l];u&&(URL.revokeObjectURL(u),delete X.value[l])}function jt(){Object.values(X.value).forEach(e=>URL.revokeObjectURL(e)),X.value={}}function de(e,a,l){const u=Et(e,a);if(u)return u;if(l!=null&&l.trim())return Se(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(){jt(),ie.value={},Ee.value={}}function Ht(){Q.value={}}function We(e){return Q.value[e]||[]}function nt(){const e={};h.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:Y(d),response:{path:O(d)||d}})))}),Q.value=e}function it(){const e={};h.value.steps.forEach((a,l)=>{a.audio_section_url&&(e[F(l,"audio_section_url")]=[{uid:`audio-section-${l}`,name:"audio-section.mp3",status:"done",url:Se(a.audio_section_url)}]),a.kodoblu_voice_url&&(e[F(l,"kodoblu_voice_url")]=[{uid:`kodoblu-voice-${l}`,name:"kodoblu-voice.mp3",status:"done",url:Se(a.kodoblu_voice_url)}])}),ie.value=e}function Ue(e,a){H(e,a),we(e,a,""),ie.value[F(e,a)]=[]}function Wt(e,a){var d,f;const l=O(((d=a.response)==null?void 0:d.path)||a.url||""),u=((f=h.value.steps[e])==null?void 0:f.step_images)||[];we(e,"step_images",u.filter(k=>O(k)!==l)),Q.value[e]=(Q.value[e]||[]).filter(k=>k.uid!==a.uid)}function ut(){h.value={title:"",character_image_url:null,show:!1,access_type:"subscription",sort_order:0,completion_points:50,chapter_id:null,steps:[je()]},J.value=[],It(),Ht()}function Ke(){se.value=!1,ut()}function Kt(){h.value.steps.push(je())}function Gt(e){h.value.steps.length<=1||(H(e,"kodoblu_voice_url"),H(e,"audio_section_url"),h.value.steps.splice(e,1),it(),nt())}async function qe(){var e;he.value=!0;try{V.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 Vt(){S.value.cover_image_url=null,z.value=[]}async function Jt(e){const{file:a,onSuccess:l,onError:u,onProgress:d}=e,f=new FormData;f.append("file",a);const k=`${Le}/upload/machartaa-img`;B.value=0,T.value++,await new Promise((U,P)=>{const g=new XMLHttpRequest;g.open("POST",k),g.setRequestHeader("Authorization",`Bearer ${ke()}`),g.upload.onprogress=t=>{if(t.lengthComputable){const o=Math.round(t.loaded/t.total*100);B.value=o,d==null||d({percent:o})}},g.onload=()=>{if(B.value=100,g.status>=200&&g.status<300)try{const t=JSON.parse(g.responseText||"{}"),o=xe(t);if(!o)throw new Error("مسیر فایل از سرور دریافت نشد");const i=Y(o);S.value.cover_image_url=o,z.value=i?[{uid:`${Date.now()}`,name:"chapter.jpg",status:"done",url:i,response:{path:o}}]:[],l==null||l(t,g),y.success("تصویر فصل آپلود شد"),U()}catch(t){u==null||u(t,g),P(t)}else{const t=new Error("خطا در آپلود تصویر فصل");u==null||u(t,g),P(t)}},g.onerror=()=>{u==null||u(new Error("خطا در آپلود تصویر فصل!"),g),P(new Error("خطا در آپلود تصویر فصل!"))},g.onloadend=()=>{T.value=Math.max(0,T.value-1),B.value=0},g.send(f)})}function Xt(e){xt.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=`${Le}/upload/machartaa-img`;I.value=0,T.value++,await new Promise((U,P)=>{const g=new XMLHttpRequest;g.open("POST",k),g.setRequestHeader("Authorization",`Bearer ${ke()}`),g.upload.onprogress=t=>{if(t.lengthComputable){const o=Math.round(t.loaded/t.total*100);I.value=o,d==null||d({percent:o})}},g.onload=()=>{if(I.value=100,g.status>=200&&g.status<300)try{const t=JSON.parse(g.responseText||"{}"),o=xe(t);if(!o)throw new Error("مسیر فایل از سرور دریافت نشد");const i=Y(o);h.value.character_image_url=o,J.value=i?[{uid:`${Date.now()}`,name:"image.jpg",status:"done",url:i,response:{path:o}}]:[],l==null||l(t,g),y.success("تصویر با موفقیت آپلود شد!"),U()}catch(t){u==null||u(t,g),P(t)}else{const t=new Error("خطا در آپلود تصویر");u==null||u(t,g),P(t)}},g.onerror=()=>{u==null||u(new Error("خطا در آپلود تصویر!"),g),P(new Error("خطا در آپلود تصویر!"))},g.onloadend=()=>{T.value=Math.max(0,T.value-1),I.value=0},g.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=`${Le}/upload/machartaa-img`;T.value++,await new Promise((P,g)=>{const t=new XMLHttpRequest;t.open("POST",U),t.setRequestHeader("Authorization",`Bearer ${ke()}`),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 i=JSON.parse(t.responseText||"{}"),w=xe(i);if(!w)throw new Error("مسیر تصویر از سرور دریافت نشد");const A=[...((o=h.value.steps[a])==null?void 0:o.step_images)||[],w];we(a,"step_images",A);const vt={uid:`${Date.now()}-${a}`,name:l.name||"image.jpg",status:"done",url:Y(w),response:{path:w}};Q.value[a]=[...We(a),vt],u==null||u(i,t),y.success("عکس مرحله با موفقیت آپلود شد!"),P()}catch(i){d==null||d(i,t),g(i)}else{const i=new Error("خطا در آپلود عکس مرحله");d==null||d(i,t),g(i)}},t.onerror=()=>{d==null||d(new Error("خطا در آپلود عکس مرحله!"),t),g(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=`${Le}/upload/machartaa-audio`;H(a,l),X.value[F(a,l)]=URL.createObjectURL(u),Ce(a,l,0),T.value++,await new Promise((g,t)=>{const o=new XMLHttpRequest;o.open("POST",P),o.setRequestHeader("Authorization",`Bearer ${ke()}`),o.timeout=15*60*1e3,o.upload.onprogress=i=>{if(i.lengthComputable){const w=Math.round(i.loaded/i.total*100);Ce(a,l,w),k==null||k({percent:w})}},o.onload=()=>{if(Ce(a,l,100),o.status>=200&&o.status<300)try{const i=JSON.parse(o.responseText||"{}"),w=xe(i);if(!w)throw new Error("مسیر فایل صوتی از سرور دریافت نشد");H(a,l),we(a,l,w);const A=Se(w);ie.value[F(a,l)]=A?[{uid:`${Date.now()}`,name:u.name||"audio.mp3",status:"done",url:A,response:{path:w}}]:[],d==null||d(i,o),y.success("فایل صوتی با موفقیت آپلود شد!"),g()}catch(i){f==null||f(i,o),t(i)}else{H(a,l);const i=new Error("خطا در آپلود فایل صوتی");f==null||f(i,o),t(i)}},o.onerror=()=>{H(a,l),f==null||f(new Error("خطا در آپلود فایل صوتی!"),o),t(new Error("خطا در آپلود فایل صوتی!"))},o.onloadend=()=>{T.value=Math.max(0,T.value-1),Ce(a,l,0)},o.send(U)})}async function Yt(e){try{const a=await Fs(e.id);ae.value=!0,le.value=e.id,Re.value=a.chapter_id??null,h.value={title:a.title,character_image_url:O(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&&(J.value=[{uid:`${Date.now()}`,name:"image.jpg",status:"done",url:Y(a.character_image_url)}]),it(),nt(),se.value=!0}catch(a){y.error(a.message||"خطا در بارگذاری چالش")}}async function es(){var e;De.value=!0;try{await Ls({rules_aparat_embed_code:((e=me.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();me.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)*ne.value+e+1}function as(e){const a=(e||"").trim();return a.length<=Je?a:`${a.slice(0,Je)}`}function ls(e){return(e||"").trim().length>Je}function os(e){G.value={...G.value,[e]:!G.value[e]}}function ns(e,a){Be.value=e||"",Oe.value=a||"توضیحات کامل",pe.value=!0}function is(){pe.value=!1,Be.value="",Oe.value=""}async function $e(){Ne.value=!0;try{const{rows:e,total:a}=await Ps({page:oe.value,pageSize:ne.value,search:Fe.value});Xe.value=e,Qe.value=a}catch(e){y.error(e.message||"خطا در بارگذاری چالشهای پیشنهادی")}finally{Ne.value=!1}}function _t(){oe.value=1,$e()}function us(e){oe.value=(e==null?void 0:e.current)||1,ne.value=(e==null?void 0:e.pageSize)||ne.value,$e()}bs(j,e=>{e==="progress"&&(E(),V.value.length||qe()),(e==="chapters"||e==="challenges")&&E(),e==="suggestions"&&$e()}),ys(()=>{ts(),E(),j.value==="progress"&&qe(),j.value==="suggestions"&&$e()});async function rs(){if(!h.value.title.trim()){y.error("عنوان چالش الزامی است");return}if(T.value>0){y.warning("لطفاً تا پایان آپلود فایلها صبر کنید");return}if(h.value.chapter_id){const e=re.value[h.value.chapter_id]||0;if(!(ae.value&&Re.value===h.value.chapter_id)&&e>=30){y.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:O((l=a.kodoblu_voice_url)==null?void 0:l.trim())||"",audio_section_url:O((u=a.audio_section_url)==null?void 0:u.trim())||"",step_images:(a.step_images||[]).map(d=>O(d)||d).filter(Boolean)}})};ae.value&&le.value?(await Ms(le.value,e),y.success("چالش ویرایش شد")):(await Rs(e,null),y.success("چالش اضافه شد")),Ke(),await E()}catch(e){y.error(e.message||"خطا در ذخیره چالش")}}return(e,a)=>{const l=ps,u=Os,d=zs,f=ms,k=vs,U=_s,P=ds,g=cs;return r(),c("div",{class:K(["step-challenges-page",{"step-challenges-page--mgmt":j.value==="challenges"||j.value==="progress"}])},[n(g,null,{default:v(()=>[n(b(yt),{activeKey:j.value,"onUpdate:activeKey":a[3]||(a[3]=t=>j.value=t),class:"step-challenges-tabs"},{default:v(()=>[n(b(te),{key:"challenges",tab:"مدیریت چالشها"},{default:v(()=>[s("div",js,[s("div",Is,[s("aside",Hs,[Ws,ue.value?(r(),c("div",Ks,[n(b(ee))])):(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:i=>Mt(t.id)},[s("span",Vs,p(t.title||`فصل ${o+1}`),1),s("span",Js,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?ze.value?(r(),c("div",ta,[n(b(ee),{size:"large"})])):(r(),c("div",sa,[(r(),c($,null,R(2,t=>s("div",{key:t,class:"mgmt-grid-block"},[s("div",aa,[x(" اسلاید "+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:i=>st(o),onKeydown:Cs(mt(i=>st(o),["prevent"]),["enter"])},[o.challenge?(r(),c($,{key:0},[s("button",{type:"button",class:"mgmt-slot__delete",title:"حذف چالش",onClick:mt(i=>zt(o.challenge),["stop"])},[n(M,{icon:"vuesax-linear:trash"})],8,ia),n(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},[n(M,{icon:"vuesax-linear:add",class:"mgmt-slot__icon"}),s("span",ca,p(o.slotNumber),1),da],64))],42,na))),128))])])),64))])):(r(),c("div",ea," از باکس سمت راست یک فصل را انتخاب کنید. "))])])])]),_:1}),n(b(te),{key:"chapters",tab:"مدیریت فصلها"},{default:v(()=>[s("div",_a,[va,n(l,{type:"primary",onClick:Dt},{default:v(()=>[x("افزودن فصل")]),_:1})]),ue.value?(r(),c("div",ma,[n(b(ee),{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",ha,[s("div",ga,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,[n(b(Ve),{class:"cursor-pointer"},{title:v(()=>[s("span",null,p(t.show?"مخفی کردن":"نمایش"),1)]),default:v(()=>[n(M,{icon:t.show?"vuesax-linear:eye-slash":"vuesax-linear:eye",color:t.show?"#F59E0B":"#16A34A",onClick:o=>Bt(t)},null,8,["icon","color","onClick"])]),_:2},1024),n(b(Ve),{class:"cursor-pointer"},{title:v(()=>[ka]),default:v(()=>[n(M,{icon:"vuesax-linear:edit",color:"#1D4ED8",onClick:o=>Nt(t)},null,8,["onClick"])]),_:2},1024),n(b(Ve),{class:"cursor-pointer"},{title:v(()=>[xa]),default:v(()=>[n(M,{icon:"vuesax-linear:trash",color:"#DC2626",onClick:o=>Ot(t)},null,8,["onClick"])]),_:2},1024)])]))),128)),q.value.length?C("",!0):(r(),c("div",wa," هنوز فصلی تعریف نشده است. "))]))]),_:1}),n(b(te),{key:"progress",tab:"پیشرفت کاربران"},{default:v(()=>[s("div",Ca,[s("div",Sa,[s("aside",Ua,[qa,ue.value?(r(),c("div",$a,[n(b(ee))])):(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:i=>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",Fa,p(Ut.value),1),n(l,{type:"dashed",size:"small",loading:he.value,onClick:qe},{default:v(()=>[x(" بروزرسانی ")]),_:1},8,["loading"])]),he.value?(r(),c("div",Ba,[n(b(ee),{size:"large"})])):tt.value.length?(r(),c("div",za,[(r(),c($,null,R(2,t=>s("div",{key:t,class:"mgmt-grid-block"},[s("div",Ea,[x(" اسلاید "+p(t)+" ",1),s("span",ja," (چالش "+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:i=>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",Va,[x(" بازخوردها "),n(M,{icon:"vuesax-linear:arrow-left"})])],64)):(r(),c($,{key:1},[s("span",Ja,p(o.slotNumber),1),Xa],64))],10,Ha))),128))])])),64))])):(r(),c("div",Oa," چالشی در این فصل وجود ندارد. "))])])])]),_:1}),n(b(te),{key:"suggestions",tab:"چالشهای پیشنهادی"},{default:v(()=>[s("div",Qa,[s("div",Za,[Ya,n(u,{value:Fe.value,"onUpdate:value":a[1]||(a[1]=t=>Fe.value=t),placeholder:"جستجو بر اساس نام، موبایل یا عنوان","allow-clear":"",class:"max-w-sm",onSearch:_t,onPressEnter:_t},null,8,["value"])]),n(d,{columns:wt,"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:i})=>{var w;return[t.key==="row"?(r(),c($,{key:0},[x(p(ss(i)),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:G.value[o.id]?"بستن مراحل":"نمایش مراحل",onClick:A=>os(o.id)},[n(M,{icon:G.value[o.id]?"vuesax-linear:arrow-up-1":"vuesax-linear:arrow-downره"},null,8,["icon"])],8,al)]),G.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",nl,[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=>ns(A.description,`مرحله ${A.step_order} — ${o.title}`)}," ... ",8,il)):C("",!0)])]))),128)),(w=o.steps)!=null&&w.length?C("",!0):(r(),c("div",ul," مرحلهای ثبت نشده است. "))])):C("",!0)])):C("",!0)]}),_:1},8,["data-source","loading","pagination"])])]),_:1}),n(b(te),{key:"settings",tab:"تنظیمات صفحه"},{default:v(()=>[s("div",rl,[cl,dl,s("div",null,[_l,n(f,{value:me.value.rules_aparat_embed_code,"onUpdate:value":a[2]||(a[2]=t=>me.value.rules_aparat_embed_code=t),placeholder:"کد embed از آپارات",rows:4},null,8,["value"])]),n(l,{type:"primary",loading:De.value,onClick:es},{default:v(()=>[x(" ذخیره تنظیمات ")]),_:1},8,["loading"])])]),_:1})]),_:1},8,["activeKey"]),n(P,{visible:se.value,"onUpdate:visible":a[10]||(a[10]=t=>se.value=t),title:ae.value?"ویرایش چالش":"افزودن چالش",onOk:rs,onCancel:Ke,width:"85%",confirmLoading:T.value>0},{default:v(()=>[s("div",vl,[T.value>0?(r(),c("div",ml,[n(b(ee),{size:"large"})])):C("",!0),s("div",null,[pl,n(k,{value:h.value.title,"onUpdate:value":a[4]||(a[4]=t=>h.value.title=t),placeholder:"عنوان چالش"},null,8,["value"])]),s("div",hl,[s("div",gl,[fl,n(b(Me),{value:h.value.chapter_id,"onUpdate:value":a[5]||(a[5]=t=>h.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(()=>[x(p(t.title)+" ",1),s("span",bl," ("+p(re.value[t.id]||0)+"/۳۰) ",1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"]),s("div",yl,[x(" ترتیب نمایش از جایگاه گرید (چالش ۱ تا ۳۰) مشخص میشود. "),h.value.sort_order?(r(),c("span",kl," جایگاه فعلی: چالش "+p(h.value.sort_order),1)):C("",!0)])]),s("div",null,[xl,s("div",wl,[n(U,{value:h.value.show,"onUpdate:value":a[6]||(a[6]=t=>h.value.show=t)},null,8,["value"]),s("span",Cl,p(h.value.show?"نمایش":"مخفی"),1)])]),s("div",null,[Sl,n(b(Me),{value:h.value.access_type,"onUpdate:value":a[7]||(a[7]=t=>h.value.access_type=t),class:"w-full"},{default:v(()=>[n(b(D),{value:"free"},{default:v(()=>[x("رایگان (همه کاربران)")]),_:1}),n(b(D),{value:"subscription"},{default:v(()=>[x("اشتراکی (فقط اشتراک فعال)")]),_:1})]),_:1},8,["value"])]),s("div",null,[Ul,n(k,{value:h.value.completion_points,"onUpdate:value":a[8]||(a[8]=t=>h.value.completion_points=t),type:"number",min:"0",placeholder:"50"},null,8,["value"])])]),s("div",ql,[s("div",null,[$l,n(b(_e),{"file-list":J.value,"onUpdate:fileList":a[9]||(a[9]=t=>J.value=t),"before-upload":Ge,"custom-request":Qt,accept:"image/*","max-count":1,"list-type":"picture-card"},{default:v(()=>[J.value.length<1?(r(),c("div",Al,[n(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:Ae(ye(I.value))},null,4)])])):C("",!0)])]),Ml,s("div",Rl,[Dl,s("div",Nl,[(r(!0),c($,null,R(h.value.steps,(t,o)=>(r(),c("div",{key:o,class:K(["step-form-box",{"step-form-box--final":t.is_final_step}])},[s("div",Fl,[s("div",Bl,[x(" مرحله "+p(o+1)+" ",1),t.is_final_step?(r(),c("span",Ol,"(ماموریت پایانی)")):C("",!0)]),s("div",zl,[n(U,{value:t.is_final_step,"onUpdate:value":i=>t.is_final_step=i},null,8,["value","onUpdate:value"]),El])]),s("div",null,[jl,n(f,{value:t.description,"onUpdate:value":i=>t.description=i,placeholder:"توضیحات مرحله",rows:2},null,8,["value","onUpdate:value"])]),s("div",Il,[s("div",null,[Hl,n(k,{value:t.duration_minutes,"onUpdate:value":i=>t.duration_minutes=i,type:"number",min:"0",placeholder:"0"},null,8,["value","onUpdate:value"])])]),s("div",null,[Wl,n(f,{value:t.aparat_embed_code,"onUpdate:value":i=>t.aparat_embed_code=i,placeholder:"کد embed",rows:2},null,8,["value","onUpdate:value"])]),s("div",Kl,[Gl,n(b(_e),{"file-list":He(o,"kodoblu_voice_url"),"before-upload":ct,"custom-request":i=>dt(i,o,"kodoblu_voice_url"),accept:"audio/*","max-count":1,"show-upload-list":!1,onRemove:()=>Ue(o,"kodoblu_voice_url")},{default:v(()=>[n(l,{type:"dashed"},{default:v(()=>[n(M,{icon:"vuesax-linear:voice-cricle",class:"ml-1"}),x(" آپلود وویس کدوبلو ")]),_:1})]),_:2},1032,["file-list","custom-request","onRemove"]),Z(o,"kodoblu_voice_url")>0&&Z(o,"kodoblu_voice_url")<100?(r(),c("div",Vl,[s("div",Jl,[s("div",{class:"h-2 bg-blue-500 transition-all",style:Ae(ye(Z(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,n(l,{type:"text",danger:"",size:"small",onClick:i=>Ue(o,"kodoblu_voice_url")},{default:v(()=>[x(" حذف فایل ")]),_: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),n(k,{value:t.kodoblu_voice_url,"onUpdate:value":i=>t.kodoblu_voice_url=i,placeholder:"مسیر وویس کدوبلو (پس از آپلود)"},null,8,["value","onUpdate:value"])]),s("div",null,[eo,n(b(_e),{"file-list":We(o),"list-type":"picture-card","before-upload":Ge,"custom-request":i=>Zt(i,o),accept:"image/*",onRemove:i=>Wt(o,i)},{default:v(()=>[We(o).length<8?(r(),c("div",to,[n(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",no,[s("label",io,[n(U,{value:t.enable_feedback_text,"onUpdate:value":i=>t.enable_feedback_text=i},null,8,["value","onUpdate:value"]),uo]),s("label",ro,[n(U,{value:t.require_feedback_text,"onUpdate:value":i=>t.require_feedback_text=i,disabled:!t.enable_feedback_text},null,8,["value","onUpdate:value","disabled"]),co]),s("label",_o,[n(U,{value:t.enable_photo_upload,"onUpdate:value":i=>t.enable_photo_upload=i},null,8,["value","onUpdate:value"]),vo]),s("label",mo,[n(U,{value:t.require_photo_upload,"onUpdate:value":i=>t.require_photo_upload=i,disabled:!t.enable_photo_upload},null,8,["value","onUpdate:value","disabled"]),po]),s("label",ho,[n(U,{value:t.enable_voice_upload,"onUpdate:value":i=>t.enable_voice_upload=i},null,8,["value","onUpdate:value"]),go]),s("label",fo,[n(U,{value:t.require_voice_upload,"onUpdate:value":i=>t.require_voice_upload=i,disabled:!t.enable_voice_upload},null,8,["value","onUpdate:value","disabled"]),bo]),s("label",yo,[n(U,{value:t.enable_mcq,"onUpdate:value":i=>t.enable_mcq=i},null,8,["value","onUpdate:value"]),ko]),s("label",xo,[n(U,{value:t.require_mcq,"onUpdate:value":i=>t.require_mcq=i,disabled:!t.enable_mcq},null,8,["value","onUpdate:value","disabled"]),wo]),s("label",Co,[n(U,{value:t.enable_audio_section,"onUpdate:value":i=>t.enable_audio_section=i},null,8,["value","onUpdate:value"]),So])]),t.enable_feedback_text?(r(),c("div",Uo,[s("div",null,[qo,n(k,{value:t.feedback_text_title,"onUpdate:value":i=>t.feedback_text_title=i,placeholder:"مثلاً: بازخورد این مرحله"},null,8,["value","onUpdate:value"])]),s("div",null,[$o,n(k,{value:t.feedback_text_placeholder,"onUpdate:value":i=>t.feedback_text_placeholder=i,placeholder:"مثلاً: بازخورد خود را بنویس..."},null,8,["value","onUpdate:value"])])])):C("",!0),t.enable_mcq?(r(),c("div",Ao,[n(k,{value:t.mcq_question,"onUpdate:value":i=>t.mcq_question=i,placeholder:"متن سوال"},null,8,["value","onUpdate:value"]),(r(!0),c($,null,R(t.mcq_options,(i,w)=>(r(),c("div",{key:w,class:"flex gap-2 items-center"},[n(k,{value:t.mcq_options[w],"onUpdate:value":A=>t.mcq_options[w]=A,placeholder:`گزینه ${w+1}`,class:"flex-1"},null,8,["value","onUpdate:value","placeholder"]),s("input",{type:"radio",name:`mcq-${o}`,checked:t.mcq_correct_index===w,onChange:A=>t.mcq_correct_index=w},null,40,Lo),To,t.mcq_options.length>2?(r(),pt(l,{key:0,danger:"",onClick:A=>t.mcq_options.splice(w,1)},{default:v(()=>[x("×")]),_:2},1032,["onClick"])):C("",!0)]))),128)),n(l,{type:"dashed",onClick:i=>t.mcq_options.push("")},{default:v(()=>[x("+ گزینه")]),_:2},1032,["onClick"])])):C("",!0),t.enable_audio_section?(r(),c("div",Po,[Mo,n(b(_e),{"file-list":He(o,"audio_section_url"),"before-upload":ct,"custom-request":i=>dt(i,o,"audio_section_url"),accept:"audio/*","max-count":1,"show-upload-list":!1,onRemove:()=>Ue(o,"audio_section_url")},{default:v(()=>[n(l,{type:"dashed"},{default:v(()=>[n(M,{icon:"vuesax-linear:voice-cricle",class:"ml-1"}),x(" آپلود فایل صوتی ")]),_:1})]),_:2},1032,["file-list","custom-request","onRemove"]),Z(o,"audio_section_url")>0&&Z(o,"audio_section_url")<100?(r(),c("div",Ro,[s("div",Do,[s("div",{class:"h-2 bg-blue-500 transition-all",style:Ae(ye(Z(o,"audio_section_url")))},null,4)])])):C("",!0),ot(o,"audio_section_url",t.audio_section_url)?(r(),c("div",No,[s("div",Fo,[Bo,n(l,{type:"text",danger:"",size:"small",onClick:i=>Ue(o,"audio_section_url")},{default:v(()=>[x(" حذف فایل ")]),_: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,Oo))])):C("",!0),n(k,{value:t.audio_section_url,"onUpdate:value":i=>t.audio_section_url=i,placeholder:"مسیر فایل صوتی (پس از آپلود)"},null,8,["value","onUpdate:value"])])):C("",!0)]),s("div",zo,[n(l,{type:"text",danger:"",onClick:i=>Gt(o),disabled:h.value.steps.length<=1},{default:v(()=>[n(M,{icon:"vuesax-linear:trash",color:"#DC2626"}),Eo]),_:2},1032,["onClick","disabled"])])],2))),128)),n(l,{type:"dashed",onClick:Kt,class:"w-full"},{default:v(()=>[jo]),_:1})])])])]),_:1},8,["visible","title","confirmLoading"]),n(P,{visible:ce.value,"onUpdate:visible":a[17]||(a[17]=t=>ce.value=t),title:fe.value?"ویرایش فصل":"افزودن فصل",onOk:Ft,onCancel:lt,width:"560px"},{default:v(()=>[s("div",Io,[s("div",null,[Ho,n(k,{value:S.value.title,"onUpdate:value":a[11]||(a[11]=t=>S.value.title=t),placeholder:"مثلاً خانه بهار"},null,8,["value"])]),s("div",null,[Wo,n(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,n(b(Me),{value:S.value.theme_key,"onUpdate:value":a[13]||(a[13]=t=>S.value.theme_key=t),class:"w-full"},{default:v(()=>[n(b(D),{value:"meadow"},{default:v(()=>[x("خانه کدوبلو")]),_:1}),n(b(D),{value:"cottage"},{default:v(()=>[x("کافه پفی")]),_:1}),n(b(D),{value:"forest"},{default:v(()=>[x("باغ میلا")]),_:1}),n(b(D),{value:"desert"},{default:v(()=>[x("کارگاه پیتو")]),_:1}),n(b(D),{value:"winter"},{default:v(()=>[x("خانه آرامان")]),_:1}),n(b(D),{value:"castle"},{default:v(()=>[x("میدان شهر")]),_:1}),n(b(D),{value:"tree"},{default:v(()=>[x("درخت پیرین")]),_:1})]),_:1},8,["value"])]),s("div",null,[Vo,n(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",Jo,[n(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,n(b(_e),{"file-list":z.value,"onUpdate:fileList":a[16]||(a[16]=t=>z.value=t),"before-upload":Ge,"custom-request":Jt,accept:"image/*","max-count":1,"list-type":"picture-card",onRemove:Vt},{default:v(()=>[z.value.length<1?(r(),c("div",Zo,[n(M,{icon:"vuesax-linear:image",class:"text-2xl mb-2"}),Yo])):C("",!0)]),_:1},8,["file-list"]),B.value>0&&B.value<100?(r(),c("div",en,[s("div",tn,[s("div",{class:"h-2 bg-blue-500 transition-all",style:Ae(ye(B.value))},null,4)])])):C("",!0),sn])])]),_:1},8,["visible","title"]),n(P,{visible:pe.value,"onUpdate:visible":a[18]||(a[18]=t=>pe.value=t),title:"توضیحات کامل",footer:null,onCancel:is,width:"560px"},{default:v(()=>[s("div",an,p(Oe.value),1),s("div",ln,p(Be.value),1)]),_:1},8,["visible"])]),_:1})],2)}}});const Yn=Es(on,[["__scopeId","data-v-ad727d60"]]);export{Yn as default};
|