1import{_ as A,a as R}from"./AdminLayout-CoiDXqCv.js";import{_ as z}from"./PageBreadcrumb-CfgsVIZG.js";import{_ as E}from"./PageCard-CjUIZ7rS.js";import{_ as G}from"./DataTable-JbcYUtPn.js";import{_ as Q}from"./Modal-B64nDpQW.js";import{G as Z,u as q,w as F,o as H,b as g,d as D,A as l,s as x,c as b,f as a,e as f,t as r,n as I,g as L,C as v,j as h,h as i}from"./index-DRp_EfMJ.js";import"./logo-dark-CgxNiwWY.js";import"./LanguageSwitcher-vtaIfEeV.js";import"./SkeletonTable-DQQHitd1.js";const J={class:"inline-flex h-5 min-w-5 items-center justify-center rounded-full bg-brand-500 px-1.5 text-xs font-semibold text-white"},K={class:"flex items-center gap-2"},O={key:0,class:"h-2 w-2 flex-shrink-0 rounded-full bg-brand-500"},U=["title"],W=["onClick","title"],X={class:"no-scrollbar relative w-full max-w-100 overflow-y-auto rounded-3xl bg-white p-4 dark:bg-gray-900 lg:p-8"},Y={class:"mb-4 pr-14 text-xl font-semibold text-gray-800 dark:text-white/90"},ee={class:"mb-6 text-sm text-gray-500 dark:text-gray-400"},te={class:"font-semibold text-error-600"},ae={class:"flex items-center gap-3 justify-end"},fe={__name:"NotificationsView",setup(se){const m=Z(),_=q(),o=h(()=>_.language),k=h(()=>o.value.notifications||"Notifications"),P=h(()=>({title:o.value.notificationTitle||"Title",body:o.value.notificationText||"Text",date:o.value.dateCreate||"Date"})),T={canDelete:!0,canEdit:!1},w=i([]),C=i(null),p=i(0),y=i(!1),d=i({page:1,per_page:20,search:""}),n=async()=>{y.value=!0;const e=await v.get("/api/v1/notifications",{params:d.value});y.value=!1,e.status?(w.value=(e.data||[]).map(t=>({id:t.id,title:t.title||o.value.notification||"Notification",body:t.body||"",date:t.created_at?R(t.created_at):"-",_unread:!t.read_at})),C.value=e.meta?.pagination||null,p.value=e.meta?.unread_count??0):m.error(e.message)},$=e=>{d.value.page=e,n()},M=e=>{d.value.per_page=e,d.value.page=1,n()},N=e=>{d.value.search=e,d.value.page=1,n()},S=async e=>{const t=await v.post("/api/v1/notifications/"+e.id+"/read");t.status?await n():m.error(t.message)},j=async()=>{const e=await v.post("/api/v1/notifications/mark-all-read");e.status?await n():m.error(e.message)},u=i(!1),c=i(null),B=e=>{c.value=e,u.value=!0},V=async()=>{if(!c.value)return;const e=await v.delete("/api/v1/notifications/"+c.value.id);e.status?(u.value=!1,c.value=null,await n()):m.error(e.message)};return F(()=>_.currentLanguage,()=>{n()}),H(()=>n()),(e,t)=>(g(),D(A,null,{default:l(()=>[x(z,{pageTitle:k.value},null,8,["pageTitle"]),x(E,{title:k.value},{"header-actions":l(()=>[p.value>0?(g(),b("button",{key:0,onClick:j,class:"border border-gray-300 bg-white text-gray-700 hover:bg-gray-50 dark:border-gray-700 dark:bg-gray-800 dark:text-gray-400 dark:hover:bg-white/3 inline-flex items-center justify-center gap-2 rounded-lg px-4 py-3 text-sm font-medium transition"},[L(r(o.value.markAllRead||"Mark all read")+" ",1),a("span",J,r(p.value),1)])):f("",!0)]),default:l(()=>[x(G,{data:w.value,userPermissions:T,labels:P.value,loading:y.value,serverSide:!0,pagination:C.value,sortable:!1,onDeleteModal:B,onPageChange:$,onPerPageChange:M,onSearch:N},{"column-title":l(({item:s})=>[a("div",K,[s._unread?(g(),b("span",O)):f("",!0),a("span",{class:I(["text-theme-sm",s._unread?"font-semibold text-gray-800 dark:text-white/90":"text-gray-700 dark:text-gray-400"])},r(s.title),3)])]),"column-body":l(({item:s})=>[a("p",{class:"max-w-md text-gray-700 text-theme-sm dark:text-gray-400 line-clamp-2",title:s.body}
1,r(s.body||"-"),9,U)]),actions:l(({item:s})=>[s._unread?(g(),b("button",{key:0,onClick:oe=>S(s),class:"text-gray-500 hover:text-success-500 dark:text-gray-400 dark:hover:text-success-500",title:o.value.markRead||"Mark as read"},[...t[3]||(t[3]=[a("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[a("path",{d:"M20 6L9 17l-5-5"})],-1)])],8,W)):f("",!0)]),_:1},8,["data","labels","loading","pagination"])]),_:1},8,["title"]),u.value?(g(),D(Q,{key:0,onClose:t[2]||(t[2]=s=>u.value=!1)},{body:l(()=>[a("div",X,[a("button",{onClick:t[0]||(t[0]=s=>u.value=!1),class:"transition-color absolute right-5 top-5 z-999 flex h-11 w-11 items-center justify-center rounded-full bg-gray-100 text-gray-400 hover:bg-gray-200 dark:bg-gray-700 dark:text-gray-400 dark:hover:bg-white/[0.07]"},[...t[4]||(t[4]=[a("svg",{class:"fill-current",width:"24",height:"24",viewBox:"0 0 24 24"},[a("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M6.04289 16.5418C5.65237 16.9323 5.65237 17.5655 6.04289 17.956C6.43342 18.3465 7.06658 18.3465 7.45711 17.956L11.9987 13.4144L16.5408 17.9565C16.9313 18.347 17.5645 18.347 17.955 17.9565C18.3455 17.566 18.3455 16.9328 17.955 16.5423L13.4129 12.0002L17.955 7.45808C18.3455 7.06756 18.3455 6.43439 17.955 6.04387C17.5645 5.65335 16.9313 5.65335 16.5408 6.04387L11.9987 10.586L7.45711 6.04439C7.06658 5.65386 6.43342 5.65386 6.04289 6.04439C5.65237 6.43491 5.65237 7.06808 6.04289 7.4586L10.5845 12.0002L6.04289 16.5418Z"})],-1)])]),a("h4",Y,r(o.value.delete||"Delete"),1),a("p",ee,[L(r(o.value.notificationDeleteQuestion||"Are you sure you want to delete this notification:")+" ",1),a("span",te,r(c.value?.title),1)]),a("div",ae,[a("button",{onClick:t[1]||(t[1]=s=>u.value=!1),type:"button",class:"rounded-lg border border-gray-300 bg-white px-4 py-2.5 text-sm font-medium text-gray-700 hover:bg-gray-50 dark:border-gray-700 dark:bg-gray-800 dark:text-gray-400"},r(o.value.close||"Cancel"),1),a("button",{onClick:V,class:"rounded-lg bg-error-500 px-4 py-2.5 text-sm font-medium text-white hover:bg-error-600"},r(o.value.delete||"Delete"),1)])])]),_:1})):f("",!0)]),_:1}))}};export{fe as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.