PageSourceSearch

https://datarain.com.br/assets/SPIDemo-DWMiP-MG.js

js datarain.com.br collected 2026-10-03 21:01:13 UTC 6,267 bytes, 1 lines download raw bytes

1import{r as h,j as e,R as g,C as u,a as b,B as v,N as f,D as N,w as j}from"./index-CJnBhTHx.js";import{m as r,A as y}from"./proxy-6JD7iqo0.js";const o=[{id:"client",icon:v,title:"ERP para múltiplas empresas",narrative:"A SP Intervention opera sistemas ERP para múltiplas empresas do grupo: EndoLog, CT International, ASP e ENE Medical.",before:"4 servidores on-premises envelhecendo",after:"4 servidores migrados para AWS com SO atualizado",color:"#1e40af"},{id:"vpn",icon:f,title:"VPN IPsec Site-to-Site",narrative:"Túnel VPN IPsec configurado para comunicação segura entre ambiente on-premises e AWS, permitindo acesso transparente aos serviços migrados.",before:"Sem conectividade segura entre on-prem e cloud",after:"VPN IPsec S2S para comunicação segura",color:"#7c3aed"},{id:"oracle",icon:N,title:"Oracle 11g → 19g no RDS",narrative:"Migração do banco de dados Oracle 11g para Oracle 19g no Amazon RDS, modernizando o sistema VM System (ERP) utilizado por múltiplas empresas.",before:"Oracle 11g on-premises sem suporte estendido",after:"Oracle 19g no Amazon RDS gerenciado",highlight:"Oracle modernizado de 11g para 19g",color:"#0891b2"},{id:"security",icon:j,title:"CloudFront + WAF + Veeam",narrative:"CloudFront para CDN, WAF para proteção web e Veeam Backup para proteção de dados. Projeto executado em coordenação entre dataRain e equipe SPI.",before:"Sem CDN, proteção web ou backup cloud",after:"CloudFront + WAF + Veeam operacionais",color:"#059669"}],P=()=>{const[s,n]=h.useState(0),a=o[s],m=a.icon,x=(s+1)/o.length*100,c=s===o.length-1;return e.jsx("div",{className:"w-full max-w-4xl mx-auto my-8",children:e.jsxs("div",{className:"relative rounded-2xl border border-slate-200 bg-white overflow-hidden shadow-lg",children:[e.jsx(r.div,{className:"absolute inset-0 pointer-events-none",animate:{background:`radial-gradient(ellipse 60% 40% at 50% 20%, ${a.color}08 0%, transparent 70%)`},transition:{duration:.8}}),e.jsxs("div",{className:"relative p-5 md:p-8 space-y-6",children:[e.jsx("div",{className:"flex items-center gap-1",children:o.map((t,i)=>{const p=t.icon,l=i<s,d=i===s;return e.jsxs(g.Fragment,{children:[e.jsx(r.button,{onClick:()=>n(i),className:"relative shrink-0",whileHover:{scale:1.15},whileTap:{scale:.9},"aria-label":t.title,children:e.jsx(r.div,{className:"w-9 h-9 md:w-10 md:h-10 rounded-full flex items-center justify-center border-2 transition-all duration-300",animate:{borderColor:d?t.color:l?"#10b981":"#e2e8f0",backgroundColor:d?`${t.color}12`:l?"rgba(16,185,129,0.08)":"white"},children:l?e.jsx(r.span,{initial:{scale:0},animate:{scale:1},className:"text-emerald-500 text-xs font-bold",children:"✓"}):e.jsx(p,{className:"w-4 h-4",color:d?t.color:"#94a3b8"})})}),i<o.length-1&&e.jsx("div",{className:"flex-1 h-0.5 rounded-full overflow-hidden bg-slate-200",children:e.jsx(r.div,{className:"h-full bg-emerald-500",animate:{width:l?"100%":"0%"},transition:{duration:.4}})})]},t.id)})}),e.jsx(y,{mode:"wait",children:e.jsxs(r.div,{initial:{opacity:0,y:60},animate:{opacity:1,y:0},exit:{opacity:0,y:-40},transition:{duration:.4},className:"space-y-5",children:[e.jsxs("div",{className:"flex items-start gap-4",children:[e.jsx(r.div,{className:"w-12 h-12 md:w-14 md:h-14 rounded-2xl flex items-center justify-center shrink-0 border",style:{borderColor:`${a.color}25`,backgroundColor:`${a.color}10`},children:e.jsx(m,{className:"w-6 h-6",color:a.color})}),e.jsxs("div",{className:"min-w-0",children:[e.jsxs("div",{className:"text-[10px] uppercase tracking-wider font-medium mb-1",style:{color:a.color},children:["Etapa ",s+1," de ",o.length]}),e.jsx("h3",{className:"text-lg md:text-xl font-bold text-slate-800 mb-2",children:a.title}),e.jsx("p",{className:"text-sm text-slate-500 leading-relaxed",children:a.narrative})]})]}),a.highlight&&e.jsx(r.div,{initial:{opacity:0,scale:.95},animate:{opacity:1,scale:1},transition:{delay:.2},className:"text-center py-3 rounded-xl border",style:{borderColor:`${a.color}20`,background:`linear-gradient(135deg, ${a.color}06 0%, transparent 100%)`},children:e.jsx("span",{className:"text-base md:text-lg font-bold",style:{color:a.color},children:a.highlight})}),e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-3",children:[e.jsxs(r.div,{initial:{opacity:0,x:-15}
1,animate:{opacity:1,x:0},transition:{delay:.1},className:"p-4 rounded-xl border border-red-200 bg-red-50",children:[e.jsx("div",{className:"text-[10px] uppercase tracking-wider font-bold text-red-500 mb-2",children:"Antes"}),e.jsx("p",{className:"text-sm text-red-700/70",children:a.before})]}),e.jsxs(r.div,{initial:{opacity:0,x:15},animate:{opacity:1,x:0},transition:{delay:.3},className:"p-4 rounded-xl border border-emerald-200 bg-emerald-50",children:[e.jsx("div",{className:"text-[10px] uppercase tracking-wider font-bold text-emerald-600 mb-2",children:"Depois"}),e.jsx("p",{className:"text-sm text-emerald-700/70",children:a.after})]})]})]},a.id)}),e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs(r.button,{onClick:()=>n(t=>Math.max(0,t-1)),disabled:s===0,className:"flex items-center gap-1 px-3 py-1.5 rounded-lg text-xs border border-slate-200 text-slate-500 hover:text-slate-700 disabled:opacity-30 disabled:cursor-not-allowed",whileHover:{scale:1.05},whileTap:{scale:.95},children:[e.jsx(u,{className:"w-3.5 h-3.5"})," Anterior"]}),e.jsxs(r.button,{onClick:()=>n(t=>Math.min(o.length-1,t+1)),disabled:c,className:"flex items-center gap-1 px-3 py-1.5 rounded-lg text-xs border border-slate-200 text-slate-500 hover:text-slate-700 disabled:opacity-30 disabled:cursor-not-allowed",whileHover:{scale:1.05},whileTap:{scale:.95},children:["Próxima ",e.jsx(b,{className:"w-3.5 h-3.5"})]})]}),e.jsx("div",{className:"h-1 bg-slate-100 rounded-full overflow-hidden",children:e.jsx(r.div,{className:"h-full rounded-full",style:{backgroundColor:a.color},animate:{width:`${x}%`},transition:{type:"spring",stiffness:200,damping:25}})}),c&&e.jsx(r.div,{initial:{opacity:0,y:10},animate:{opacity:1,y:0},className:"text-center py-4 rounded-xl bg-emerald-50 border border-emerald-200",children:e.jsx("p",{className:"text-sm text-emerald-700 font-medium",children:"SPI migrou 4 servidores e Oracle 11g→19g para AWS com VPN e Veeam."})})]})]})})};export{P as SPIDemo};

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.