Files
machartaa_admin_dist/dist/assets/index-2a31abf6.js
T
2026-08-22 14:52:19 +03:30

2 lines
9.0 KiB
JavaScript

import{_ as K}from"./BasicModal.vue_vue_type_style_index_0_lang-20cc468f.js";import{_ as Q}from"./BasicInput.vue_vue_type_style_index_0_lang-4f908c47.js";import{u as $,_ as X}from"./useBaseTable-1184a002.js";import{_ as Z}from"./button.vue_vue_type_style_index_0_lang-cbfd9667.js";import{I as k}from"./Icon-0c226cc8.js";import{t as ee}from"./useDataTime-35d3ce8c.js";import{g as te,a as ae,v as se}from"./itemViews-681ab90c.js";import{_ as oe,G as ie,H as z,I as le,d as ne,g as _,E as re,T as U,o as g,c as x,b as i,w as n,e as O,a as s,j as v,t as C,J as N,k as ce,D as h}from"./index-35c19078.js";import{M as de}from"./index-d1bea9c9.js";import{S as ue}from"./index-c135e3cd.js";import{I as me}from"./index-e2b66426.js";import{T as V}from"./isSymbol-76912a30.js";import"./usePrice-bc935b83.js";import"./updateLocale-674603f1.js";import"./index-317dfb98.js";import"./_plugin-vue_export-helper-b8aa26f1.js";import"./shallowequal-336924ae.js";import"./vnode-bd016db8.js";import"./useState-0b0c0b26.js";import"./useMemo-141475be.js";import"./FormItemContext-c59740e7.js";import"./omit-fea2187f.js";import"./lodash-e3d7e6b8.js";import"./BaseSwitch.vue_vue_type_script_setup_true_lang-aa5cbf20.js";import"./index-9c958bd1.js";import"./Badge-5aec0f5b.js";import"./isNumeric-3f69e2aa.js";import"./index-597067d3.js";import"./index-81c6c557.js";import"./index-3e7c49ac.js";import"./styleChecker-5378d544.js";import"./index-53a07be2.js";import"./index-e39a0c4e.js";import"./DialogWrap-7ea92471.js";import"./pickAttrs-2a6a34d0.js";import"./css-aae66f86.js";import"./index-0cfe3fb2.js";import"./toArray-f7bbf4fe.js";import"./SearchOutlined-fd97bf7f.js";import"./isMobile-e2e89480.js";import"./index-70f42a71.js";import"./supabaseTableQuery-b8071eb6.js";import"./isPlainObject-9fc066ac.js";const _e=[{title:"ردیف",dataIndex:"id",key:"id",filterable:!1,width:70,align:"center",customRender:a=>a.record.index+1},{title:"عنوان",dataIndex:"title",key:"title"},{title:"کد embed",dataIndex:"embed_code",key:"embed_code",customRender:a=>a.record.embed_code?"دارد":"-"},{title:"ترتیب",dataIndex:"sort_order",key:"sort_order",align:"center"},{title:"نمایش",dataIndex:"show",key:"show",align:"center",customRender:a=>a.record.show===!1?"مخفی":"نمایش"},{title:"زمان ایجاد",dataIndex:"created_at",key:"created_at",customRender:a=>ee(a.record.created_at)},{title:"عملیات",dataIndex:"action",key:"action",slot:"action",filterable:!1,align:"center"}],F="music_macharta_video";async function ve(a){const c=await ie("music_macharta_videos",a);return Array.isArray(c)?c:[c]}async function pe(a,c){const l=await z("music_macharta_videos",a,{...c,updated_at:new Date().toISOString()});return Array.isArray(l)?l:[l]}async function fe(a,c){const l=await z("music_macharta_videos",a,{show:c,updated_at:new Date().toISOString()});return Array.isArray(l)?l:[l]}async function he(a){await le("music_macharta_videos",a)}function we(a){return ae(a,F)}function j(a,c){return te(a,c,F)}async function ye(a){const{TableEngineRequest:c}=await oe(()=>import("./buildSupabaseQuery-d68eb591.js"),["assets/buildSupabaseQuery-d68eb591.js","assets/index-35c19078.js","assets/index-a54d32f7.css"]),l={...a};!l.sort&&!l.order&&(l.sort={key:"sort_order",order:"desc"});const m=await c(l,"music_macharta_videos");try{if(Array.isArray(m==null?void 0:m.rows)){const b=l.page||1,p=l.limit||20,w=(b-1)*p,y=m.rows.map((d,u)=>({...d,title:d.title??"",embed_code:d.embed_code??"",show:d.show??!0,sort_order:d.sort_order??0,index:w+u}));return{...m,rows:y}}}catch(b){console.error("[getMusicMachartaVideosTable]",b)}return m}const be={class:"h-full"},ge={class:"gap-2 flex justify-center"},xe=s("span",null,"بازدیدها",-1),ke=s("span",null,"حذف",-1),Ve=s("span",null,"ویرایش",-1),Ie={class:"space-y-4"},Me=s("div",{class:"mb-1 text-sm text-gray-600"},"عنوان *",-1),Te=s("div",{class:"mb-1 text-sm text-gray-600"},"ترتیب نمایش",-1),Ce=s("div",{class:"mb-1 text-sm text-gray-600"},"کد embed *",-1),Ae={class:"flex justify-end"},Re={key:0,class:"space-y-4"},De={class:"grid grid-cols-2 gap-4"},Ee={class:"bg-blue-50 p-4 rounded-lg"},Be=s("div",{class:"text-sm text-gray-600 mb-1"},"تعداد بازدید",-1),Se={class:"text-2xl font-bold text-blue-600"},Pe={class:"bg-purple-50 p-4 rounded-lg"},$e=s("div",{class:"text-sm text-gray-600 mb-1"},"تعداد بازدیدکننده",-1),Ue={class:"text-2xl font-bold text-purple-600"},Oe=s("div",{class:"text-sm font-semibold text-gray-700 mb-2"},"لیست بازدیدکننده‌ها",-1),Ne={key:0},je={key:1,class:"text-center py-8 text-gray-500"},ze={key:1,class:"flex justify-center items-center py-8"},Dt=ne({__name:"index",setup(a){const{TextArea:c}=me,[l,m]=$(),b=_({columns:_e,api:ye,defaultPageLimit:20}),p=_(!1),w=_(!1),y=_(null),d=_(!1),u=_(null),I=_(!1),M=_(null),[H,A]=$(),R=_({columns:se,api:e=>j(e,M.value),defaultPageLimit:20}),r=_({title:"",embed_code:"",show:!0,sort_order:0});function L(){w.value=!1,y.value=null,r.value={title:"",embed_code:"",show:!0,sort_order:0},p.value=!0}function D(){p.value=!1}function q(e){w.value=!0,y.value=e.id,r.value={title:e.title||"",embed_code:e.embed_code||"",show:e.show!==!1,sort_order:e.sort_order??0},p.value=!0}function J(e){de.confirm({title:"حذف ویدیو",content:`آیا از حذف «${e.title}» مطمئن هستید؟`,okText:"حذف",cancelText:"انصراف",onOk:async()=>{await he(e.id),h.success("حذف شد"),m()}})}async function G(e){await fe(e.id,e.show===!1),h.success(e.show===!1?"نمایش داده شد":"مخفی شد"),m()}async function W(){var o,f;if(!((o=r.value.title)!=null&&o.trim())){h.warning("عنوان الزامی است");return}if(!((f=r.value.embed_code)!=null&&f.trim())){h.warning("کد embed الزامی است");return}const e={title:r.value.title.trim(),embed_code:r.value.embed_code.trim(),show:r.value.show,sort_order:Number(r.value.sort_order)||0};w.value&&y.value?(await pe(y.value,e),h.success("ویرایش شد")):(await ve(e),h.success("افزوده شد")),D(),m()}async function Y(e){M.value=e.id,d.value=!0,I.value=!0,u.value=null;try{u.value=await we(e.id),R.value.api=o=>j(o,e.id)}catch(o){console.error("Error loading views:",o),h.error("خطا در بارگذاری اطلاعات بازدیدها: "+(o.message||"خطای ناشناخته"))}finally{I.value=!1}}re([d,u],async([e,o])=>{if(e&&o&&o.total_views>0){await U(),await U();try{await A()}catch{setTimeout(async()=>{try{await A()}catch(f){console.warn("Could not reload viewers table:",f)}},200)}}},{immediate:!1});function E(){d.value=!1,u.value=null,M.value=null}return(e,o)=>{const f=Z,B=X,S=Q,P=K;return g(),x("div",be,[i(B,N(b.value,{ref:"table",onRegister:v(l)}),{extraHeader:n(()=>[i(f,{type:"primary",onClick:L},{default:n(()=>[O("افزودن ویدیو")]),_:1})]),action:n(({record:t})=>[s("div",ge,[i(v(V),{class:"cursor-pointer"},{title:n(()=>[xe]),default:n(()=>[i(k,{icon:"vuesax-linear:monitor",color:"#8B5CF6",onClick:T=>Y(t)},null,8,["onClick"])]),_:2},1024),i(v(V),{class:"cursor-pointer"},{title:n(()=>[s("span",null,C((t==null?void 0:t.show)===!1?"نمایش دادن":"مخفی کردن"),1)]),default:n(()=>[i(k,{icon:(t==null?void 0:t.show)===!1?"vuesax-linear:eye":"vuesax-linear:eye-slash",color:(t==null?void 0:t.show)===!1?"#10B981":"#F59E0B",onClick:T=>G(t)},null,8,["icon","color","onClick"])]),_:2},1024),i(v(V),{class:"cursor-pointer"},{title:n(()=>[ke]),default:n(()=>[i(k,{icon:"vuesax-linear:trash",color:"#DC2626",onClick:T=>J(t)},null,8,["onClick"])]),_:2},1024),i(v(V),{class:"cursor-pointer"},{title:n(()=>[Ve]),default:n(()=>[i(k,{icon:"vuesax-linear:edit",color:"#1D4ED8",onClick:T=>q(t)},null,8,["onClick"])]),_:2},1024)])]),_:1},16,["onRegister"]),i(P,{visible:p.value,"onUpdate:visible":o[3]||(o[3]=t=>p.value=t),title:w.value?"ویرایش ویدیو":"افزودن ویدیو",onOk:W,onCancel:D,width:"80%"},{default:n(()=>[s("div",Ie,[s("div",null,[Me,i(S,{value:r.value.title,"onUpdate:value":o[0]||(o[0]=t=>r.value.title=t),placeholder:"عنوان"},null,8,["value"])]),s("div",null,[Te,i(S,{value:r.value.sort_order,"onUpdate:value":o[1]||(o[1]=t=>r.value.sort_order=t),type:"number",placeholder:"0"},null,8,["value"])]),s("div",null,[Ce,i(v(c),{value:r.value.embed_code,"onUpdate:value":o[2]||(o[2]=t=>r.value.embed_code=t),placeholder:"کد embed از آپارات یا سرویس ویدیو",rows:5},null,8,["value"])])])]),_:1},8,["visible","title"]),i(P,{visible:d.value,"onUpdate:visible":o[4]||(o[4]=t=>d.value=t),title:"اطلاعات بازدیدها",onCancel:E,width:"800px",customFooter:!0,okText:""},{footer:n(()=>[s("div",Ae,[i(f,{onClick:E},{default:n(()=>[O("بستن")]),_:1})])]),default:n(()=>[u.value?(g(),x("div",Re,[s("div",De,[s("div",Ee,[Be,s("div",Se,C(u.value.total_views),1)]),s("div",Pe,[$e,s("div",Ue,C(u.value.unique_viewers),1)])]),s("div",null,[Oe,u.value&&u.value.total_views>0?(g(),x("div",Ne,[i(B,N(R.value,{onRegister:v(H)}),null,16,["onRegister"])])):(g(),x("div",je," هنوز بازدیدی ثبت نشده است "))])])):I.value?(g(),x("div",ze,[i(v(ue),{size:"large"})])):ce("",!0)]),_:1},8,["visible"])])}}});export{Dt as default};