2 lines
16 KiB
JavaScript
2 lines
16 KiB
JavaScript
import{_ as re}from"./BasicMainCard-60a9e3be.js";import{M as ue,_ as ce}from"./BasicModal.vue_vue_type_style_index_0_lang-b8f611c9.js";import{_ as de}from"./BasicTextArea.vue_vue_type_style_index_0_lang-9eb45bfd.js";import{_ as pe}from"./BasicInput.vue_vue_type_style_index_0_lang-125d2adf.js";import{_ as me}from"./index-e3363e71.js";import{_ as _e}from"./button.vue_vue_type_style_index_0_lang-4a27af23.js";import{a3 as ve,a5 as X,d as fe,r as b,Y as he,i as ge,o as M,c as S,b as c,w,a as t,e as xe,a2 as ye,L as T,N as B,X as H,O as W,F as be,S as we,a0 as D,a4 as P}from"./index-f88494bd.js";import{t as ke}from"./useDataTime-af5bdf6a.js";import{I as R}from"./Icon-521be6d5.js";import{u as Ce}from"./useBaseTable-3aeb2499.js";import{_ as $e}from"./TextPreview.vue_vue_type_script_setup_true_lang-7870fcf9.js";import{S as Ue}from"./index-b33f7a92.js";import{T as G}from"./styleChecker-82cb676b.js";import{U as J}from"./index-49fa9b7c.js";import"./_plugin-vue_export-helper-197f9e2b.js";import"./index-7504b32f.js";import"./useState-63c0655b.js";import"./vnode-a7883726.js";import"./Col-222f359d.js";import"./index-cb8a0c0b.js";import"./usePrice-7afab779.js";import"./index-518b6476.js";async function Me(m){console.log("API addChallenge payload:",m);const d={title:m.title,description:m.description,owner_id:m.owner_id,minute:m.minute,score:m.score,image_url:m.image_url||null,clip_url:m.clip_url||null,steps:m.steps||[]};console.log("Supabase insert data:",d);const{data:f,error:_}=await X.from("challenge").insert([d]);if(_)throw console.error("Supabase insert error:",_),_;return console.log("Supabase insert success:",f),f}async function Se(m,d){const{data:f,error:_}=await X.from("challenge").update({title:d.title,description:d.description,owner_id:d.owner_id,minute:d.minute,score:d.score,image_url:d.image_url||null,clip_url:d.clip_url||null,steps:d.steps||[]}).eq("id",m).select();if(_)throw _;return f}async function Ie(m){const{error:d}=await X.from("challenge").delete().eq("id",m);if(d)throw d}async function Le(m){const{TableEngineRequest:d}=await ve(()=>import("./buildSupabaseQuery-aadb09f5.js"),["assets/buildSupabaseQuery-aadb09f5.js","assets/index-f88494bd.js","assets/index-9eba4347.css"]),f={...m};!f.sort&&!f.order&&(f.order="-id");const _=await d(f,"challenge");try{if(Array.isArray(_==null?void 0:_.rows)){const C=f.page||1,k=f.limit||200,I=(C-1)*k,x=_.rows.map((h,U)=>({id:h.id,title:h.title??"",description:h.description??"",steps:h.steps??[],created_at:h.created_at??"",index:I+U,...h}));return{..._,rows:x}}}catch(C){console.log("[getChallengeTable] normalize error:",C)}return _}const De=[{title:"ردیف",dataIndex:"id",key:"id",filterable:!1,width:70,align:"center",customRender:m=>m.record.index+1},{title:"عنوان",dataIndex:"title",key:"title"},{title:"شرح",dataIndex:"description",key:"description",slot:"description"},{title:"مراحل",dataIndex:"steps",key:"steps",customRender:m=>{const d=m.record.steps||[];if(d.length===0)return"-";const f=d.reduce((C,k)=>C+(Number(k.minute)||0),0),_=d.reduce((C,k)=>C+(Number(k.score)||0),0);return`${d.length} مرحله / ${f} دقیقه / ${_} امتیاز`}},{title:"زمان ایجاد",dataIndex:"created_at",key:"created_at",customRender:m=>ke(m.record.created_at)},{title:"عملیات",dataIndex:"action",key:"action",slot:"action",filterable:!1,align:"center"}],Te={class:"flex justify-between items-center mb-4"},Be=t("h2",null,"چالش ها",-1),Pe={class:"gap-2 flex justify-center"},Re=t("span",null,"حذف",-1),qe=t("span",null,"ویرایش",-1),Ae={class:"space-y-4 relative"},Ne={key:0,class:"absolute inset-0 bg-white/60 z-10 flex items-center justify-center"},Ve=t("div",{class:"mb-1 text-sm text-gray-600"},"عنوان چالش",-1),ze=t("div",{class:"mb-1 text-sm text-gray-600"},"شرح چالش",-1),Oe={class:"flex justify-center gap-10 pb-4"},Fe=t("div",{class:"mb-1 text-sm text-gray-600"},"آپلود تصویر",-1),He={key:0},We=t("div",null,"آپلود تصویر",-1),Je={key:0,class:"mt-1"},Xe={class:"h-2 rounded bg-gray-200 overflow-hidden"},je={class:"text-xs text-gray
|