2026-06-20 14:40:19 +03:30
|
|
|
import{_ as de}from"./BasicMainCard-3d648ab2.js";import{_ as pe}from"./BasicModal.vue_vue_type_style_index_0_lang-24a8261d.js";import{_ as me}from"./BasicTextArea.vue_vue_type_style_index_0_lang-a640908b.js";import{_ as _e}from"./BasicInput.vue_vue_type_style_index_0_lang-e307cbf1.js";import{_ as ve,u as fe}from"./useBaseTable-bc56de40.js";import{_ as ge}from"./button.vue_vue_type_style_index_0_lang-269c10bc.js";import{_ as he,I as G,d as xe,g as y,A as ye,v as be,o as I,c as S,b as c,w as b,a as t,e as we,G as ke,j as B,k as R,y as J,t as j,F as Ce,n as Ue,D as P,H as X}from"./index-04b55c40.js";import{t as Me}from"./useDataTime-019cb3de.js";import{I as q}from"./Icon-5ac7beab.js";import{e as T,g as N}from"./convert-67c23be8.js";import{_ as Ie}from"./TextPreview.vue_vue_type_script_setup_true_lang-313a557c.js";import{M as Se}from"./index-17a7fb53.js";import{S as $e}from"./index-2eb63a34.js";import{T as Y}from"./shallowequal-a10dc291.js";import{U as W}from"./index-fc7d0edb.js";import"./index-8ea69df4.js";import"./index-33f9e9e9.js";import"./_plugin-vue_export-helper-d788f94f.js";import"./Col-2c8be909.js";import"./vnode-eb3fa2ea.js";import"./useState-5006a98d.js";import"./useRefs-69caa28d.js";import"./index-dc39c1d3.js";import"./isPlainObject-3ea83e08.js";import"./index-29f614ac.js";import"./FormItemContext-b8bdc53c.js";import"./usePrice-bc935b83.js";import"./fa_IR-c20f3d35.js";import"./toArray-20a77219.js";import"./pickAttrs-09c7999b.js";import"./lodash-dbb8cc00.js";import"./index-e7b6e87e.js";import"./index-eba6ba57.js";async function De(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:v,error:_}=await G.from("challenge").insert([d]);if(_)throw console.error("Supabase insert error:",_),_;return console.log("Supabase insert success:",v),v}async function Le(m,d){const{data:v,error:_}=await G.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 v}async function Pe(m){const{error:d}=await G.from("challenge").delete().eq("id",m);if(d)throw d}async function Te(m){const{TableEngineRequest:d}=await he(()=>import("./buildSupabaseQuery-7081d990.js"),["assets/buildSupabaseQuery-7081d990.js","assets/index-04b55c40.js","assets/index-457f5e42.css","assets/supabaseTableQuery-be932edd.js"]),v={...m};!v.sort&&!v.order&&(v.order="-id");const _=await d(v,"challenge");try{if(Array.isArray(_==null?void 0:_.rows)){const C=v.page||1,w=v.limit||200,$=(C-1)*w,h=_.rows.map((f,M)=>({id:f.id,title:f.title??"",description:f.description??"",steps:f.steps??[],created_at:f.created_at??"",index:$+M,...f}));return{..._,rows:h}}}catch(C){console.log("[getChallengeTable] normalize error:",C)}return _}const Be=[{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 v=d.reduce((C,w)=>C+(Number(w.minute)||0),0),_=d.reduce((C,w)=>C+(Number(w.score)||0),0);return`${d.length} مرحله / ${v} دقیقه / ${_} امتیاز`}},{title:"زمان ایجاد",dataIndex:"created_at",key:"created_at",customRender:m=>Me(m.record.created_at)},{title:"عملیات",dataIndex:"action",key:"action",slot:"action",filterable:!1,align:"center"}],Re={class:"flex justify-between items-center mb-4"},qe=t("h2",null,"چالش ها",-1),Ae={class:"gap-2 flex justify-center"},Ve=t("span",null,"حذف",-1),ze=t("span",null,"ویرایش",-1),Ne={class:"space-y-4 relative"},Oe={key:0,class:"absolute inset-0 bg-white/60 z-10 flex items-center justify-center"},Fe=t("div",{class:"mb-1 text-
|