PageSourceSearch

https://bafreinmobiliaria.es/assets/admin.incidencias.index-QtMjzMMD.js

js bafreinmobiliaria.es collected 2026-10-04 17:52:27 UTC 6,366 bytes, 1 lines download raw bytes

1import{u as b,j as e,n as N,b as y,r as c,L as h,B as v}from"./index-DFhUiiAX.js";import{i as f,a as C,I as P,b as S,c as w,d as E,e as T}from"./incidentsService-BfBFUxrj.js";import{P as I,S as A}from"./pills-Ck1QeFlb.js";import{f as k}from"./format-CsqaNbnV.js";import{T as q}from"./table-pagination-BYjNZLec.js";import{u as B,a as L}from"./useWebAdminPermissions-BoShnI_b.js";import{P as g}from"./plus-An2xpF0B.js";import{S as z}from"./search-4XzxSTCG.js";import{C as R}from"./circle-alert-ConoIVH2.js";import"./hoursBankAdapter-BmeMS6Ex.js";function H(){const s=N({from:"/admin/incidencias/"}),i=y({from:"/admin/incidencias/"}),[r,t]=c.useState(null),[x,m]=c.useState(!0),[d,p]=c.useState(null),{t:o}=b(),j=B(),l=a=>i({search:n=>({...n,...a,page:1})});c.useEffect(()=>{let a=!1;return m(!0),C.list({page:s.page,status:s.status||null,priority:s.priority||null,category:s.category||null,search:s.q||null}).then(n=>{a||(t(n),p(null))}).catch(n=>{a||(t(null),p(L(n,"No se han podido cargar las incidencias.")))}).finally(()=>!a&&m(!1)),()=>{a=!0}},[s.status,s.priority,s.category,s.q,s.page]);const u=j.allow("web.incidents.create",r?.capabilities.canCreate??null);return e.jsxs("div",{className:"flex flex-col gap-6",children:[e.jsxs("header",{className:"flex flex-col gap-2",children:[e.jsx("span",{className:"eyebrow",children:"Zona privada"}),e.jsxs("div",{className:"flex flex-wrap items-end justify-between gap-4",children:[e.jsxs("div",{children:[e.jsx("h1",{className:"font-display text-4xl md:text-5xl",children:"Incidencias"}),e.jsx("p",{className:"max-w-2xl text-sm text-muted-foreground",children:"Comunica y realiza el seguimiento de incidencias con el equipo de BAFRE."})]}),u&&e.jsxs(h,{to:"/admin/incidencias/nueva",className:"inline-flex items-center gap-2 bg-ink px-4 py-2.5 text-[11px] font-semibold uppercase tracking-[0.22em] text-bone hover:bg-ink/85",children:[e.jsx(g,{size:14})," Nueva incidencia"]})]})]}),e.jsxs("div",{className:"grid gap-3 border border-border bg-background p-4 md:grid-cols-[1fr_160px_160px_160px]",children:[e.jsxs("label",{className:"flex items-center gap-2 border border-border bg-surface px-3",children:[e.jsx(z,{size:14,className:"text-muted-foreground","aria-hidden":!0}),e.jsx("input",{type:"search",placeholder:"Buscar por código o asunto",className:"h-9 w-full bg-transparent text-sm focus:outline-none",value:s.q,onChange:a=>l({q:a.target.value})})]}),e.jsxs("select",{value:s.status,onChange:a=>l({status:a.target.value}),className:"h-9 border border-border bg-surface px-2 text-sm",children:[e.jsx("option",{value:"",children:"Todos los estados"}),P.map(a=>e.jsx("option",{value:a,children:o(S(a))},a))]}),e.jsxs("select",{value:s.priority,onChange:a=>l({priority:a.target.value}),className:"h-9 border border-border bg-surface px-2 text-sm",children:[e.jsx("option",{value:"",children:"Todas las prioridades"}),w.map(a=>e.jsx("option",{value:a,children:o(E(a))},a))]}),e.jsxs("select",{value:s.category,onChange:a=>l({category:a.target.value}),className:"h-9 border border-border bg-surface px-2 text-sm",children:[e.jsx("option",{value:"",children:"Todas las categorías"}),T.map(a=>e.jsx("option",{value:a,children:o(f(a))},a))]})]}),d&&!x&&e.jsx("div",{className:"border border-bafre-red/40 bg-bafre-red/5 p-6 text-sm text-bafre-red",children:d}),e.jsx("div",{className:"border border-border bg-background",children:x?e.jsx("div",{className:"p-10 text-center text-sm text-muted-foreground",children:e.jsx(v,{size:"md",showLabel:!0,label:"Cargando incidencias…"})}):d?null:r&&r.items.length>0?e.jsx(_,{items:r.items,basePath:"/admin/incidencias"}):e.jsxs("div",{className:"flex flex-col items-center gap-3 p-12 text-center",children:[e.jsx(R,{size:22,className:"text-muted-foreground"}),e.jsx("div",{className:"font-display text-lg",children:"Aún no tienes incidencias."}),e.jsx("p",{className:"max-w-md text-sm text-muted-foreground",children:"Cuando abras una incidencia con el equipo de BAFRE, aparecerá aquí para poder hacer seguimiento."}),u&&e.jsxs(h,{to:"/admin/incidencias/nueva",className:"mt-2 inline-flex items-center gap-2 border border-border px-4 py-2 text-xs uppercase tracking-widest text-foreground hover:border-foreground",children:[e.jsx(g,{size:14})," Crear incidencia"]})]})}),r&&r.pagination.lastPage>1&&e.jsx(q,{page:r.pagination.page,lastPage:r.pagination.lastPage,total:r.pagination.total,onPage:a=>i({search:n=>({...n,page:a})}),prev:"Anterior",next:"Siguiente",label:"Página {page} de {last}"})]})}function _({items:s,basePath:i}){const{t:r}=b();return e.jsx("div",{className:"overflow-x-auto",children:e.jsxs("table",{className:"w-full min-w-[720px] text-sm md:min-w-0",children:[e.jsx("thead",{children:e.jsxs("tr",{className:"border-b border-border text-left text-[10px] uppercase tracking-widest text-muted-foreground",children:[e.jsx("th",{className:"px-5 py-3",children:"Código"}),e.jsx("th",{className:"px-5 py-3",children:"Asunto"}),e.jsx("th",{className:"px-5 py-3",children:r("content.admin.incidencias.center.colRequester")}),e.jsx("th",{className:"px-5 py-3",children:"Categoría"}),e.jsx("th",{className:"px-5 py-3",children:"Prioridad"}),e.jsx("th",{className:"px-5 py-3",children:"Estado"}),e.jsx("th",{className:"px-5 py-3",children:"Actualizada"}),e.jsx("th",{className:"px-5 py-3"})]})}),e.jsx("tbody",{children:s.map(t=>e.jsxs("tr",{className:"border-b border-border last:border-b-0",children:[e.jsx("td",{className:"px-5 py-3 font-mono text-xs text-muted-foreground",children:t.code}),e.jsx("td",{className:"px-5 py-3",children:t.subject}),e.jsxs("td",{className:"px-5 py-3 text-xs",children:[e.jsx("div",{className:"font-medium text-foreground",children:t.createdBy.name||r("content.admin.incidencias.author.unknown")}),t.createdBy.email&&e.jsx("div",{className:"text-[11px] text-muted-foreground",children:t.createdBy.email})]}),e.jsx("td",{className:"px-5 py-3 text-xs",children:r(f(t.category))}),e.jsx("td",{className:"px-5 py-3",children:e.jsx(I,{priority:t.priority})}),e.jsx("td",{className:"px-5 py-3",children:e.jsx(A,{status:t.status})}),e.jsx("td",{className:"px-5 py-3 text-xs text-muted-foreground",children:k(t.updatedAt)}),e.jsx("td",{className:"px-5 py-3 text-right",children:e.jsx("a",{href:`${i}/${t.id}`,className:"text-xs text-brass hover:underline",children:"Abrir"})})]},t.id))})]})})}export{_ as IncidentTable,H as component};

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.