2 lines
14 KiB
JavaScript
2 lines
14 KiB
JavaScript
import{_ as K}from"./BasicMainCard-f2a5ccca.js";import{_ as Q}from"./BasicModal.vue_vue_type_style_index_0_lang-5554ff78.js";import{_ as X}from"./BasicTextArea.vue_vue_type_style_index_0_lang-e67bad5a.js";import{_ as Z}from"./BasicInput.vue_vue_type_style_index_0_lang-50a9c47c.js";import{_ as ee}from"./BaseTable.vue_vue_type_style_index_0_lang-cf2448d3.js";import{_ as te}from"./button.vue_vue_type_style_index_0_lang-ceadaa26.js";import{a3 as se,a4 as V,d as ae,r as b,Y as ie,i as oe,o as I,c as S,b as l,w as g,a as s,e as le,a2 as ne,L as $,N as B,F as re,S as ce,a0 as w}from"./index-706ae190.js";import{t as ue}from"./useDataTime-c7ca02f3.js";import{I as L}from"./Icon-28ffeb1b.js";import{u as de}from"./useBaseTable-3aeb2499.js";import{M as pe}from"./index-abd2a61d.js";import{T as z}from"./index-d20bae83.js";import{S as me}from"./index-7841bb4d.js";import{U as A}from"./index-4b7d2b33.js";import"./_plugin-vue_export-helper-c27b6911.js";import"./index-ac535007.js";import"./index-8096f4ad.js";import"./raf-11ded367.js";import"./colors-28bdd148.js";import"./index-1e6892e5.js";import"./styleChecker-340ade5c.js";import"./useState-96fc4e3c.js";import"./Col-dfb51626.js";import"./index-dd47f070.js";import"./debounce-a561c15c.js";import"./usePrefix-ba531a41.js";import"./index-79523c96.js";import"./SearchOutlined-24a77ba1.js";import"./EyeOutlined-f4940de3.js";import"./usePrice-7afab779.js";import"./index-c4f252cc.js";import"./index-43605b9d.js";import"./pickAttrs-79e8d088.js";import"./CheckOutlined-de32f6ea.js";import"./objectDestructuringEmpty-24e23e90.js";import"./eagerComputed-0df24eaf.js";import"./index-9311771d.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 se(()=>import("./buildSupabaseQuery-cf0a33eb.js"),["assets/buildSupabaseQuery-cf0a33eb.js","assets/index-706ae190.js","assets/index-6773a6bc.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",fixed:"left",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=>ue(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 j
|