Files
RDO/dist/assets/js/Cadastros-QZZ_REjv.js
2026-02-20 07:25:32 -03:00

2 lines
16 KiB
JavaScript

import{j as e}from"./query-vendor-BLVqILA6.js";import{r as d,L as y}from"./router-vendor-D4by-_6Z.js";import{T as A}from"./ThemeToggle-Cryh6OOS.js";import{P,B as u,U as T,W as R,S as $,d as U,A as l,m as r,E as x,e as g,f as L,g as m,h as b,M as z,i as F,j as I,k as O,l as G}from"./ui-vendor-CyRvbSfR.js";import"./react-vendor-CqRd3GwO.js";const p=[{id:"1",nome:"Edifício Residencial Aurora",endereco:"Rua das Flores, 123 - Centro",cliente:"Construtora ABC Ltda",responsavel:"João Silva",data_inicio:"2024-01-01",data_previsao:"2024-12-31",status:"em_andamento",progresso:45,orcamento:25e5},{id:"2",nome:"Centro Comercial Plaza",endereco:"Av. Principal, 456 - Bairro Novo",cliente:"Investimentos XYZ S.A.",responsavel:"Maria Santos",data_inicio:"2024-02-15",data_previsao:"2025-06-30",status:"em_andamento",progresso:25,orcamento:5e6}],j=[{id:"1",nome:"João Silva",email:"joao.silva@empresa.com",telefone:"(11) 99999-9999",funcao:"Engenheiro Civil",empresa:"Construtora ABC",status:"ativo",data_cadastro:"2024-01-01",ultimo_acesso:"2024-01-15"},{id:"2",nome:"Maria Santos",email:"maria.santos@empresa.com",telefone:"(11) 88888-8888",funcao:"Arquiteta",empresa:"Construtora ABC",status:"ativo",data_cadastro:"2024-01-05",ultimo_acesso:"2024-01-14"}],v=[{id:"1",nome:"Betoneira 400L",tipo:"Betoneira",modelo:"BT-400",fabricante:"Menegotti",ano_fabricacao:2022,numero_serie:"BT400-2022-001",status:"em_uso",obra_atual:"Edifício Residencial Aurora",proximo_manutencao:"2024-03-01"},{id:"2",nome:"Guindaste 20T",tipo:"Guindaste",modelo:"GR-20",fabricante:"Liebherr",ano_fabricacao:2021,numero_serie:"GR20-2021-005",status:"disponivel",proximo_manutencao:"2024-02-15"}],i={obras:{planejamento:{label:"Planejamento",color:"bg-gray-100 text-gray-700 dark:bg-gray-700 dark:text-gray-300"},em_andamento:{label:"Em Andamento",color:"bg-blue-100 text-blue-700 dark:bg-blue-900/30 dark:text-blue-300"},pausada:{label:"Pausada",color:"bg-yellow-100 text-yellow-700 dark:bg-yellow-900/30 dark:text-yellow-300"},concluida:{label:"Concluída",color:"bg-green-100 text-green-700 dark:bg-green-900/30 dark:text-green-300"}},usuarios:{ativo:{label:"Ativo",color:"bg-green-100 text-green-700 dark:bg-green-900/30 dark:text-green-300"},inativo:{label:"Inativo",color:"bg-red-100 text-red-700 dark:bg-red-900/30 dark:text-red-300"}},equipamentos:{disponivel:{label:"Disponível",color:"bg-green-100 text-green-700 dark:bg-green-900/30 dark:text-green-300"},em_uso:{label:"Em Uso",color:"bg-blue-100 text-blue-700 dark:bg-blue-900/30 dark:text-blue-300"},manutencao:{label:"Manutenção",color:"bg-yellow-100 text-yellow-700 dark:bg-yellow-900/30 dark:text-yellow-300"},inativo:{label:"Inativo",color:"bg-red-100 text-red-700 dark:bg-red-900/30 dark:text-red-300"}}};function Y(){const[s,k]=d.useState("obras"),[f,N]=d.useState(""),[h,w]=d.useState(!1),[t,n]=d.useState(null),_=[{id:"obras",label:"Obras",icon:u,count:p.length},{id:"usuarios",label:"Usuários",icon:T,count:j.length},{id:"equipamentos",label:"Equipamentos",icon:R,count:v.length}],C=a=>new Intl.NumberFormat("pt-BR",{style:"currency",currency:"BRL"}).format(a),o=a=>new Date(a).toLocaleDateString("pt-BR"),E=({obra:a})=>e.jsxs(r.div,{layout:!0,initial:{opacity:0,y:20},animate:{opacity:1,y:0},exit:{opacity:0,y:-20},className:"bg-white/70 dark:bg-gray-800/70 backdrop-blur-md rounded-2xl p-6 border border-gray-200/50 dark:border-gray-700/50 shadow-lg hover:shadow-xl transition-all duration-300",children:[e.jsxs("div",{className:"flex items-start justify-between mb-4",children:[e.jsxs("div",{className:"flex-1",children:[e.jsx("h3",{className:"font-semibold text-gray-900 dark:text-white text-lg mb-2",children:a.nome}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs("div",{className:"flex items-center gap-2 text-sm text-gray-600 dark:text-gray-300",children:[e.jsx(I,{className:"w-4 h-4"}),a.endereco]}),e.jsxs("div",{className:"flex items-center gap-2 text-sm text-gray-600 dark:text-gray-300",children:[e.jsx(O,{className:"w-4 h-4"}),a.cliente]}),e.jsxs("div",{className:"flex items-center gap-2 text-sm text-gray-600 dark:text-gray-300",children:[e.jsx(G,{className:"w-4 h-4"}),o(a.data_inicio)," - ",o(a.data_previsao)]})]})]}),e.jsxs("div",{className:"relative",children:[e.jsx("button",{onClick:()=>n(t===a.id?null:a.id),className:"p-2 hover:bg-gray-100 dark:hover:bg-gray-700 rounded-lg transition-colors",title:"Mais opções","aria-label":"Mais opções",children:e.jsx(x,{className:"w-5 h-5 text-gray-400 dark:text-gray-500"})}),e.jsx(l,{children:t===a.id&&e.jsx(r.div,{initial:{opacity:0,scale:.95},animate:{opacity:1,scale:1},exit:{opacity:0,scale:.95},className:"absolute right-0 top-full mt-2 w-48 bg-white dark:bg-gray-800 rounded-xl shadow-lg border border-gray-200 dark:border-gray-700 z-10",children:e.jsxs("div",{className:"p-2",children:[e.jsxs(y,{to:`/obra/${a.id}`,className:"w-full flex items-center gap-2 px-3 py-2 text-sm text-gray-700 dark:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-700 rounded-lg transition-colors",children:[e.jsx(g,{className:"w-4 h-4"}),"Visualizar"]}),e.jsxs("button",{className:"w-full flex items-center gap-2 px-3 py-2 text-sm text-gray-700 dark:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-700 rounded-lg transition-colors",children:[e.jsx(m,{className:"w-4 h-4"}),"Editar"]}),e.jsxs("button",{className:"w-full flex items-center gap-2 px-3 py-2 text-sm text-red-600 hover:bg-red-50 dark:hover:bg-red-900/20 rounded-lg transition-colors",children:[e.jsx(b,{className:"w-4 h-4"}),"Excluir"]})]})})})]})]}),e.jsxs("div",{className:"flex items-center justify-between mb-4",children:[e.jsx("span",{className:`px-3 py-1 rounded-full text-xs font-medium ${i.obras[a.status].color}`,children:i.obras[a.status].label}),e.jsx("span",{className:"text-sm font-medium text-gray-700 dark:text-gray-300",children:C(a.orcamento)})]}),e.jsxs("div",{className:"mb-4",children:[e.jsxs("div",{className:"flex items-center justify-between mb-2",children:[e.jsx("span",{className:"text-sm font-medium text-gray-700 dark:text-gray-300",children:"Progresso"}),e.jsxs("span",{className:"text-sm font-medium text-gray-700 dark:text-gray-300",children:[a.progresso,"%"]})]}),e.jsx("div",{className:"w-full bg-gray-200 dark:bg-gray-700 rounded-full h-2",children:e.jsx(r.div,{initial:{width:0},animate:{width:`${a.progresso}%`},transition:{duration:.5,ease:"easeOut"},className:"h-2 bg-blue-500 rounded-full"})})]}),e.jsxs("div",{className:"text-sm text-gray-600 dark:text-gray-300",children:[e.jsx("strong",{children:"Responsável:"})," ",a.responsavel]})]}),S=({usuario:a})=>e.jsxs(r.div,{layout:!0,initial:{opacity:0,y:20},animate:{opacity:1,y:0},exit:{opacity:0,y:-20},className:"bg-white/70 dark:bg-gray-800/70 backdrop-blur-md rounded-2xl p-6 border border-gray-200/50 dark:border-gray-700/50 shadow-lg hover:shadow-xl transition-all duration-300",children:[e.jsxs("div",{className:"flex items-start justify-between mb-4",children:[e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsx("div",{className:"w-12 h-12 bg-gradient-to-br from-blue-500 to-purple-600 rounded-full flex items-center justify-center text-white font-semibold",children:a.nome.split(" ").map(c=>c[0]).join("").toUpperCase()}),e.jsxs("div",{children:[e.jsx("h3",{className:"font-semibold text-gray-900 dark:text-white text-lg",children:a.nome}),e.jsx("p",{className:"text-sm text-gray-600 dark:text-gray-300",children:a.funcao})]})]}),e.jsxs("div",{className:"relative",children:[e.jsx("button",{onClick:()=>n(t===a.id?null:a.id),className:"p-2 hover:bg-gray-100 dark:hover:bg-gray-700 rounded-lg transition-colors",title:"Mais opções","aria-label":"Mais opções",children:e.jsx(x,{className:"w-5 h-5 text-gray-400 dark:text-gray-500"})}),e.jsx(l,{children:t===a.id&&e.jsx(r.div,{initial:{opacity:0,scale:.95},animate:{opacity:1,scale:1},exit:{opacity:0,scale:.95},className:"absolute right-0 top-full mt-2 w-48 bg-white dark:bg-gray-800 rounded-xl shadow-lg border border-gray-200 dark:border-gray-700 z-10",children:e.jsxs("div",{className:"p-2",children:[e.jsxs("button",{className:"w-full flex items-center gap-2 px-3 py-2 text-sm text-gray-700 dark:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-700 rounded-lg transition-colors",children:[e.jsx(g,{className:"w-4 h-4"}),"Visualizar"]}),e.jsxs("button",{className:"w-full flex items-center gap-2 px-3 py-2 text-sm text-gray-700 dark:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-700 rounded-lg transition-colors",children:[e.jsx(m,{className:"w-4 h-4"}),"Editar"]}),e.jsxs("button",{className:"w-full flex items-center gap-2 px-3 py-2 text-sm text-red-600 hover:bg-red-50 dark:hover:bg-red-900/20 rounded-lg transition-colors",children:[e.jsx(b,{className:"w-4 h-4"}),"Excluir"]})]})})})]})]}),e.jsxs("div",{className:"space-y-2 mb-4",children:[e.jsxs("div",{className:"flex items-center gap-2 text-sm text-gray-600 dark:text-gray-300",children:[e.jsx(z,{className:"w-4 h-4"}),a.email]}),e.jsxs("div",{className:"flex items-center gap-2 text-sm text-gray-600 dark:text-gray-300",children:[e.jsx(F,{className:"w-4 h-4"}),a.telefone]}),e.jsxs("div",{className:"flex items-center gap-2 text-sm text-gray-600 dark:text-gray-300",children:[e.jsx(u,{className:"w-4 h-4"}),a.empresa]})]}),e.jsxs("div",{className:"flex items-center justify-between mb-4",children:[e.jsx("span",{className:`px-3 py-1 rounded-full text-xs font-medium ${i.usuarios[a.status].color}`,children:i.usuarios[a.status].label}),e.jsxs("span",{className:"text-xs text-gray-500 dark:text-gray-400",children:["Último acesso: ",o(a.ultimo_acesso)]})]}),e.jsxs("div",{className:"text-xs text-gray-500 dark:text-gray-400",children:["Cadastrado em: ",o(a.data_cadastro)]})]}),M=({equipamento:a})=>e.jsxs(r.div,{layout:!0,initial:{opacity:0,y:20},animate:{opacity:1,y:0},exit:{opacity:0,y:-20},className:"bg-white/70 dark:bg-gray-800/70 backdrop-blur-md rounded-2xl p-6 border border-gray-200/50 dark:border-gray-700/50 shadow-lg hover:shadow-xl transition-all duration-300",children:[e.jsxs("div",{className:"flex items-start justify-between mb-4",children:[e.jsxs("div",{className:"flex-1",children:[e.jsx("h3",{className:"font-semibold text-gray-900 dark:text-white text-lg mb-2",children:a.nome}),e.jsxs("div",{className:"space-y-1",children:[e.jsxs("p",{className:"text-sm text-gray-600 dark:text-gray-300",children:[e.jsx("strong",{children:"Tipo:"})," ",a.tipo]}),e.jsxs("p",{className:"text-sm text-gray-600 dark:text-gray-300",children:[e.jsx("strong",{children:"Modelo:"})," ",a.modelo]}),e.jsxs("p",{className:"text-sm text-gray-600 dark:text-gray-300",children:[e.jsx("strong",{children:"Fabricante:"})," ",a.fabricante]})]})]}),e.jsxs("div",{className:"relative",children:[e.jsx("button",{onClick:()=>n(t===a.id?null:a.id),className:"p-2 hover:bg-gray-100 dark:hover:bg-gray-700 rounded-lg transition-colors",title:"Mais opções","aria-label":"Mais opções",children:e.jsx(x,{className:"w-5 h-5 text-gray-400 dark:text-gray-500"})}),e.jsx(l,{children:t===a.id&&e.jsx(r.div,{initial:{opacity:0,scale:.95},animate:{opacity:1,scale:1},exit:{opacity:0,scale:.95},className:"absolute right-0 top-full mt-2 w-48 bg-white dark:bg-gray-800 rounded-xl shadow-lg border border-gray-200 dark:border-gray-700 z-10",children:e.jsxs("div",{className:"p-2",children:[e.jsxs("button",{className:"w-full flex items-center gap-2 px-3 py-2 text-sm text-gray-700 dark:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-700 rounded-lg transition-colors",children:[e.jsx(g,{className:"w-4 h-4"}),"Visualizar"]}),e.jsxs("button",{className:"w-full flex items-center gap-2 px-3 py-2 text-sm text-gray-700 dark:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-700 rounded-lg transition-colors",children:[e.jsx(L,{className:"w-4 h-4"}),"Manutenção"]}),e.jsxs("button",{className:"w-full flex items-center gap-2 px-3 py-2 text-sm text-gray-700 dark:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-700 rounded-lg transition-colors",children:[e.jsx(m,{className:"w-4 h-4"}),"Editar"]}),e.jsxs("button",{className:"w-full flex items-center gap-2 px-3 py-2 text-sm text-red-600 hover:bg-red-50 dark:hover:bg-red-900/20 rounded-lg transition-colors",children:[e.jsx(b,{className:"w-4 h-4"}),"Excluir"]})]})})})]})]}),e.jsxs("div",{className:"flex items-center justify-between mb-4",children:[e.jsx("span",{className:`px-3 py-1 rounded-full text-xs font-medium ${i.equipamentos[a.status].color}`,children:i.equipamentos[a.status].label}),e.jsx("span",{className:"text-sm text-gray-600 dark:text-gray-300",children:a.ano_fabricacao})]}),a.obra_atual&&e.jsx("div",{className:"mb-3",children:e.jsxs("p",{className:"text-sm text-gray-600 dark:text-gray-300",children:[e.jsx("strong",{children:"Obra atual:"})," ",a.obra_atual]})}),e.jsxs("div",{className:"space-y-1 text-xs text-gray-500 dark:text-gray-400",children:[e.jsxs("p",{children:[e.jsx("strong",{children:"Série:"})," ",a.numero_serie]}),e.jsxs("p",{children:[e.jsx("strong",{children:"Próxima manutenção:"})," ",o(a.proximo_manutencao)]})]})]}),B=()=>{switch(s){case"obras":return e.jsx("div",{className:"grid grid-cols-1 lg:grid-cols-2 xl:grid-cols-3 gap-6",children:e.jsx(l,{children:p.map(a=>e.jsx(E,{obra:a},a.id))})});case"usuarios":return e.jsx("div",{className:"grid grid-cols-1 lg:grid-cols-2 xl:grid-cols-3 gap-6",children:e.jsx(l,{children:j.map(a=>e.jsx(S,{usuario:a},a.id))})});case"equipamentos":return e.jsx("div",{className:"grid grid-cols-1 lg:grid-cols-2 xl:grid-cols-3 gap-6",children:e.jsx(l,{children:v.map(a=>e.jsx(M,{equipamento:a},a.id))})});default:return null}};return e.jsxs("div",{className:"min-h-screen bg-gradient-to-br from-blue-50 via-white to-purple-50 dark:from-gray-900 dark:via-gray-800 dark:to-gray-900",children:[e.jsx("div",{className:"bg-white/80 dark:bg-gray-800/80 backdrop-blur-md border-b border-gray-200/50 dark:border-gray-700/50",children:e.jsxs("div",{className:"px-6 py-6",children:[e.jsxs("div",{className:"flex items-center justify-between mb-6",children:[e.jsxs("div",{children:[e.jsx("h1",{className:"text-2xl font-bold text-gray-900 dark:text-white mb-2",children:"Cadastros"}),e.jsx("p",{className:"text-gray-600 dark:text-gray-300",children:"Gerencie obras, usuários e equipamentos"})]}),e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsx(A,{}),e.jsxs(y,{to:`/cadastros/${s}/new`,className:"flex items-center gap-2 px-6 py-3 bg-blue-600 text-white rounded-xl hover:bg-blue-700 transition-colors shadow-lg",children:[e.jsx(P,{className:"w-5 h-5"}),"Novo ",s==="obras"?"Obra":s==="usuarios"?"Usuário":"Equipamento"]})]})]}),e.jsx("div",{className:"flex space-x-1 bg-gray-100 dark:bg-gray-700 p-1 rounded-xl mb-6 overflow-x-auto scrollbar-hide",children:_.map(a=>{const c=a.icon;return e.jsxs("button",{onClick:()=>k(a.id),className:`flex-1 min-w-[140px] flex items-center justify-center gap-2 px-4 py-3 rounded-lg font-medium transition-all duration-200 whitespace-nowrap ${s===a.id?"bg-white dark:bg-gray-800 text-blue-600 dark:text-blue-400 shadow-sm":"text-gray-600 dark:text-gray-300 hover:text-gray-900 dark:hover:text-white"}`,children:[e.jsx(c,{className:"w-5 h-5 shrink-0"}),a.label,e.jsx("span",{className:`px-2 py-1 rounded-full text-xs shrink-0 ${s===a.id?"bg-blue-100 dark:bg-blue-900/30 text-blue-600 dark:text-blue-400":"bg-gray-200 dark:bg-gray-600 text-gray-600 dark:text-gray-300"}`,children:a.count})]},a.id)})}),e.jsxs("div",{className:"flex gap-4",children:[e.jsxs("div",{className:"flex-1 relative",children:[e.jsx($,{className:"absolute left-3 top-1/2 transform -translate-y-1/2 w-5 h-5 text-gray-400 dark:text-gray-500"}),e.jsx("input",{type:"text",placeholder:`Buscar ${s}...`,value:f,onChange:a=>N(a.target.value),className:"w-full pl-10 pr-4 py-3 bg-white/50 dark:bg-gray-700/50 border border-gray-300 dark:border-gray-600 rounded-xl focus:ring-2 focus:ring-blue-500 focus:border-transparent transition-all"})]}),e.jsxs("button",{onClick:()=>w(!h),className:`flex items-center gap-2 px-4 py-3 rounded-xl border transition-colors ${h?"bg-blue-100 dark:bg-blue-900/30 border-blue-300 dark:border-blue-600 text-blue-700 dark:text-blue-300":"bg-white/50 dark:bg-gray-700/50 border-gray-300 dark:border-gray-600 text-gray-700 dark:text-gray-300 hover:bg-gray-50 dark:hover:bg-gray-600"}`,children:[e.jsx(U,{className:"w-5 h-5"}),"Filtros"]})]})]})}),e.jsx("div",{className:"px-6 py-6",children:B()})]})}export{Y as default};