1import{_ as k,c as a,a as t,m as C,p as u,b as d,t as i,L as w,R as b,s as _,F as p,q as h,y as M,r as N,o as r,bn as D,d as F}from"./DNWdprDe.js";import{a as v,c as E}from"./WlfIyrnt.js";const B={name:"StaffDocuments",data(){return{personel:null,documents:[],loading:!0,search:"",typeFilter:"all",errorConfirm:{showErrorMessage:!1,warnMessage:"",customClass:"",time:3e3}}},created(){},async mounted(){await this.loadDocuments()},computed:{personelName(){return this.personel?[this.personel.first_name,this.personel.last_name].filter(Boolean).join(" "):""},typeOptions(){const e={};for(const s of this.documents){const l=s.doc_type||"diger";e[l]=(e[l]||0)+1}return Object.keys(e).map(s=>({type:s,count:e[s]}))},filteredDocuments(){const e=this.search.trim().toLowerCase();return this.documents.filter(s=>this.typeFilter!=="all"&&(s.doc_type||"diger")!==this.typeFilter?!1:e?[s.title,s.note,s.file_name].some(l=>(l||"").toLowerCase().includes(e)):!0)}},methods:{async loadDocuments(){this.loading=!0;const e=await E();this.loading=!1,e&&typeof e=="object"&&!e.name&&(this.personel=e.personel||null,this.documents=Array.isArray(e.documents)?e.documents:[])},iconFor(e){const s=e.mime_type||"";return s==="application/pdf"?"file-pdf":s.startsWith("image/")?"file-image":e.doc_type==="bordro"?"file-invoice-dollar":e.doc_type==="sozlesme"?"file-signature":"file-lines"},fileMeta(e){const s=[],l=(e.file_name||"").split(".").pop();if(l&&l!==e.file_name&&s.push(l.toUpperCase()),e.file_size&&s.push(this.formatSize(e.file_size)),e.created_at){const m=new Date(e.created_at);Number.isNaN(m.getTime())||s.push(m.toLocaleDateString(this.$i18n.locale,{day:"numeric",month:"short",year:"numeric"}))}return s.join(" · ")},formatSize(e){const s=Number(e);return!s||Number.isNaN(s)?"":s>=1048576?(s/1048576).toFixed(1)+" MB":s>=1024?Math.round(s/1024)+" KB":s+" B"},async open(e){(await v(e.id,e.file_name,"inline"))?.name==="AxiosError"&&this.errorMessage(!0,this.$t("staff_documents.download_error"),"error",6e3)},async save(e){(await v(e.id,e.file_name,"attachment"))?.name==="AxiosError"&&this.errorMessage(!0,this.$t("staff_documents.download_error"),"error",6e3)},errorMessage(e,s,l,m=3e3){this.errorConfirm.showErrorMessage=e,this.errorConfirm.warnMessage=s,this.errorConfirm.customClass=l,this.errorConfirm.time=m},closeErrorMessage(){this.errorConfirm.showErrorMessage=!1,this.errorConfirm.warnMessage="",this.errorConfirm.customClass=""}}},S={class:"blok-section"},z={class:"draft-section"},V={class:"blok blok-md-12"},L={class:"sub-header"},O={class:"documents-page"},j={class:"docs-hero"},A={class:"hero-head"},T={class:"hero-titles"},q={class:"hero-name"},U={class:"hero-subtitle"},I={key:0,class:"hero-toolbar"},K={class:"search-box"},R=["placeholder"],W={class:"type-filters"},G=["onClick"],H={key:0,class:"card-grid"},J={key:1,class:"empty-state not-linked"},P={class:"empty-icon icon-amber"},Q={class:"empty-title"},X={key:2,class:"empty-state"},Y={class:"empty-icon icon-violet"},Z={class:"empty-title"},x={class:"empty-hint"},$={key:3,class:"empty-state"},ee={class:"empty-icon icon-violet"},se={class:"empty-title"},te={key:4,class:"card-grid"},oe={class:"doc-card-top"},ne={class:"doc-info"},ie={class:"doc-title"},re={class:"doc-meta"},ae={key:1,class:"meta-chip"},le={key:0,class:"doc-note"},ce={class:"doc-footer"},de={class:"file-meta"},fe={class:"doc-actions"},me=["onClick"],ue=["onClick","title"];function _e(e,s,l,m,n,f){const c=N("font-awesome-icon"),g=M;return r(),a(p,null,[t("div",S,[t("div",z,[t("div",V,[t("div",L,[t("div",null,[d(c,{class:"icon",icon:["fas","folder-open"]}),t("span",null,i(e.$t("staff_documents.title")),1)])]),t("div",O,[t("div",j,[d(c,{icon:["fas","folder-open"],class:"hero-watermark"}),t("div",A,[t("div",T,[t("strong",q,i(f.personelName||e.$t("staff_documents.title")),1),t("span",U,i(n.documents.length>0?e.$t("staff_documents.subtitle",{count:n.documents.length}):e.$t("staff_documents.subtitle_empty")),1)])]),n.documents.length>0?(r(),a("div",I,[t("div",K,[d(c,{icon:["fas","magnifying-glass"],class:"search-icon"}),w(t("input",{"onUpdate:modelValue":s[0]||(s[0]=o=>n.search=o),type:"text",placeholder:e.$t("staff_documents.search_placeholder")},null,8,R),[[b,n.search]])]),t("div",W,[t("button",{class:_(["filter-chip",{active:n.typeFilter==="all"}]),onClick:s[1]||(s[1]=o=>n.typeFilter="all")},i(e.$t("staff_documents.all_types"))+" ("+i(n.documents.length)+") ",3),(r(!0),a(p,null,h(f.typeOptions,o=>(r(),a("button",{key:o.type,class:_(["filter-chip",{active:n.typeFilter===o.type}]),onClick:y=>n.typeFilter=o.type},i(e.$t("staff_documents.type_"+o.type))+" ("+i(o.count)+") ",11,G))),128))])])):u("",!0)]),n.loading?(r(),a("div",H,[(r(),a(p,null,h(3,o=>t("div",{key:o,class:"doc-card skeleton-card"},[...s[2]||(s[2]=[D('<div class="doc-card-top" data-v-d045dff0>
1<span class="skeleton skeleton-icon" data-v-d045dff0></span><div class="doc-info" data-v-d045dff0><span class="skeleton skeleton-line w-70" data-v-d045dff0></span><span class="skeleton skeleton-line w-40" data-v-d045dff0></span></div></div><span class="skeleton skeleton-line w-90" data-v-d045dff0></span>',2)])])),64))])):n.personel?n.documents.length===0?(r(),a("div",X,[t("span",Y,[d(c,{icon:["fas","inbox"]})]),t("p",Z,i(e.$t("staff_documents.no_my_documents")),1),t("p",x,i(e.$t("staff_documents.empty_hint")),1)])):f.filteredDocuments.length===0?(r(),a("div",$,[t("span",ee,[d(c,{icon:["fas","magnifying-glass"]})]),t("p",se,i(e.$t("staff_documents.no_results")),1)])):(r(),a("div",te,[(r(!0),a(p,null,h(f.filteredDocuments,o=>(r(),a("div",{key:o.id,class:"doc-card"},[t("div",oe,[t("div",{class:_(["doc-icon","type-"+(o.doc_type||"diger")])},[d(c,{icon:["fas",f.iconFor(o)]},null,8,["icon"])],2),t("div",ne,[t("div",ie,i(o.title),1),t("div",re,[o.doc_type?(r(),a("span",{key:0,class:_(["type-badge","type-"+o.doc_type])},i(e.$t("staff_documents.type_"+o.doc_type)),3)):u("",!0),o.period?(r(),a("span",ae,[d(c,{icon:["fas","calendar-days"]}),F(" "+i(o.period),1)])):u("",!0)])])]),o.note?(r(),a("div",le,i(o.note),1)):u("",!0),t("div",ce,[t("span",de,i(f.fileMeta(o)),1),t("div",fe,[t("button",{class:"view-btn",onClick:y=>f.open(o)},[d(c,{icon:["fas","eye"]}),t("span",null,i(e.$t("staff_documents.view")),1)],8,me),t("button",{class:"dl-btn",onClick:y=>f.save(o),title:e.$t("staff_documents.download")},[d(c,{icon:["fas","download"]})],8,ue)])])]))),128))])):(r(),a("div",J,[t("span",P,[d(c,{icon:["fas","link-slash"]})]),t("p",Q,i(e.$t("staff_documents.not_linked")),1)]))])])])]),n.errorConfirm.showErrorMessage?(r(),C(g,{key:0,customClass:n.errorConfirm.customClass,"warn-message":n.errorConfirm.warnMessage,timeOut:n.errorConfirm.time,onClose:f.closeErrorMessage},null,8,["customClass","warn-message","timeOut","onClose"])):u("",!0)],64)}const ye=k(B,[["render",_e],["__scopeId","data-v-d045dff0"]]);export{ye 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.