Files
machartaa_admin_dist/dist/assets/index-ae2e9251.js
T

2 lines
9.0 KiB
JavaScript

import{_ as G}from"./BasicModal.vue_vue_type_style_index_0_lang-c3b69d02.js";import{_ as Q}from"./BasicInput.vue_vue_type_style_index_0_lang-9a0053be.js";import{u as $,_ as X}from"./useBaseTable-e35ecaa9.js";import{_ as Z}from"./button.vue_vue_type_style_index_0_lang-b32e1136.js";import{I as k}from"./Icon-85823aa3.js";import{t as ee}from"./useDataTime-c7be2668.js";import{g as te,a as ae,v as se}from"./itemViews-902b7faf.js";import{_ as oe,I as ie,J as L,K as le,d as ne,i as _,z as re,B as U,o as g,c as x,e as i,w as n,f as O,b as s,l as v,t as T,L as N,n as ce,H as h}from"./index-90ac1a44.js";import{M as de}from"./index-a413fea1.js";import{S as ue}from"./index-93d9312f.js";import{I as me}from"./index-027c2128.js";import{T as V}from"./isSymbol-9094e8b7.js";import"./usePrice-bc935b83.js";import"./updateLocale-cec40f3d.js";import"./index-cfa536c5.js";import"./_plugin-vue_export-helper-8ee86600.js";import"./shallowequal-36516cfd.js";import"./vnode-b0455438.js";import"./useState-64f2823f.js";import"./useMemo-9928f29b.js";import"./FormItemContext-64f846db.js";import"./omit-84d71e15.js";import"./lodash-07b825be.js";import"./BaseSwitch.vue_vue_type_script_setup_true_lang-fb5041dc.js";import"./index-95b42b3e.js";import"./Badge-54a9cc4e.js";import"./isNumeric-3f69e2aa.js";import"./index-5f5223b4.js";import"./index-c0eeee91.js";import"./index-788f312f.js";import"./styleChecker-1445806f.js";import"./index-90f5ddad.js";import"./index-9869a66e.js";import"./DialogWrap-6616a498.js";import"./pickAttrs-ba13e92c.js";import"./css-aae66f86.js";import"./index-a2503c07.js";import"./toArray-3936b2d5.js";import"./SearchOutlined-0eaaa97a.js";import"./isMobile-e2e89480.js";import"./index-bb804fdd.js";import"./supabaseTableQuery-19bc7c1f.js";import"./isPlainObject-aab367ce.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"}],j="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 L("music_macharta_videos",a,{...c,updated_at:new Date().toISOString()});return Array.isArray(l)?l:[l]}async function fe(a,c){const l=await L("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,j)}function z(a,c){return te(a,c,j)}async function ye(a){const{TableEngineRequest:c}=await oe(()=>import("./buildSupabaseQuery-c046d1a6.js"),["assets/buildSupabaseQuery-c046d1a6.js","assets/index-90ac1a44.js","assets/index-0643191e.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),Ce=s("div",{class:"mb-1 text-sm text-gray-600"},"ترتیب نمایش",-1),Te=s("div",{class:"mb-1 text-sm text-gray-600"},"کد embed *",-1),Ae={class:"flex justify-end"},Re={key:0,class:"space-y-4"},Be={class:"grid grid-cols-2 gap-4"},De={class:"bg-blue-50 p-4 rounded-lg"},Ee=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},ze={key:1,class:"text-center py-8 text-gray-500"},Le={key:1,class:"flex justify-center items-center py-8"},Bt=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),[F,A]=$(),R=_({columns:se,api:e=>z(e,M.value),defaultPageLimit:20}),r=_({title:"",embed_code:"",show:!0,sort_order:0});function H(){w.value=!1,y.value=null,r.value={title:"",embed_code:"",show:!0,sort_order:0},p.value=!0}function B(){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 K(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("افزوده شد")),B(),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=>z(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 D(){d.value=!1,u.value=null,M.value=null}return(e,o)=>{const f=Z,E=X,S=Q,P=G;return g(),x("div",be,[i(E,N(b.value,{ref:"table",onRegister:v(l)}),{extraHeader:n(()=>[i(f,{type:"primary",onClick:H},{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:C=>Y(t)},null,8,["onClick"])]),_:2},1024),i(v(V),{class:"cursor-pointer"},{title:n(()=>[s("span",null,T((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:C=>K(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:C=>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:C=>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:B,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,[Ce,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,[Te,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:D,width:"800px",customFooter:!0,okText:""},{footer:n(()=>[s("div",Ae,[i(f,{onClick:D},{default:n(()=>[O("بستن")]),_:1})])]),default:n(()=>[u.value?(g(),x("div",Re,[s("div",Be,[s("div",De,[Ee,s("div",Se,T(u.value.total_views),1)]),s("div",Pe,[$e,s("div",Ue,T(u.value.unique_viewers),1)])]),s("div",null,[Oe,u.value&&u.value.total_views>0?(g(),x("div",Ne,[i(E,N(R.value,{onRegister:v(F)}),null,16,["onRegister"])])):(g(),x("div",ze," هنوز بازدیدی ثبت نشده است "))])])):I.value?(g(),x("div",Le,[i(v(ue),{size:"large"})])):ce("",!0)]),_:1},8,["visible"])])}}});export{Bt as default};