2 lines
16 KiB
JavaScript
2 lines
16 KiB
JavaScript
import{_ as re}from"./BasicMainCard-06dad464.js";import{_ as ue}from"./BasicModal.vue_vue_type_style_index_0_lang-c07380a4.js";import{_ as ce}from"./BasicTextArea.vue_vue_type_style_index_0_lang-929fa7c7.js";import{_ as de}from"./BasicInput.vue_vue_type_style_index_0_lang-ad9476fa.js";import{_ as pe,u as me}from"./useBaseTable-89e367b0.js";import{_ as _e}from"./button.vue_vue_type_style_index_0_lang-80cf0b72.js";import{_ as ve,I as j,d as fe,g as b,A as he,x as ge,o as M,c as S,b as c,w,a as t,e as xe,G as ye,j as T,k as B,z as H,t as W,F as be,p as we,D as L,H as P}from"./index-10f45eca.js";import{t as ke}from"./useDataTime-60875705.js";import{I as R}from"./Icon-e9a9d64e.js";import{_ as Ce}from"./TextPreview.vue_vue_type_script_setup_true_lang-42c9e2e4.js";import{M as $e}from"./index-5bc6b40d.js";import{S as Ue}from"./index-00f73089.js";import{T as K}from"./index-ceff8631.js";import{U as J}from"./index-4b9d78ea.js";import"./_plugin-vue_export-helper-2f157ef4.js";import"./index-ecb339ad.js";import"./index-1b352863.js";import"./Col-c6f28462.js";import"./vnode-b14d5532.js";import"./useState-4f4a8c99.js";import"./isPlainObject-75024cd7.js";import"./index-cca2d62a.js";import"./FormItemContext-a11ae724.js";import"./usePrice-7afab779.js";import"./index-db46c961.js";import"./pickAttrs-2c86ae65.js";import"./index-9601d570.js";import"./toArray-45e57117.js";import"./index-2707819c.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 j.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 j.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 j.from("challenge").delete().eq("id",m);if(d)throw d}async function De(m){const{TableEngineRequest:d}=await ve(()=>import("./buildSupabaseQuery-d81f8050.js"),["assets/buildSupabaseQuery-d81f8050.js","assets/index-10f45eca.js","assets/index-0e9f449f.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 Le=[{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"},ze={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),Ne=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
|