2 lines
9.0 KiB
JavaScript
2 lines
9.0 KiB
JavaScript
import{_ as K}from"./BasicModal.vue_vue_type_style_index_0_lang-661b0a06.js";import{_ as Q}from"./BasicInput.vue_vue_type_style_index_0_lang-17ae6919.js";import{u as O,_ as X}from"./useBaseTable-3c30fe12.js";import{_ as Z}from"./button.vue_vue_type_style_index_0_lang-f6f5b6a0.js";import{I as k}from"./Icon-889d6eab.js";import{t as ee}from"./useDataTime-5a269444.js";import{v as te}from"./viewersColumns-1421d40f.js";import{_ as ae,G as I,d as se,g as _,E as oe,O as U,o as x,c as y,b as i,w as r,e as q,a as s,j as v,t as E,H as N,k as ie,D as h}from"./index-f8ee37b9.js";import{g as le,a as ne}from"./itemViews-44b2d0a4.js";import{M as re}from"./index-ef1f8a61.js";import{S as ce}from"./index-0e72b27c.js";import{I as de}from"./index-1ab617ae.js";import{T as V}from"./isSymbol-cdcd460d.js";import"./usePrice-bc935b83.js";import"./updateLocale-d5a764a4.js";import"./index-bc659f42.js";import"./index-b8cc71e2.js";import"./vnode-b0e810ae.js";import"./omit-bdd3cea5.js";import"./_plugin-vue_export-helper-775bc553.js";import"./useState-f5985d90.js";import"./index-f923b666.js";import"./toArray-53a55fc4.js";import"./FormItemContext-5821e8c8.js";import"./pickAttrs-69f29e9c.js";import"./lodash-7c51d08d.js";import"./BaseSwitch.vue_vue_type_script_setup_true_lang-2e892f80.js";import"./index-78e4e5e0.js";import"./Badge-47d7b0bb.js";import"./isNumeric-3f69e2aa.js";import"./index-89210322.js";import"./index-8bcedf66.js";import"./styleChecker-c1fc9f39.js";import"./index-0441c4fc.js";import"./DialogWrap-192ddaf7.js";import"./css-aae66f86.js";import"./index-bf59f845.js";import"./isPlainObject-6382de01.js";const ue=[{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"}],z="music_macharta_video";async function me(a){const{data:c,error:n}=await I.from("music_macharta_videos").insert([a]).select();if(n)throw n;return c}async function _e(a,c){const{data:n,error:l}=await I.from("music_macharta_videos").update({...c,updated_at:new Date().toISOString()}).eq("id",a).select();if(l)throw l;return n}async function ve(a,c){const{data:n,error:l}=await I.from("music_macharta_videos").update({show:c,updated_at:new Date().toISOString()}).eq("id",a).select();if(l)throw l;return n}async function pe(a){const{error:c}=await I.from("music_macharta_videos").delete().eq("id",a);if(c)throw c}function fe(a){return ne(a,z)}function j(a,c){return le(a,c,z)}async function he(a){const{TableEngineRequest:c}=await ae(()=>import("./buildSupabaseQuery-6dd7a8c2.js"),["assets/buildSupabaseQuery-6dd7a8c2.js","assets/index-f8ee37b9.js","assets/index-8e1e8848.css","assets/supabaseTableQuery-95762ff3.js"]),n={...a};!n.sort&&!n.order&&(n.sort={key:"sort_order",order:"desc"});const l=await c(n,"music_macharta_videos");try{if(Array.isArray(l==null?void 0:l.rows)){const g=n.page||1,p=n.limit||20,w=(g-1)*p,b=l.rows.map((u,m)=>({...u,title:u.title??"",embed_code:u.embed_code??"",show:u.show??!0,sort_order:u.sort_order??0,index:w+m}));return{...l,rows:b}}}catch(g){console.error("[getMusicMachartaVideosTable]",g)}return l}const we={class:"h-full"},be={class:"gap-2 flex justify-center"},ge=s("span",null,"بازدیدها",-1),xe=s("span",null,"حذف",-1),ye=s("span",null,"ویرایش",-1),ke={class:"space-y-4"},Ve=s("div",{class:"mb-1 text-sm text-gray-600"},"عنوان *",-1),Ie=s("div",{class:"mb-1 text-sm text-gray-600"},"ترتیب نمایش",-1),Me=s("div",{class:"mb-1 text-sm text-gray-600"},"کد embed *",-1),Te={class:"flex justify-end"},Ce={key:0,class:"space-y-4"},Ee={class:"grid grid-cols-2 gap-4"},Be={class:"bg-blue-50 p-4 rounded-lg"},De=s("div",{class:"text-sm text-gray-600 mb-1"},"تعداد بازدید",-1),Se={class:"text-2xl font-bold text-blue-600"},Re={class:"bg-purple-50 p-4 rounded-lg"},Pe=s("div",{class:"text-sm text-gray-600 mb-1"},"تعداد بازدیدکننده",-1),$e={class:"text-2xl font-bold text-purple-600"},Ae=s("div",{class:"text-sm font-semibold text-gray-700 mb-2"},"لیست بازدیدکنندهها",-1),Oe={key:0},Ue={key:1,class:"text-center py-8 text-gray-500"},qe={key:1,class:"flex justify-center items-center py-8"},Vt=se({__name:"index",setup(a){const{TextArea:c}=de,[n,l]=O(),g=_({columns:ue,api:he,defaultPageLimit:20}),p=_(!1),w=_(!1),b=_(null),u=_(!1),m=_(null),M=_(!1),T=_(null),[F,B]=O(),D=_({columns:te,api:e=>j(e,T.value),defaultPageLimit:20}),d=_({title:"",embed_code:"",show:!0,sort_order:0});function H(){w.value=!1,b.value=null,d.value={title:"",embed_code:"",show:!0,sort_order:0},p.value=!0}function S(){p.value=!1}function L(e){w.value=!0,b.value=e.id,d.value={title:e.title||"",embed_code:e.embed_code||"",show:e.show!==!1,sort_order:e.sort_order??0},p.value=!0}function G(e){re.confirm({title:"حذف ویدیو",content:`آیا از حذف «${e.title}» مطمئن هستید؟`,okText:"حذف",cancelText:"انصراف",onOk:async()=>{await pe(e.id),h.success("حذف شد"),l()}})}async function J(e){await ve(e.id,e.show===!1),h.success(e.show===!1?"نمایش داده شد":"مخفی شد"),l()}async function W(){var o,f;if(!((o=d.value.title)!=null&&o.trim())){h.warning("عنوان الزامی است");return}if(!((f=d.value.embed_code)!=null&&f.trim())){h.warning("کد embed الزامی است");return}const e={title:d.value.title.trim(),embed_code:d.value.embed_code.trim(),show:d.value.show,sort_order:Number(d.value.sort_order)||0};w.value&&b.value?(await _e(b.value,e),h.success("ویرایش شد")):(await me(e),h.success("افزوده شد")),S(),l()}async function Y(e){T.value=e.id,u.value=!0,M.value=!0,m.value=null;try{m.value=await fe(e.id),D.value.api=o=>j(o,e.id)}catch(o){console.error("Error loading views:",o),h.error("خطا در بارگذاری اطلاعات بازدیدها: "+(o.message||"خطای ناشناخته"))}finally{M.value=!1}}oe([u,m],async([e,o])=>{if(e&&o&&o.total_views>0){await U(),await U();try{await B()}catch{setTimeout(async()=>{try{await B()}catch(f){console.warn("Could not reload viewers table:",f)}},200)}}},{immediate:!1});function R(){u.value=!1,m.value=null,T.value=null}return(e,o)=>{const f=Z,P=X,$=Q,A=K;return x(),y("div",we,[i(P,N(g.value,{ref:"table",onRegister:v(n)}),{extraHeader:r(()=>[i(f,{type:"primary",onClick:H},{default:r(()=>[q("افزودن ویدیو")]),_:1})]),action:r(({record:t})=>[s("div",be,[i(v(V),{class:"cursor-pointer"},{title:r(()=>[ge]),default:r(()=>[i(k,{icon:"vuesax-linear:monitor",color:"#8B5CF6",onClick:C=>Y(t)},null,8,["onClick"])]),_:2},1024),i(v(V),{class:"cursor-pointer"},{title:r(()=>[s("span",null,E((t==null?void 0:t.show)===!1?"نمایش دادن":"مخفی کردن"),1)]),default:r(()=>[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=>J(t)},null,8,["icon","color","onClick"])]),_:2},1024),i(v(V),{class:"cursor-pointer"},{title:r(()=>[xe]),default:r(()=>[i(k,{icon:"vuesax-linear:trash",color:"#DC2626",onClick:C=>G(t)},null,8,["onClick"])]),_:2},1024),i(v(V),{class:"cursor-pointer"},{title:r(()=>[ye]),default:r(()=>[i(k,{icon:"vuesax-linear:edit",color:"#1D4ED8",onClick:C=>L(t)},null,8,["onClick"])]),_:2},1024)])]),_:1},16,["onRegister"]),i(A,{visible:p.value,"onUpdate:visible":o[3]||(o[3]=t=>p.value=t),title:w.value?"ویرایش ویدیو":"افزودن ویدیو",onOk:W,onCancel:S,width:"80%"},{default:r(()=>[s("div",ke,[s("div",null,[Ve,i($,{value:d.value.title,"onUpdate:value":o[0]||(o[0]=t=>d.value.title=t),placeholder:"عنوان"},null,8,["value"])]),s("div",null,[Ie,i($,{value:d.value.sort_order,"onUpdate:value":o[1]||(o[1]=t=>d.value.sort_order=t),type:"number",placeholder:"0"},null,8,["value"])]),s("div",null,[Me,i(v(c),{value:d.value.embed_code,"onUpdate:value":o[2]||(o[2]=t=>d.value.embed_code=t),placeholder:"کد embed از آپارات یا سرویس ویدیو",rows:5},null,8,["value"])])])]),_:1},8,["visible","title"]),i(A,{visible:u.value,"onUpdate:visible":o[4]||(o[4]=t=>u.value=t),title:"اطلاعات بازدیدها",onCancel:R,width:"800px",customFooter:!0,okText:""},{footer:r(()=>[s("div",Te,[i(f,{onClick:R},{default:r(()=>[q("بستن")]),_:1})])]),default:r(()=>[m.value?(x(),y("div",Ce,[s("div",Ee,[s("div",Be,[De,s("div",Se,E(m.value.total_views),1)]),s("div",Re,[Pe,s("div",$e,E(m.value.unique_viewers),1)])]),s("div",null,[Ae,m.value&&m.value.total_views>0?(x(),y("div",Oe,[i(P,N(D.value,{onRegister:v(F)}),null,16,["onRegister"])])):(x(),y("div",Ue," هنوز بازدیدی ثبت نشده است "))])])):M.value?(x(),y("div",qe,[i(v(ce),{size:"large"})])):ie("",!0)]),_:1},8,["visible"])])}}});export{Vt as default};
|