Files
machartaa_admin_dist/dist/assets/index-2cc7d3a0.js
T
2025-11-02 13:55:16 +03:30

2 lines
10 KiB
JavaScript

import{_ as q}from"./BasicMainCard-35b7f869.js";import{_ as O}from"./BasicModal.vue_vue_type_style_index_0_lang-f2c0cf2d.js";import{_ as V}from"./BasicInput.vue_vue_type_style_index_0_lang-929856cf.js";import{_ as W}from"./BaseTable.vue_vue_type_style_index_0_lang-a43770ca.js";import{_ as J}from"./button.vue_vue_type_style_index_0_lang-aba41828.js";import{I as U}from"./Icon-456bcc80.js";import{u as G}from"./useBaseTable-3aeb2499.js";import{t as H}from"./useDataTime-56b23a5e.js";import{a3 as K,a4 as $,d as Q,r as k,o as C,c as L,b as u,w as b,a as s,e as X,a2 as Y,L as S,N as T,a0 as x}from"./index-d996aa52.js";import{M as Z}from"./index-269247b8.js";import{S as tt}from"./index-c05390a2.js";import{T as M}from"./index-4bc1704f.js";import{U as D}from"./index-67543794.js";import"./_plugin-vue_export-helper-c27b6911.js";import"./index-a83085b3.js";import"./index-6779adc3.js";import"./raf-8e3c2c2f.js";import"./colors-65b46ff2.js";import"./index-5d181545.js";import"./styleChecker-e29a8f53.js";import"./useState-dd938bdb.js";import"./Col-e9f1db78.js";import"./index-b068e27a.js";import"./debounce-4a95850b.js";import"./usePrefix-bca43e07.js";import"./usePrice-7afab779.js";import"./index-b6e3add4.js";import"./SearchOutlined-38ab5a8a.js";import"./EyeOutlined-22d4dcb9.js";import"./index-ab1f28fc.js";import"./index-9b97b465.js";import"./pickAttrs-572baef4.js";import"./CheckOutlined-11eb751c.js";import"./objectDestructuringEmpty-24e23e90.js";import"./eagerComputed-3f9be9ba.js";import"./index-1dfb303c.js";const et=[{title:"ردیف",dataIndex:"id",key:"id",filterable:!1,width:70,align:"center",fixed:"left",customRender:i=>i.record.index+1},{title:"عنوان",dataIndex:"title",key:"title"},{title:"زیرعنوان",dataIndex:"sub_title",key:"sub_title"},{title:"زمان",dataIndex:"time",key:"time",customRender:i=>{const n=i.record.time||{minutes:0,seconds:0},c=Number(n.minutes||0),m=Number(n.seconds||0),v=y=>String(y).padStart(2,"0");return`${v(c)}:${v(m)}`}},{title:"صوت",dataIndex:"src",key:"src",customRender:i=>i.record.src?"دارد":"-"},{title:"تاریخ ایجاد",dataIndex:"created_at",key:"created_at",customRender:i=>H(i.record.created_at)},{title:"عملیات",dataIndex:"action",key:"action",slot:"action",filterable:!1,align:"center"}];async function st(i){const{data:n,error:c}=await $.from("storys").insert([{title:i.title,sub_title:i.sub_title,cover:i.cover,src:i.src,time:i.time}]).select();if(c)throw c;return n}async function at(i,n){const{data:c,error:m}=await $.from("storys").update({title:n.title,sub_title:n.sub_title,cover:n.cover,src:n.src,time:n.time}).eq("id",i).select();if(m)throw m;return c}async function ot(i){const{error:n}=await $.from("storys").delete().eq("id",i);if(n)throw n}async function it(i){const{TableEngineRequest:n}=await K(()=>import("./buildSupabaseQuery-5595cd82.js"),["assets/buildSupabaseQuery-5595cd82.js","assets/index-d996aa52.js","assets/index-6773a6bc.css"]),c={...i};!c.sort&&!c.order&&(c.order="-id");const m=await n(c,"storys");try{if(Array.isArray(m==null?void 0:m.rows)){const v=c.page||1,y=c.limit||200,I=(v-1)*y,g=m.rows.map((d,f)=>({id:d.id,title:d.title??"",sub_title:d.sub_title??"",cover:d.cover??null,src:d.src??null,time:d.time??{minutes:0,seconds:0},created_at:d.created_at??"",index:I+f,...d}));return{...m,rows:g}}}catch(v){console.log("[getStorysTable] normalize error:",v)}return m}const lt={class:"flex justify-between items-center mb-4"},rt=s("h2",null,"قصه ها",-1),nt={class:"gap-2 flex justify-center"},ut=s("span",null,"حذف",-1),ct=s("span",null,"ویرایش",-1),dt={class:"space-y-4 relative"},mt={key:0,class:"absolute inset-0 bg-white/60 z-10 flex items-center justify-center"},pt=s("div",{class:"mb-1 text-sm text-gray-600"},"عنوان",-1),vt=s("div",{class:"mb-1 text-sm text-gray-600"},"زیرعنوان",-1),ft={class:"flex gap-4"},_t={class:"flex-1"},ht=s("div",{class:"mb-1 text-sm text-gray-600"},"زمان",-1),bt={class:"space-y-2"},xt=s("div",{class:"mb-1 text-xs text-gray-500"},"دقیقه",-1),yt=s("div",{class:"mb-1 text-xs text-gray-500"},"ثانیه",-1),gt={class:"flex-1 flex justify-center gap-4"},wt=s("div",{class:"mb-1 text-sm text-gray-600"},"آپلود تصویر کاور",-1),kt={key:0},It=s("div",null,"آپلود کاور",-1),St=s("div",{class:"mb-1 text-sm text-gray-600"},"آپلود صوت (src)",-1),Ut={key:0},Ct=s("div",null,"آپلود صوت",-1),ce=Q({__name:"index",setup(i){const[n,c]=G(),m=k({columns:et,api:it,defaultPageLimit:20}),v=k(!1),y=k(!1),I=k(null),g=k([]),d=k([]),f=k(0),l=k({title:"",sub_title:"",cover:null,src:null,time:{minutes:0,seconds:0}});function N(){g.value=[],d.value=[],y.value=!1,I.value=null,l.value={title:"",sub_title:"",cover:null,src:null,time:{minutes:0,seconds:0}},v.value=!0}function B(){v.value=!1}function A(t){return t.type.startsWith("audio/")?t.size/1024/1024<30?!0:(x.error("حجم فایل باید کمتر از 30MB باشد"),!1):(x.error("فقط فایل‌های صوتی مجاز است"),!1)}async function E(t){const{file:o,onSuccess:_,onError:w}=t;try{f.value++;const r=new FormData;r.append("file",o);const h=await fetch("https://node.machartaa.ir/upload/machartaa-audio",{method:"POST",body:r,headers:{Authorization:`Bearer ${localStorage.getItem("token")||""}`}});if(!h.ok)throw new Error("خطا در آپلود فایل");const e=await h.json(),a=e.full_src||e.url||e.src||e.path||e.data&&(e.data.full_src||e.data.url||e.data.src||e.data.path)||"",p=a.startsWith("http")?a:`https://node.machartaa.ir${a}`;console.log("Full audio URL:",p),l.value.src=p,g.value=p?[{uid:`${Date.now()}`,name:"audio.mp3",status:"done",url:p,response:{path:p}}]:[],_(e),x.success("صوت با موفقیت آپلود شد!")}catch(r){console.error(r),w(r),x.error("خطا در آپلود صوت")}finally{f.value=Math.max(0,f.value-1)}}function R(t){return t.type.startsWith("image/")?t.size/1024/1024<5?!0:(x.error("حجم تصویر باید کمتر از 5MB باشد"),!1):(x.error("فقط فایل‌های تصویری مجاز است"),!1)}async function j(t){const{file:o,onSuccess:_,onError:w}=t;try{f.value++;const r=new FormData;r.append("file",o);const h=await fetch("https://node.machartaa.ir/upload/machartaa-img",{method:"POST",body:r,headers:{Authorization:`Bearer ${localStorage.getItem("token")||""}`}});if(!h.ok)throw new Error("خطا در آپلود تصویر");const e=await h.json(),a=e.full_src||e.url||e.src||e.path||e.data&&(e.data.full_src||e.data.url||e.data.src||e.data.path)||"",p=a.startsWith("http")?a:`https://node.machartaa.ir${a}`;console.log("Full cover URL:",p),l.value.cover=p,d.value=p?[{uid:`${Date.now()}`,name:"cover.jpg",status:"done",url:p,response:{path:p}}]:[],_(e),x.success("کاور با موفقیت آپلود شد!")}catch(r){console.error(r),w(r),x.error("خطا در آپلود کاور")}finally{f.value=Math.max(0,f.value-1)}}async function z(){var o,_,w,r,h,e;if(!((o=l.value.title)!=null&&o.trim()))return;if(f.value>0){x.warning("لطفاً تا پایان آپلود صبر کنید");return}const t={title:l.value.title.trim(),sub_title:((_=l.value.sub_title)==null?void 0:_.trim())||"",cover:((w=l.value.cover)==null?void 0:w.trim())||null,src:((r=l.value.src)==null?void 0:r.trim())||null,time:{minutes:Number((h=l.value.time)==null?void 0:h.minutes)||0,seconds:Number((e=l.value.time)==null?void 0:e.seconds)||0}};y.value&&I.value?await at(I.value,t):await st(t),B(),await c()}function P(t){y.value=!0,I.value=t.id,l.value={title:t.title||"",sub_title:t.sub_title||"",cover:t.cover||null,src:t.src||null,time:t.time&&typeof t.time=="object"?{minutes:Number(t.time.minutes)||0,seconds:Number(t.time.seconds)||0}:{minutes:0,seconds:0}},g.value=t.src?[{uid:"-1",name:"audio.mp3",status:"done",url:t.src,response:{path:t.src}}]:[],d.value=t.cover?[{uid:"-2",name:"cover.jpg",status:"done",url:t.cover,response:{path:t.cover}}]:[],v.value=!0}function F(t){Z.confirm({title:"حذف قصه",content:`آیا مطمئن هستید که می‌خواهید قصه "${t.title}" را حذف کنید؟`,okText:"بله، حذف کن",cancelText:"انصراف",okType:"danger",centered:!0,onOk:async()=>{await ot(t.id),await c()}})}return(t,o)=>{const _=J,w=W,r=V,h=O,e=q;return C(),L("div",null,[u(e,null,{default:b(()=>[s("div",lt,[rt,u(_,{type:"primary",onClick:N},{default:b(()=>[X("افزودن قصه")]),_:1})]),u(w,Y(m.value,{ref:"table",onRegister:S(n)}),{action:b(({record:a})=>[s("div",nt,[u(S(M),{class:"cursor-pointer"},{title:b(()=>[ut]),default:b(()=>[u(U,{icon:"vuesax-linear:trash",color:"#DC2626",onClick:p=>F(a)},null,8,["onClick"])]),_:2},1024),u(S(M),{class:"cursor-pointer"},{title:b(()=>[ct]),default:b(()=>[u(U,{icon:"vuesax-linear:edit",color:"#1D4ED8",onClick:p=>P(a)},null,8,["onClick"])]),_:2},1024)])]),_:1},16,["onRegister"]),u(h,{visible:v.value,"onUpdate:visible":o[6]||(o[6]=a=>v.value=a),title:y.value?"ویرایش قصه":"افزودن قصه",onOk:z,onCancel:B,width:"80%",confirmLoading:f.value>0},{default:b(()=>[s("div",dt,[f.value>0?(C(),L("div",mt,[u(S(tt),{size:"large"})])):T("",!0),s("div",null,[pt,u(r,{value:l.value.title,"onUpdate:value":o[0]||(o[0]=a=>l.value.title=a),placeholder:"عنوان"},null,8,["value"])]),s("div",null,[vt,u(r,{value:l.value.sub_title,"onUpdate:value":o[1]||(o[1]=a=>l.value.sub_title=a),placeholder:"زیرعنوان"},null,8,["value"])]),s("div",ft,[s("div",_t,[ht,s("div",bt,[s("div",null,[xt,u(r,{value:l.value.time.minutes,"onUpdate:value":o[2]||(o[2]=a=>l.value.time.minutes=a),type:"number",placeholder:"0"},null,8,["value"])]),s("div",null,[yt,u(r,{value:l.value.time.seconds,"onUpdate:value":o[3]||(o[3]=a=>l.value.time.seconds=a),type:"number",placeholder:"0"},null,8,["value"])])])]),s("div",gt,[s("div",null,[wt,u(S(D),{"file-list":d.value,"onUpdate:fileList":o[4]||(o[4]=a=>d.value=a),"before-upload":R,"custom-request":j,accept:"image/*","max-count":1,"list-type":"picture-card"},{default:b(()=>[d.value.length<1?(C(),L("div",kt,[u(U,{icon:"vuesax-linear:image",class:"text-2xl mb-2"}),It])):T("",!0)]),_:1},8,["file-list"])]),s("div",null,[St,u(S(D),{"file-list":g.value,"onUpdate:fileList":o[5]||(o[5]=a=>g.value=a),"before-upload":A,"custom-request":E,accept:"audio/*","max-count":1,"list-type":"picture-card"},{default:b(()=>[g.value.length<1?(C(),L("div",Ut,[u(U,{icon:"vuesax-linear:music",class:"text-2xl mb-2"}),Ct])):T("",!0)]),_:1},8,["file-list"])])])])])]),_:1},8,["visible","title","confirmLoading"])]),_:1})])}}});export{ce as default};