2 lines
14 KiB
JavaScript
2 lines
14 KiB
JavaScript
import{_ as K}from"./BasicMainCard-1f376738.js";import{M as Q,_ as X}from"./BasicModal.vue_vue_type_style_index_0_lang-6383d729.js";import{_ as Z}from"./BasicTextArea.vue_vue_type_style_index_0_lang-88190e7c.js";import{_ as ee}from"./BasicInput.vue_vue_type_style_index_0_lang-63c96304.js";import{_ as te}from"./BaseTable.vue_vue_type_style_index_0_lang-1f6ecc5d.js";import{_ as se}from"./button.vue_vue_type_style_index_0_lang-55d2b252.js";import{a3 as ae,a4 as V,d as le,r as b,Y as ie,i as oe,o as I,c as S,b as o,w as g,a as s,e as ne,a2 as re,L as $,N as B,F as ce,S as ue,a0 as w}from"./index-d2d57467.js";import{t as de}from"./useDataTime-0a2e32aa.js";import{I as L}from"./Icon-8d3280fe.js";import{u as pe}from"./useBaseTable-3aeb2499.js";import{S as me}from"./index-95f4305d.js";import{T as z}from"./styleChecker-f8db9dd1.js";import{U as A}from"./index-7d52e501.js";import"./_plugin-vue_export-helper-d0931117.js";import"./index-fd255577.js";import"./useState-b367b6d6.js";import"./vnode-78cb12ff.js";import"./Col-e6f89ff6.js";import"./index-6a84bb1d.js";import"./usePrice-7afab779.js";import"./index-2621c75f.js";async function _e(r){console.log("API addChallenge payload:",r);const n={title:r.title,description:r.description,owner_id:r.owner_id,minute:r.minute,score:r.score,image_url:r.image_url||null,clip_url:r.clip_url||null,steps:r.steps||[]};console.log("Supabase insert data:",n);const{data:_,error:p}=await V.from("challenge").insert([n]);if(p)throw console.error("Supabase insert error:",p),p;return console.log("Supabase insert success:",_),_}async function ve(r,n){const{data:_,error:p}=await V.from("challenge").update({title:n.title,description:n.description,owner_id:n.owner_id,minute:n.minute,score:n.score,image_url:n.image_url||null,clip_url:n.clip_url||null,steps:n.steps||[]}).eq("id",r).select();if(p)throw p;return _}async function fe(r){const{error:n}=await V.from("challenge").delete().eq("id",r);if(n)throw n}async function he(r){const{TableEngineRequest:n}=await ae(()=>import("./buildSupabaseQuery-68dfd2a3.js"),["assets/buildSupabaseQuery-68dfd2a3.js","assets/index-d2d57467.js","assets/index-7f144acc.css"]),_={...r};!_.sort&&!_.order&&(_.order="-id");const p=await n(_,"challenge");try{if(Array.isArray(p==null?void 0:p.rows)){const x=_.page||1,h=_.limit||200,C=(x-1)*h,v=p.rows.map((U,E)=>({id:U.id,title:U.title??"",description:U.description??"",steps:U.steps??[],created_at:U.created_at??"",index:C+E,...U}));return{...p,rows:v}}}catch(x){console.log("[getChallengeTable] normalize error:",x)}return p}const ge=[{title:"ردیف",dataIndex:"id",key:"id",filterable:!1,width:70,align:"center",customRender:r=>r.record.index+1},{title:"عنوان",dataIndex:"title",key:"title"},{title:"شرح",dataIndex:"description",key:"description"},{title:"مراحل",dataIndex:"steps",key:"steps",customRender:r=>{const n=r.record.steps||[];if(n.length===0)return"-";const _=n.reduce((x,h)=>x+(Number(h.minute)||0),0),p=n.reduce((x,h)=>x+(Number(h.score)||0),0);return`${n.length} مرحله / ${_} دقیقه / ${p} امتیاز`}},{title:"تاریخ ایجاد",dataIndex:"created_at",key:"created_at",customRender:r=>de(r.record.created_at)},{title:"عملیات",dataIndex:"action",key:"action",slot:"action",filterable:!1,align:"center"}],xe={class:"flex justify-between items-center mb-4"},ye=s("h2",null,"چالش ها",-1),be={class:"gap-2 flex justify-center"},we=s("span",null,"حذف",-1),ke=s("span",null,"ویرایش",-1),Ce={class:"space-y-4 relative"},Ue={key:0,class:"absolute inset-0 bg-white/60 z-10 flex items-center justify-center"},Ie=s("div",{class:"mb-1 text-sm text-gray-600"},"عنوان چالش",-1),Se=s("div",{class:"mb-1 text-sm text-gray-600"},"شرح چالش",-1),$e={class:"flex justify-center gap-10 pb-4"},Le=s("div",{class:"mb-1 text-sm text-gray-600"},"آپلود تصویر",-1),De={key:0},Me=s("div",null,"آپلود تصویر",-1),Te=s("div",{class:"mb-1 text-sm text-gray-600"},"آپلود ویدئو",-1),Be={key:0},Ee=s("div",null,"آپلود ویدئو",-1),Ae=s("div",{class:"section-divider"},null,-1),Ve={class:"pt
|