PageSourceSearch

https://neuroniodigital.com/assets/PublicProjectSchedulePage-VaqoUPbv.js

js neuroniodigital.com collected 2026-10-04 18:46:48 UTC 26,611 bytes, 1 lines download raw bytes

1import{n as Q,r as t,j as e,T as z,H as B,S as G,v as A,J,I as W,G as X}from"./index-CSnEp1LC.js";import{L as K}from"./loader-circle-CC6zqqOg.js";import{S as Y}from"./shield-check-C13fxfzi.js";import{A as Z}from"./award-Cl5TGKDE.js";import{P as _}from"./phone-CjvY23DH.js";import{C as D}from"./circle-check-CPPWYlIz.js";import{C as N}from"./clock-Ck-cjV6s.js";import{R as p}from"./rotate-ccw-DtXaq2_1.js";import{S as T}from"./square-check-big-BG_KlrfJ.js";import{C as ee}from"./calendar-KJzHifQk.js";import{M as se}from"./map-pin-C5b4Qz9g.js";import{U as ae}from"./user-JJb5CStT.js";import{C as te}from"./clipboard-list-kbMTzqXQ.js";import{F as re}from"./file-check-DPwXD4hV.js";import{C as le}from"./circle-question-mark-BrbZVC5_.js";import{C as ne}from"./check-BfCS2lSA.js";import{M as oe}from"./mail-DDDLFzZ8.js";const de="/api",h=X.create({baseURL:de});function Pe(){const{token:o}=Q(),[s,R]=t.useState(null),[E,y]=t.useState(!0),[v,w]=t.useState(null),[b,r]=t.useState(null),[i,d]=t.useState(!1),[C,c]=t.useState(null),[u,q]=t.useState(""),[k,I]=t.useState("08:30"),[P,L]=t.useState(""),[g,M]=t.useState(""),x=async()=>{try{y(!0);const a=await h.get(`/public/projects/schedule/${o}`);R(a.data),w(null)}catch(a){console.error("Error fetching schedule:",a),w(a.response?.data?.detail||"Agendamento não encontrado ou link expirado.")}finally{y(!1)}};t.useEffect(()=>{o&&x()},[o]);const O=async()=>{d(!0);try{const a=await h.post(`/public/projects/schedule/${o}/respond`,{action:"accept",status:"confirmed"});c(a.data.message||"Presença confirmada com sucesso! Obrigado."),r(null),x()}catch(a){alert(a.response?.data?.detail||"Erro ao confirmar agendamento.")}finally{d(!1)}},F=async a=>{a.preventDefault(),d(!0);try{const n=await h.post(`/public/projects/schedule/${o}/respond`,{action:"reschedule",status:"reschedule_requested",preferred_date:u,preferred_time:k,reason:P});c(n.data.message||"Pedido de reagendamento registado. A nossa equipa entrará em contacto para alinhar a nova data."),r(null),x()}catch(n){alert(n.response?.data?.detail||"Erro ao submeter pedido de reagendamento.")}finally{d(!1)}},V=async a=>{a.preventDefault(),d(!0);try{const n=await h.post(`/public/projects/schedule/${o}/cancel`,{reason:g});c(n.data.message||"Agendamento cancelado."),r(null),x()}catch(n){alert(n.response?.data?.detail||"Erro ao cancelar agendamento.")}finally{d(!1)}};if(E)return e.jsxs("div",{className:"min-h-screen bg-slate-950 flex flex-col items-center justify-center p-6 text-slate-400 space-y-4 font-sans",children:[e.jsx("div",{className:"w-14 h-14 rounded-2xl bg-cyan-500/10 border border-cyan-500/30 flex items-center justify-center text-cyan-400 animate-pulse shadow-lg shadow-cyan-500/20",children:e.jsx(K,{size:32,className:"animate-spin text-cyan-400"})}),e.jsxs("div",{className:"text-center space-y-1",children:[e.jsx("p",{className:"text-sm font-bold text-white tracking-wide",children:"A carregar detalhes do agendamento..."}),e.jsx("p",{className:"text-xs text-slate-500",children:"Segurança.Pro • Sigest (Nr. Registo Prévio 4967) • ANEPC n.º 3169054"})]})]});if(v||!s)return e.jsx("div",{className:"min-h-screen bg-[#080d1a] text-slate-300 flex items-center justify-center p-4 font-sans",children:e.jsxs("div",{className:"max-w-md w-full bg-[#0e1628] rounded-3xl p-8 border border-slate-800 text-center space-y-5 shadow-2xl",children:[e.jsx("div",{className:"w-14 h-14 rounded-2xl bg-rose-500/10 border border-rose-500/30 text-rose-400 flex items-center justify-center mx-auto",children:e.jsx(z,{size:28})}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("h2",{className:"text-lg font-bold text-white",children:"Ligação Inválida ou Expirada"}),e.jsx("p",{className:"text-xs text-slate-400 leading-relaxed",children:v||"Não foi possível encontrar este agendamento. Por favor contacte o nosso suporte técnico."})]}),e.jsx("div",{className:"pt-2",children:e.jsx("a",{href:"https://seguranca.pro",className:"inline-flex items-center gap-2 px-5 py-2.5 bg-cyan-500 text-slate-950 text-xs font-bold rounded-xl hover:bg-cyan-400 transition shadow-lg shadow-cyan-500/20",children:"Ir para seguranca.pro"})})]})});const l=B(s.start_date),H=l&&l.getTime()-Date.now()<12*3600*1e3&&l.getTime()>Date.now(),m=s.customer_status==="confirmed"||s.customer_status==="accepted",f=s.customer_status==="reschedule_requested",j=s.
1customer_status==="cancelled",S=s.status==="completed"||s.status==="closed"||s.status==="done",U=l?l.toLocaleDateString("pt-PT",{weekday:"long",day:"2-digit",month:"long",year:"numeric"}):"Data a definir",$=l?l.toLocaleTimeString("pt-PT",{hour:"2-digit",minute:"2-digit"}):"08:30";return e.jsx("div",{className:"min-h-screen bg-[#070c18] text-slate-200 font-sans selection:bg-cyan-500 selection:text-slate-950 py-8 px-4 sm:px-6 lg:px-8",children:e.jsxs("div",{className:"max-w-5xl mx-auto space-y-8",children:[e.jsxs("header",{className:"bg-[#0c1427]/90 backdrop-blur-md rounded-3xl p-5 sm:p-6 border border-cyan-500/20 shadow-2xl flex flex-col md:flex-row items-center justify-between gap-4",children:[e.jsxs("div",{className:"flex items-center gap-3.5",children:[e.jsx("div",{className:"w-12 h-12 rounded-2xl bg-gradient-to-br from-cyan-500 to-blue-700 flex items-center justify-center text-slate-950 font-black shadow-lg shadow-cyan-500/25 shrink-0",children:e.jsx(Y,{size:26,className:"text-slate-950"})}),e.jsxs("div",{children:[e.jsxs("div",{className:"text-lg sm:text-xl font-black tracking-tight text-white flex items-center gap-2",children:[e.jsxs("span",{children:["Segurança",e.jsx("span",{className:"text-cyan-400 font-extrabold",children:".Pro"})]}),e.jsx("span",{className:"text-slate-600 font-light",children:"•"}),e.jsx("span",{className:"text-xs sm:text-sm text-slate-400 font-semibold",children:"lojaCCTV.Pro"})]}),e.jsx("div",{className:"text-[11px] font-semibold text-slate-400",children:"Portal de Validação & Acompanhamento de Agendamento Técnico"})]})]}),e.jsxs("div",{className:"flex flex-wrap items-center justify-center gap-3 text-xs font-semibold",children:[e.jsxs("div",{className:"flex items-center gap-1.5 px-3 py-1 rounded-full bg-cyan-950/70 border border-cyan-500/30 text-cyan-300 text-[11px]",title:"Registo Nacional de Segurança Privada PSP",children:[e.jsx(G,{size:12,className:"text-cyan-400"}),e.jsx("span",{children:"Sigest (Nr. Registo Prévio 4967)"})]}),e.jsxs("div",{className:"flex items-center gap-1.5 px-3 py-1 rounded-full bg-amber-950/70 border border-amber-500/30 text-amber-300 text-[11px]",title:"Registo Nacional SCIE ANEPC",children:[e.jsx(Z,{size:13,className:"text-amber-400"}),e.jsx("span",{children:"ANEPC n.º 3169054"})]}),e.jsxs("a",{href:"tel:+351211519300",className:"flex items-center gap-1.5 px-3 py-1 rounded-full bg-slate-800/80 hover:bg-slate-700 border border-slate-700 text-slate-200 hover:text-white transition text-[11px]",title:"Linha Telefónica de Apoio Técnico Direto",children:[e.jsx(_,{size:12,className:"text-cyan-400"}),e.jsx("span",{children:"+351 211 519 300"})]})]})]}),C&&e.jsxs("div",{className:"p-4 bg-emerald-950/80 border border-emerald-500/50 rounded-2xl flex items-center gap-3 text-emerald-200 text-xs font-medium animate-fade-in shadow-lg",children:[e.jsx(D,{size:20,className:"text-emerald-400 shrink-0"}),e.jsx("span",{className:"flex-1",children:C}),e.jsx("button",{onClick:()=>c(null),className:"text-emerald-400 hover:text-white font-bold px-2 py-0.5 cursor-pointer",children:"✕"})]}),e.jsxs("main",{className:"bg-[#0c1427] rounded-3xl border border-slate-800/90 shadow-2xl overflow-hidden space-y-8",children:[e.jsxs("div",{className:"bg-gradient-to-r from-[#0d1830] via-[#101e3d] to-[#0d1830] border-b border-cyan-500/20 p-6 sm:p-8 relative overflow-hidden",children:[e.jsx("div",{className:"absolute top-0 right-0 w-96 h-96 bg-cyan-500/5 rounded-full blur-3xl pointer-events-none"}),e.jsxs("div",{className:"relative z-10 flex flex-col md:flex-row md:items-center justify-between gap-6",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[e.jsx("span",{className:"text-[10px] font-black uppercase tracking-wider px-2.5 py-1 rounded-md bg-cyan-950/80 text-cyan-300 border border-cyan-500/40",children:s.task_type==="intervention"?"Intervenção Técnica Especializada":s.task_type==="quote"?"Reunião Técnica / Avaliação no Local":"Instalação de Projeto"}),s.project_code&&e.jsxs("span",{className:"text-[10px] font-mono font-bold px-2 py-0.5 rounded bg-slate-800 text-slate-400",children:["#",s.project_code]})]}),e.jsx("h1",{className:"text-2xl sm:text-3xl font-black text-white tracking-tight leading-snug",children:s.title}),e.jsxs("p",{className:"text-xs sm:text-sm text-slate-400 flex flex-wrap items-center gap-2",children:[e.jsxs("span",{children:["Cliente / Titular: ",e.jsx("strong",{className:"text-white font-semibold",children:s.customer_name||"Cliente Adjudicatário"})]}),s.project_name&&e.jsxs(e.Fragment,{children:[e.jsx("span",{className:"text-slate-600",children:"•"}),e.jsxs("span",{children:["Projeto: ",e.jsx("strong",{className:"text-slate-300 font-medium",children:s.project_name})]})]})]})]}),e.jsxs("div",{className:"shrink-0 flex items-center",children:[m&&e.jsxs("div",{className:"inline-flex items-center gap-2 px-4 py-2 rounded-2xl bg-emerald-500/20 border border-emerald-500/50 text-emerald-300 text-xs sm:text-sm font-bold shadow-lg shadow-emerald-950/40",children:[e.jsx(D,{size:18,className:"text-emerald-400"}),e.jsx("span",{children:"Presença Confirmada"})]}),!m&&!f&&!j&&!S&&e.jsxs("div",{className:"inline-flex items-center gap-2 px-4 py-2 rounded-2xl bg-amber-500/20 border border-amber-500/50 text-amber-300 text-xs sm:text-sm font-bold shadow-lg shadow-amber-950/40 animate-pulse",children:[e.jsx(N,{size:18,className:"text-amber-400"}),e.jsx("span",{children:"Aguarda Confirmação de Presença"})]}),f&&e.jsxs("div",{className:"inline-flex items-center gap-2 px-4 py-2 rounded-2xl bg-orange-500/20 border border-orange-500/50 text-orange-300 text-xs sm:text-sm font-bold shadow-lg shadow-orange-950/40",children:[e.jsx(p,{size:18,className:"text-orange-400"}),e.jsx("span",{children:"Reagendamento Solicitado"})]}),S&&e.jsxs("div",{className:"inline-flex items-center gap-2 px-4 py-2 rounded-2xl bg-cyan-500/20 border border-cyan-500/50 text-cyan-300 text-xs sm:text-sm font-bold shadow-lg shadow-cyan-950/40",children:[e.jsx(T,{size:18,className:"text-cyan-400"}),e.jsx("span",{children:"Trabalhos Concluídos"})]}),j&&e.jsxs("div",{className:"inline-flex items-center gap-2 px-4 py-2 rounded-2xl bg-rose-500/20 border border-rose-500/50 text-rose-300 text-xs sm:text-sm font-bold shadow-lg shadow-rose-950/40",children:[e.jsx(A,{size:18,className:"text-rose-400"}),e.jsx("span",{children:"Agendamento Cancelado"})]})]})]})]}),e.jsx("div",{className:"px-6 sm:px-8",children:e.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-4",children:[e.jsxs("div",{className:"p-5 rounded-2xl bg-[#0e1933] border border-slate-800 flex flex-col justify-between space-y-3",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("span",{className:"text-[10px] font-black uppercase tracking-wider text-slate-400 flex items-center gap-1.5",children:[e.jsx(ee,{size:14,className:"text-cyan-400"})," Data Prevista"]}),e.jsx("span",{className:"w-2 h-2 rounded-full bg-cyan-400"})]}),e.jsxs("div",{children:[e.jsx("p",{className:"text-lg font-black text-white capitalize leading-tight",children:U}),e.jsx("p",{className:"text-xs text-slate-400 mt-1",children:J(s.start_date)})]})]}),e.jsxs("div",{className:"p-5 rounded-2xl bg-[#0e1933] border border-slate-800 flex flex-col justify-between space-y-3",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("span",{className:"text-[10px] font-black uppercase tracking-wider text-slate-400 flex items-center gap-1.5",children:[e.jsx(N,{size:14,className:"text-amber-400"})," Hora & Duração"]}),e.jsxs("span",{className:"text-[10px] font-bold px-2 py-0.5 rounded bg-amber-950 text-amber-300 border border-amber-500/30",children:[s.duration_hours,"h em obra"]})]}),e.jsxs("div",{children:[e.jsxs("p",{className:"text-lg font-black text-white leading-tight",children:["A partir das ",$]}),e.jsxs("p",{className:"text-xs text-slate-400 mt-1",children:["Duração estimada de ",s.duration_hours," horas"]})]})]}),e.jsxs("div",{className:"p-5 rounded-2xl bg-[#0e1933] border border-slate-800 flex flex-col justify-between space-y-3 sm:col-span-2 lg:col-span-1",children:[e.jsx("div",{className:"flex items-center justify-between",children:e.jsxs("span",{className:"text-[10px] font-black uppercase tracking-wider text-slate-400 flex items-center gap-1.5",children:[e.jsx(se,{size:14,className:"text-rose-400"})," Local da Intervenção"]})}),e.jsxs("div",{children:[e.jsx("p",{className:"text-xs font-bold text-slate-200 line-clamp-2 leading-relaxed",children:s.address||"Morada indicada no projeto / encomenda"}),e.jsx("p",{className:"text-[11px] text-slate-500 mt-1",children:"Acesso ao bastidor e pontos de instalação"})]})]}),e.jsxs("div",{className:"p-5 rounded-2xl bg-[#0e1933] border border-slate-800 flex flex-col justify-between space-y-3 sm:col-span-2 lg:col-span-1",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("span",{className:"text-[10px] font-black uppercase tracking-wider text-slate-400 flex items-center gap-1.5",children:[e.jsx(ae,{size:14,className:"text-emerald-400"})," Técnico / Equipa"]}),e.jsx("span",{className:"text-[10px] font-semibold text-emerald-400",children:"Credenciado"})]}),e.jsxs("div",{children:[e.jsx("p",{className:"text-sm font-bold text-white leading-tight",children:s.assigned_employee_name||"Equipa de Engenharia Segurança.Pro"}),e.jsx("p",{className:"text-[11px] text-slate-400 mt-1",children:"Habilitação sob Sigest n.º 4967"})]})]})]})}),e.jsxs("div",{className:"px-6 sm:px-8 space-y-3",children:[e.jsxs("div",{className:"flex items-center justify-between pb-1 border-b border-slate-800",children:[e.jsxs("div",{className:"flex items-center gap-2 text-white font-bold text-base sm:text-lg",children:[e.jsx(te,{size:20,className:"text-cyan-400"}),e.jsx("span",{children:"O Que Vai Ser Feito"})]}),e.jsx("span",{className:"text-[11px] uppercase tracking-wider font-bold text-cyan-400 bg-cyan-950/60 px-2.5 py-0.5 rounded-full border border-cyan-500/30",children:"Âmbito dos Trabalhos & Instruções"})]}),e.jsxs("div",{className:"p-6 rounded-2xl bg-[#091020] border border-cyan-500/20 space-y-3 shadow-inner",children:[e.jsx("p",{className:"text-xs text-slate-400 font-medium",children:"Descrição dos trabalhos planeados para esta sessão técnica:"}),e.jsx("div",{className:"text-xs sm:text-sm text-slate-200 leading-relaxed font-normal whitespace-pre-line bg-[#0d162d] p-5 rounded-xl border border-slate-800/80",children:s.description_todo||s.description||e.jsxs("div",{className:"text-slate-400 italic flex items-center gap-2",children:[e.jsx(W,{size:16,className:"text-cyan-400"}),e.jsx("span",{children:"Instalação, montagem física, ligação em rede estanque e parametrização dos sistemas de segurança acordados no projeto."})]})})]})]}),e.jsxs("div",{className:"px-6 sm:px-8 space-y-3",children:[e.jsxs("div",{className:"flex items-center justify-between pb-1 border-b border-slate-800",children:[e.jsxs("div",{className:"flex items-center gap-2 text-white font-bold text-base sm:text-lg",children:[e.jsx(T,{size:20,className:"text-emerald-400"}),e.jsx("span",{children:"O Que Foi Feito"})]}),e.jsx("span",{className:"text-[11px] uppercase tracking-wider font-bold text-emerald-400 bg-emerald-950/60 px-2.5 py-0.5 rounded-full border border-emerald-500/30",children:"Relatório Técnico de Execução"})]}),s.description_done?e.jsxs("div",{className:"p-6 rounded-2xl bg-gradient-to-b from-[#07201a] to-[#09151c] border border-emerald-500/30 space-y-4 shadow-lg",children:[e.jsxs("div",{className:"flex items-center gap-2 text-emerald-300 font-bold text-xs uppercase tracking-wide",children:[e.jsx(re,{size:16,className:"text-emerald-400"}),e.jsx("span",{children:"Registo Oficial de Conclusão da Intervenção:"})]}),e.jsx("div",{className:"text-xs sm:text-sm text-emerald-100 leading-relaxed font-normal whitespace-pre-line bg-emerald-950/30 p-5 rounded-xl border border-emerald-500/20",children:s.description_done}),e.jsxs("div",{className:"flex items-center justify-between text-[11px] text-emerald-400/80 pt-1",children:[e.jsx("span",{children:"Validação técnica realizada no local • Sistema operacional"}),e.jsx("span",{children:"Sigest (Nr. Registo Prévio 4967)"})]})]}):e.jsxs("div",{className:"p-6 rounded-2xl bg-[#091020] border border-dashed border-slate-800 text-center space-y-3",children:[e.jsx("div",{className:"w-12 h-12 rounded-2xl bg-slate-800/80 text-slate-400 flex items-center justify-center mx-auto",children:e.jsx(N,{size:22,className:"text-slate-400"})}),e.jsxs("div",{className:"space-y-1",children:[e.jsx("h4",{className:"text-sm font-bold text-white",children:"Aguardando Conclusão dos Trabalhos no Local"}),e.jsx("p",{className:"text-xs text-slate-400 max-w-lg mx-auto leading-relaxed",children:"Este relatório é preenchido diretamente pela equipa técnica assim que os trabalhos físicos e os testes de conformidade forem concluídos. O registo completo ficará visível aqui com efeito imediato."})]})]})]}),e.jsx("div",{className:"px-6 sm:px-8",children:e.jsxs("div",{className:"p-5 rounded-2xl bg-amber-950/20 border border-amber-500/30 text-xs text-amber-200/90 leading-relaxed space-y-2",children:[e.jsxs("p",{className:"font-bold flex items-center gap-2 text-amber-300",children:[e.jsx(le,{size:15,className:"text-amber-400"})," Informação Importante para o Dia da Intervenção:"]}),e.jsxs("p",{children:["Por favor assegure que um representante ou responsável estará presente no local para autorizar o acesso aos quadros técnicos, passagens de cabos e bastidores. Caso a data agendada seja conveniente, solicitamos que clique no botão ",e.jsx("strong",{children:'"Confirmar Presença"'}),"."]}),e.jsx("p",{className:"text-[11px] text-amber-400/80",children:e.jsx("em",{children:"Nota de planeamento: cancelamentos ou reagendamentos solicitados com menos de 12 horas de antecedência podem incorrer em taxa de mobilização e deslocação técnica."})})]})}),f&&s.reschedule_reason&&e.jsx("div",{className:"px-6 sm:px-8",children:e.jsxs("div",{className:"p-5 rounded-2xl bg-orange-950/30 border border-orange-500/40 text-xs text-orange-200 space-y-1.5",children:[e.jsxs("p",{className:"font-bold text-orange-300 flex items-center gap-2",children:[e.jsx(p,{size:14})," O seu pedido anterior de reagendamento:"]}),e.jsxs("p",{className:"italic text-orange-100 bg-orange-950/50 p-3 rounded-xl border border-orange-500/20",children:['"',s.reschedule_reason,'"']}
1),e.jsx("p",{className:"text-[11px] text-orange-300/80",children:"A nossa equipa de planeamento de rotas está a analisar a viabilidade e entrará em contacto muito brevemente."})]})}),!j&&e.jsxs("div",{className:"p-6 sm:p-8 bg-[#090f1e] border-t border-slate-800 space-y-5",children:[b===null&&e.jsxs("div",{className:"flex flex-col sm:flex-row items-center gap-3",children:[e.jsxs("button",{type:"button",onClick:O,disabled:i||m,className:"w-full sm:flex-1 py-3.5 px-6 rounded-2xl font-black text-xs sm:text-sm text-slate-950 bg-emerald-400 hover:bg-emerald-300 disabled:opacity-50 shadow-lg shadow-emerald-500/20 flex items-center justify-center gap-2 transition-all cursor-pointer",children:[e.jsx(ne,{size:18}),m?"Presença Confirmada ✓":"Confirmar Presença / Aceitar Data"]}),e.jsxs("button",{type:"button",onClick:()=>r("reschedule"),className:"w-full sm:flex-1 py-3.5 px-6 rounded-2xl font-bold text-xs sm:text-sm text-white bg-slate-800 hover:bg-slate-700 border border-slate-700 flex items-center justify-center gap-2 transition-all cursor-pointer",children:[e.jsx(p,{size:16,className:"text-orange-400"}),"Propor Nova Data / Reagendar"]}),e.jsxs("button",{type:"button",onClick:()=>r("cancel"),className:"w-full sm:w-auto py-3.5 px-5 rounded-2xl font-bold text-xs text-rose-400 hover:bg-rose-950/40 border border-rose-500/30 flex items-center justify-center gap-2 transition-all cursor-pointer",children:[e.jsx(A,{size:16}),"Cancelar"]})]}),b==="reschedule"&&e.jsxs("form",{onSubmit:F,className:"p-6 rounded-3xl bg-[#0d162d] border border-orange-500/30 space-y-4 animate-fade-in",children:[e.jsxs("div",{className:"flex items-center justify-between pb-3 border-b border-slate-800",children:[e.jsxs("h3",{className:"text-sm font-black uppercase tracking-wider text-white flex items-center gap-2",children:[e.jsx(p,{size:16,className:"text-orange-400"})," Propor Nova Data ou Horário"]}),e.jsx("button",{type:"button",onClick:()=>r(null),className:"text-xs font-bold text-slate-400 hover:text-white cursor-pointer",children:"Voltar"})]}),e.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4",children:[e.jsxs("div",{children:[e.jsxs("label",{className:"block text-xs font-bold text-slate-300 mb-1.5",children:["Data Preferencial: ",e.jsx("span",{className:"text-rose-400",children:"*"})]}),e.jsx("input",{type:"date",required:!0,value:u,onChange:a=>q(a.target.value),min:new Date().toISOString().split("T")[0],className:"w-full p-3 text-xs font-semibold bg-[#070d1a] border border-slate-700 rounded-xl text-white outline-none focus:border-cyan-500"})]}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-xs font-bold text-slate-300 mb-1.5",children:"Horário Preferencial:"}),e.jsxs("select",{value:k,onChange:a=>I(a.target.value),className:"w-full p-3 text-xs font-semibold bg-[#070d1a] border border-slate-700 rounded-xl text-white outline-none focus:border-cyan-500",children:[e.jsx("option",{value:"08:30",children:"Manhã (a partir das 08:30)"}),e.jsx("option",{value:"14:00",children:"Tarde (a partir das 14:00)"})]})]})]}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-xs font-bold text-slate-300 mb-1.5",children:"Motivo do Reagendamento / Notas Adicionais:"}),e.jsx("textarea",{rows:3,value:P,onChange:a=>L(a.target.value),placeholder:"Ex: Não estarei no local no dia agendado; prefiro no dia seguinte à tarde...",className:"w-full p-3 text-xs font-medium bg-[#070d1a] border border-slate-700 rounded-xl text-white outline-none focus:border-cyan-500 leading-relaxed"})]}),e.jsxs("div",{className:"flex items-center justify-end gap-3 pt-2",children:[e.jsx("button",{type:"button",onClick:()=>r(null),className:"px-5 py-2.5 text-xs font-bold text-slate-400 hover:text-white rounded-xl cursor-pointer",children:"Retroceder"}),e.jsx("button",{type:"submit",disabled:i||!u,className:"px-6 py-2.5 text-xs font-bold text-slate-950 bg-cyan-400 hover:bg-cyan-300 disabled:opacity-50 rounded-xl shadow-lg transition-all cursor-pointer",children:i?"A Submeter...":"Submeter Pedido de Reagendamento"})]})]}),b==="cancel"&&e.jsxs("form",{onSubmit:V,className:"p-6 rounded-3xl bg-rose-950/20 border border-rose-500/40 space-y-4 animate-fade-in",children:[e.jsxs("div",{className:"flex items-center justify-between pb-3 border-b border-rose-900/40",children:[e.jsxs("h3",{className:"text-sm font-black uppercase tracking-wider text-rose-300 flex items-center gap-2",children:[e.jsx(z,{size:16,className:"text-rose-400"})," Cancelamento de Agendamento"]}),e.jsx("button",{type:"button",onClick:()=>r(null),className:"text-xs font-bold text-slate-400 hover:text-white cursor-pointer",children:"Voltar"})]}),H&&e.jsxs("div",{className:"p-4 bg-rose-950/60 rounded-2xl border border-rose-500/40 text-xs text-rose-200 font-medium leading-relaxed",children:["⚠️ ",e.jsx("strong",{children:"Aviso Legal & Operacional:"})," O cancelamento com menos de 12 horas de antecedência da data agendada acarreta custos logísticos de mobilização técnica e pode estar sujeito a taxa de reagendamento."]}),e.jsxs("div",{children:[e.jsxs("label",{className:"block text-xs font-bold text-rose-300 mb-1.5",children:["Por favor indique o motivo do cancelamento: ",e.jsx("span",{className:"text-rose-400",children:"*"})]}),e.jsx("textarea",{rows:3,required:!0,value:g,onChange:a=>M(a.target.value),placeholder:"Descreva detalhadamente o motivo pelo qual deseja cancelar a intervenção...",className:"w-full p-3 text-xs font-medium bg-[#070d1a] border border-rose-500/40 rounded-xl text-white outline-none focus:border-rose-400 leading-relaxed"})]}),e.jsxs("div",{className:"flex items-center justify-end gap-3 pt-2",children:[e.jsx("button",{type:"button",onClick:()=>r(null),className:"px-5 py-2.5 text-xs font-bold text-slate-400 hover:text-white rounded-xl cursor-pointer",children:"Voltar"}),e.jsx("button",{type:"submit",disabled:i||!g.trim(),className:"px-6 py-2.5 text-xs font-bold text-white bg-rose-600 hover:bg-rose-500 disabled:opacity-50 rounded-xl shadow-lg transition-all cursor-pointer",children:i?"A Processar...":"Confirmar Cancelamento"})]})]})]}),e.jsxs("div",{className:"p-6 bg-[#080e1b] border-t border-slate-800/80 flex flex-col sm:flex-row items-center justify-between gap-4 text-xs text-slate-400",children:[e.jsx("div",{className:"flex items-center gap-2",children:e.jsx("span",{children:"Dúvidas sobre o agendamento ou acesso à obra?"})}),e.jsxs("div",{className:"flex items-center gap-5 font-bold text-slate-300",children:[e.jsxs("a",{href:"tel:+351211519300",className:"flex items-center gap-1.5 hover:text-cyan-400 transition",children:[e.jsx(_,{size:13,className:"text-cyan-400"})," +351 211 519 300"]}),e.jsxs("a",{href:"mailto:[email protected]",className:"flex items-center gap-1.5 hover:text-cyan-400 transition",children:[e.jsx(oe,{size:13,className:"text-cyan-400"})," [email protected]"]})]})]})]}),e.jsxs("footer",{className:"pt-4 pb-8 text-center text-xs text-slate-500 space-y-2",children:[e.jsxs("div",{className:"flex flex-wrap items-center justify-center gap-3 text-slate-400 font-semibold",children:[e.jsx("span",{children:"Neurónio Digital, Unipessoal Lda."}),e.jsx("span",{children:"•"}),e.jsx("span",{children:"NIF PT517867990"}),e.jsx("span",{children:"•"}),e.jsx("span",{children:"Sigest (Nr. Registo Prévio 4967)"}),e.jsx("span",{children:"•"}),e.jsx("span",{children:"ANEPC n.º 3169054"})]}),e.jsxs("p",{className:"text-[11px] text-slate-600",children:["A ",e.jsx("strong",{className:"text-slate-400",children:"Segurança.Pro"})," é a divisão de engenharia de segurança física e telecomunicações da Neurónio Digital. Linha Técnica: +351 211 519 300."]})]})]})})}export{Pe 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.