2 lines
9.0 KiB
JavaScript
2 lines
9.0 KiB
JavaScript
import{_ as Y}from"./BasicModal.vue_vue_type_style_index_0_lang-c3017354.js";import{_ as Q}from"./BasicInput.vue_vue_type_style_index_0_lang-5a31e25c.js";import{u as $,_ as X}from"./useBaseTable-6d1e031d.js";import{_ as Z}from"./button.vue_vue_type_style_index_0_lang-29638cb6.js";import{I as k}from"./Icon-c8a211f1.js";import{t as ee}from"./useDataTime-4239bab9.js";import{g as te,a as ae,v as se}from"./itemViews-ab7054bf.js";import{_ as oe,H as ie,I as z,J as le,d as ne,i as _,G as re,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,K as N,n as ce,E as h}from"./index-a28be152.js";import{M as de}from"./index-8cc4eae2.js";import{S as ue}from"./index-dd708aca.js";import{I as me}from"./index-f317ca53.js";import{T as V}from"./isSymbol-25ca88cb.js";import"./usePrice-bc935b83.js";import"./updateLocale-619fe8a7.js";import"./index-3bdda65d.js";import"./_plugin-vue_export-helper-f8ecc290.js";import"./shallowequal-4c00a664.js";import"./vnode-4742fc96.js";import"./useState-277534ff.js";import"./useMemo-832cfde0.js";import"./FormItemContext-e50ee5a3.js";import"./omit-8084e33b.js";import"./lodash-5d3e4f7d.js";import"./BaseSwitch.vue_vue_type_script_setup_true_lang-1d4fd99b.js";import"./index-61ef5439.js";import"./Badge-7dd6b925.js";import"./isNumeric-3f69e2aa.js";import"./index-dbebb139.js";import"./index-5222fc6e.js";import"./index-1e365e2e.js";import"./styleChecker-8c6ff79a.js";import"./index-12d303fc.js";import"./index-4a3fe357.js";import"./DialogWrap-617bda84.js";import"./pickAttrs-38902005.js";import"./css-aae66f86.js";import"./index-2849b35f.js";import"./toArray-bdec6b87.js";import"./SearchOutlined-4a5562a8.js";import"./isMobile-e2e89480.js";import"./index-f3f71242.js";import"./supabaseTableQuery-e3d032a9.js";import"./isPlainObject-450bf3c7.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-7d0fcf16.js"),["assets/buildSupabaseQuery-7d0fcf16.js","assets/index-a28be152.js","assets/index-d7456b90.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"},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"},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"},Et=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 E(){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 K(){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("افزوده شد")),E(),m()}async function W(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 B(){d.value=!1,u.value=null,M.value=null}return(e,o)=>{const f=Z,D=X,S=Q,P=Y;return g(),x("div",be,[i(D,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:C=>W(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=>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: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:K,onCancel:E,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:B,width:"800px",customFooter:!0,okText:""},{footer:n(()=>[s("div",Ae,[i(f,{onClick:B},{default:n(()=>[O("بستن")]),_:1})])]),default:n(()=>[u.value?(g(),x("div",Re,[s("div",Ee,[s("div",Be,[De,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(D,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{Et as default};
|