From a6cadd10b81a33dcc919dfae9185905a97268b9d Mon Sep 17 00:00:00 2001 From: bryancito1090 Date: Tue, 8 Sep 2026 10:01:22 -0500 Subject: [PATCH] feat: enhance incident simulator with view mode and user email input; improve landing transitions and navigation controls; update technical profile accessibility; add favicon and touch icons --- src/frontend/angular.json | 4 +- src/frontend/public/apple-touch-icon.png | Bin 0 -> 20274 bytes src/frontend/public/favicon-16x16.png | Bin 0 -> 659 bytes src/frontend/public/favicon-192.png | Bin 0 -> 22830 bytes src/frontend/public/favicon-32x32.png | Bin 0 -> 1315 bytes src/frontend/public/favicon-512.png | Bin 0 -> 149101 bytes src/frontend/public/favicon.ico | Bin 15086 -> 32038 bytes .../app/application/i18n/translations/en.ts | 30 +- .../app/application/i18n/translations/es.ts | 30 +- .../src/app/domain/models/i18n.model.ts | 26 + .../features/hero-3d/hero-3d.component.css | 259 +++++----- .../features/hero-3d/hero-3d.component.html | 122 ++++- .../features/hero-3d/hero-3d.component.ts | 77 ++- .../incident-simulator.component.css | 470 +++++------------ .../incident-simulator.component.html | 473 ++++++++++++------ .../incident-simulator.component.ts | 176 ++++--- .../features/landing/landing.component.css | 223 +++++++++ .../features/landing/landing.component.html | 53 +- .../features/landing/landing.component.ts | 108 +++- .../technical-profile.component.html | 8 +- src/frontend/src/assets/favicon.ico | Bin 0 -> 32038 bytes .../src/assets/images/apple-touch-icon.png | Bin 0 -> 20274 bytes .../src/assets/images/favicon-192.png | Bin 0 -> 22830 bytes .../src/assets/images/favicon-32x32.png | Bin 0 -> 1315 bytes src/frontend/src/index.html | 7 +- 25 files changed, 1316 insertions(+), 750 deletions(-) create mode 100644 src/frontend/public/apple-touch-icon.png create mode 100644 src/frontend/public/favicon-16x16.png create mode 100644 src/frontend/public/favicon-192.png create mode 100644 src/frontend/public/favicon-32x32.png create mode 100644 src/frontend/public/favicon-512.png create mode 100644 src/frontend/src/assets/favicon.ico create mode 100644 src/frontend/src/assets/images/apple-touch-icon.png create mode 100644 src/frontend/src/assets/images/favicon-192.png create mode 100644 src/frontend/src/assets/images/favicon-32x32.png diff --git a/src/frontend/angular.json b/src/frontend/angular.json index a7788ee..e3d5a58 100644 --- a/src/frontend/angular.json +++ b/src/frontend/angular.json @@ -44,8 +44,8 @@ }, { "type": "anyComponentStyle", - "maximumWarning": "8kB", - "maximumError": "16kB" + "maximumWarning": "15kB", + "maximumError": "30kB" } ], "outputHashing": "all" diff --git a/src/frontend/public/apple-touch-icon.png b/src/frontend/public/apple-touch-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..530d3c9df1a6583893f7a8772f2abd65c52a19c9 GIT binary patch literal 20274 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 Z|JWruxt@3ZPm%+<(bLt>Wt~$(696E!>$?B| literal 0 HcmV?d00001 diff --git a/src/frontend/public/favicon-192.png b/src/frontend/public/favicon-192.png new file mode 100644 index 0000000000000000000000000000000000000000..d4d79a32d88cb268614fa83ac53e3840f1441b20 GIT binary patch literal 22830 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 literal 0 HcmV?d00001 diff --git a/src/frontend/public/favicon-512.png b/src/frontend/public/favicon-512.png new file mode 100644 index 0000000000000000000000000000000000000000..2f629de9404def922ec26998d881a141bcb7ecaf GIT binary patch literal 149101 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
aL4F%xwM@8x~ziiTw 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%0DGtFfo=+ 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 literal 15086 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 Nr__JTFzvMr^FKp4S3v*( diff --git a/src/frontend/src/app/application/i18n/translations/en.ts b/src/frontend/src/app/application/i18n/translations/en.ts index 23dbf2e..a427930 100644 --- a/src/frontend/src/app/application/i18n/translations/en.ts +++ b/src/frontend/src/app/application/i18n/translations/en.ts @@ -14,6 +14,8 @@ export const EN_TRANSLATIONS: TranslationDictionary = { navTerminal: 'Terminal', navContact: 'Contact', navAll: 'View All', + navPrevSection: 'Previous section', + navNextSection: 'Next section', // Hero 3D preloading: 'PRELOADING', @@ -63,6 +65,9 @@ export const EN_TRANSLATIONS: TranslationDictionary = { tpAboutName: 'Bryan Baño', tpAboutDescription: 'I am a software engineer focused on building thoughtful, accessible, and technically solid digital experiences. I combine clean architecture, modern frontend development, and scalable backend solutions. I work with .NET, Angular, Signals, REST APIs, and relational databases.\n\nMy approach combines engineering and design. First I understand the problem, then simplify the experience, and finally build a maintainable solution. I prioritize performance, accessibility, separation of concerns, and code quality.\n\nI also explore interfaces inspired by Unix terminals, retro systems, Cyber-Zen aesthetics, and new ways to present technical information without sacrificing readability. Every project must be functional, expressive, and easy to maintain.\n\nI currently develop solutions that connect frontend, backend, visual design, and digital interaction. I am interested in creating products that not only work reliably, but also communicate a clear and memorable identity.', tpAboutAria: 'About Bryan Baño', + tpAboutLink: 'About me', + tpAsciiError: 'Could not load portrait.', + tpAsciiLoading: 'Loading portrait...', tpEyebrow: 'INGENIERÍA EN COMPUTACIÓN & EXPERTISE', tpTitle: 'Technical Skills & Areas of Interest', tpLeadStudent: '9th semester Computer Engineering student at', @@ -287,9 +292,22 @@ Approach: Zero over-engineering (Ponytail), high throughput, and Zen aesthetic d simTag: '03 // CLOUD ARCHITECTURE & SERVERLESS SECURITY', simHeading: 'Real-Time Incident Response Simulator', simSubheading: 'Interactive visualization of an automated active-defense architecture in AWS. Experience how an unauthorized IAM access event is detected, mitigated by a Lambda function, and dispatched via SES in under 180 ms without manual intervention.', - simBtnSimulate: 'Simulate Unauthorized IAM Access', + simModeStory: 'Explained View (Business)', + simModeTech: 'SecOps Telemetry View (Dev)', + simEmailLabel: 'Email to receive the forensic report:', + simEmailPlaceholder: 'your-email@company.com', + simEmailHint: 'Enter your email to receive cryptographic audit details of the contained incident.', + simBtnSimulate: 'Simulate Attack & Defense', simBtnSimulating: 'Containing Threat in Real-Time...', simBtnReset: 'Reset Simulation', + simStep1Title: 'Intrusion Attempt', + simStep1Desc: 'An attacker attempts to steal administrative credentials from an untrusted IP.', + simStep2Title: 'Instant Detection', + simStep2Desc: 'The security perimeter flags the anomaly and triggers active defense in under 50 milliseconds.', + simStep3Title: 'Automated Lockdown', + simStep3Desc: 'A serverless function revokes active sessions and seals the perimeter without human intervention.', + simStep4Title: 'Forensic Notification', + simStep4Desc: 'Forensic evidence is compiled and the security certificate is dispatched by email.', simThreatNodeTitle: 'Threat Vector', simThreatNodeSub: 'Anomalous iam:CreateAccessKey', simCloudTrailNodeTitle: 'AWS CloudTrail & EventBridge', @@ -304,5 +322,13 @@ Approach: Zero over-engineering (Ponytail), high throughput, and Zen aesthetic d simMetricArchitecture: 'Serverless Architecture', simStatusIdle: 'SYSTEM NOMINAL // LISTENING FOR EVENTS', simStatusActive: 'THREAT DETECTED // EXECUTING REMEDIATION', - simStatusContained: 'THREAT CONTAINED // SECURE STATE RESTORED' + simStatusContained: 'THREAT CONTAINED // SECURE STATE RESTORED', + simReportTitle: 'FORENSIC AUDIT CERTIFICATE // INCIDENT MITIGATED', + simReportTargetEmail: 'Audit Recipient:', + simReportStatusSecure: 'STATUS: 100% SECURE // ZERO LEAKS', + simReportTimeVsAvg: '184 ms (Vs. 4.2 hours industry average)', + simReportCredentialsCompromised: '0 credentials compromised', + simReportFinancialLoss: '$0.00 USD (Financial damage avoided)', + simReportDownloadBtn: 'Download Forensic Report (Demo PDF)', + simReportDemoBadge: 'LIVE AUTOGENERATED CERTIFICATE' }; diff --git a/src/frontend/src/app/application/i18n/translations/es.ts b/src/frontend/src/app/application/i18n/translations/es.ts index c355fee..2ded779 100644 --- a/src/frontend/src/app/application/i18n/translations/es.ts +++ b/src/frontend/src/app/application/i18n/translations/es.ts @@ -14,6 +14,8 @@ export const ES_TRANSLATIONS: TranslationDictionary = { navTerminal: 'Terminal', navContact: 'Contacto', navAll: 'Ver Todo', + navPrevSection: 'Sección anterior', + navNextSection: 'Siguiente sección', // Hero 3D preloading: 'PRECARGANDO', @@ -63,6 +65,9 @@ export const ES_TRANSLATIONS: TranslationDictionary = { tpAboutName: 'Bryan Baño', tpAboutDescription: 'Egresado de Ingeniería en Computación (EPN) | Desarrollador Full Stack apasionado por crear arquitecturas eficientes. Me enfoco en construir experiencias digitales claras, accesibles y técnicamente sólidas. Me interesa combinar arquitectura limpia, desarrollo frontend moderno y soluciones backend escalables. Trabajo con .NET, Angular, Signals, APIs REST y bases de datos relacionales.\n\nMi proceso combina ingeniería y diseño. Primero entiendo el problema, después simplifico la experiencia y finalmente construyo una solución mantenible. Priorizo el rendimiento, la accesibilidad, la separación de responsabilidades y la calidad del código.\n\nTambién exploro interfaces inspiradas en terminales Unix, sistemas retro, estética Cyber-Zen y nuevas formas de presentar información técnica sin sacrificar legibilidad. Cada proyecto debe ser funcional, expresivo y fácil de mantener.\n\nActualmente desarrollo soluciones que conectan frontend, backend, diseño visual e interacción digital. Me interesa crear productos que no solo funcionen correctamente, sino que también comuniquen una identidad clara y memorable.', tpAboutAria: 'Sobre Bryan Baño', + tpAboutLink: 'Acerca de mí', + tpAsciiError: 'No se pudo cargar el retrato.', + tpAsciiLoading: 'Cargando retrato...', tpEyebrow: 'INGENIERÍA EN COMPUTACIÓN & EXPERTISE', tpTitle: 'Habilidades Técnicas & Áreas de Interés', tpLeadStudent: 'Estudiante de 9no semestre de Ingeniería en Computación en la', @@ -287,9 +292,22 @@ Enfoque: Cero sobreingeniería (Ponytail), alta concurrencia y diseño estético simTag: 'ARQUITECTURA CLOUD & SEGURIDAD SERVERLESS', simHeading: 'Simulador de Respuesta a Incidentes en Tiempo Real', simSubheading: 'Visualización interactiva de una arquitectura de contención reactiva en AWS. Experimenta cómo un evento de acceso IAM no autorizado es detectado, mitigado por una función Lambda y reportado vía SES en menos de 180 ms sin intervención manual.', - simBtnSimulate: 'Simular Acceso IAM No Autorizado', + simModeStory: 'Vista Explicada (Negocio)', + simModeTech: 'Vista Telemetría SecOps (Dev)', + simEmailLabel: 'Correo para recibir el reporte forense:', + simEmailPlaceholder: 'tu-correo@empresa.com', + simEmailHint: 'Ingresa tu correo para recibir la auditoría criptográfica del incidente mitigado.', + simBtnSimulate: 'Simular Ataque y Defensa', simBtnSimulating: 'Conteniendo Amenaza en Tiempo Real...', simBtnReset: 'Reiniciar Simulación', + simStep1Title: 'Intento de Intrusión', + simStep1Desc: 'Un atacante intenta robar credenciales de administración desde una IP no autorizada.', + simStep2Title: 'Detección Instantánea', + simStep2Desc: 'El sistema monitorea anomalías y dispara la regla de defensa en menos de 50 milisegundos.', + simStep3Title: 'Bloqueo Automático', + simStep3Desc: 'Una función serverless revoca las sesiones y sella el perímetro sin intervención humana.', + simStep4Title: 'Notificación y Reporte', + simStep4Desc: 'Se compila la evidencia forense y se despacha el certificado de seguridad por correo.', simThreatNodeTitle: 'Vector de Amenaza', simThreatNodeSub: 'iam:CreateAccessKey anómalo', simCloudTrailNodeTitle: 'AWS CloudTrail & EventBridge', @@ -304,5 +322,13 @@ Enfoque: Cero sobreingeniería (Ponytail), alta concurrencia y diseño estético simMetricArchitecture: 'Arquitectura Serverless', simStatusIdle: 'SISTEMA NOMINAL // ESCUCHANDO EVENTOS', simStatusActive: 'AMENAZA DETECTADA // EJECUTANDO MITIGACIÓN', - simStatusContained: 'AMENAZA NEUTRALIZADA // ESTADO SEGURO RESTAURADO' + simStatusContained: 'AMENAZA NEUTRALIZADA // ESTADO SEGURO RESTAURADO', + simReportTitle: 'CERTIFICADO FORENSE DE INCIDENTE MITIGADO', + simReportTargetEmail: 'Destinatario de Auditoría:', + simReportStatusSecure: 'ESTADO: 100% SEGURO // SIN FILTRACIONES', + simReportTimeVsAvg: '184 ms (Vs. 4.2 horas promedio de la industria)', + simReportCredentialsCompromised: '0 credenciales comprometidas', + simReportFinancialLoss: '$0.00 USD (Daño financiero evitado)', + simReportDownloadBtn: 'Descargar Reporte Forense (Demo PDF)', + simReportDemoBadge: 'CERTIFICADO AUTOGENERADO EN VIVO' }; diff --git a/src/frontend/src/app/domain/models/i18n.model.ts b/src/frontend/src/app/domain/models/i18n.model.ts index 87b073e..15da0ea 100644 --- a/src/frontend/src/app/domain/models/i18n.model.ts +++ b/src/frontend/src/app/domain/models/i18n.model.ts @@ -14,6 +14,8 @@ export interface TranslationDictionary { readonly navTerminal: string; readonly navContact: string; readonly navAll: string; + readonly navPrevSection: string; + readonly navNextSection: string; // Hero 3D readonly preloading: string; @@ -63,6 +65,9 @@ export interface TranslationDictionary { readonly tpAboutName: string; readonly tpAboutDescription: string; readonly tpAboutAria: string; + readonly tpAboutLink: string; + readonly tpAsciiError: string; + readonly tpAsciiLoading: string; readonly tpEyebrow: string; readonly tpTitle: string; readonly tpLeadStudent: string; @@ -255,9 +260,22 @@ export interface TranslationDictionary { readonly simTag: string; readonly simHeading: string; readonly simSubheading: string; + readonly simModeStory: string; + readonly simModeTech: string; + readonly simEmailLabel: string; + readonly simEmailPlaceholder: string; + readonly simEmailHint: string; readonly simBtnSimulate: string; readonly simBtnSimulating: string; readonly simBtnReset: string; + readonly simStep1Title: string; + readonly simStep1Desc: string; + readonly simStep2Title: string; + readonly simStep2Desc: string; + readonly simStep3Title: string; + readonly simStep3Desc: string; + readonly simStep4Title: string; + readonly simStep4Desc: string; readonly simThreatNodeTitle: string; readonly simThreatNodeSub: string; readonly simCloudTrailNodeTitle: string; @@ -273,4 +291,12 @@ export interface TranslationDictionary { readonly simStatusIdle: string; readonly simStatusActive: string; readonly simStatusContained: string; + readonly simReportTitle: string; + readonly simReportTargetEmail: string; + readonly simReportStatusSecure: string; + readonly simReportTimeVsAvg: string; + readonly simReportCredentialsCompromised: string; + readonly simReportFinancialLoss: string; + readonly simReportDownloadBtn: string; + readonly simReportDemoBadge: string; } diff --git a/src/frontend/src/app/presentation/features/hero-3d/hero-3d.component.css b/src/frontend/src/app/presentation/features/hero-3d/hero-3d.component.css index 49ae00d..8436543 100644 --- a/src/frontend/src/app/presentation/features/hero-3d/hero-3d.component.css +++ b/src/frontend/src/app/presentation/features/hero-3d/hero-3d.component.css @@ -221,161 +221,146 @@ background: rgba(78, 155, 111, 0.12); } +.mobile-only { + display: none; +} + @media (max-width: 900px) { - .lateral-panel { - position: absolute; - z-index: 10; - width: calc(100% - 24px) !important; - max-width: 440px !important; - left: 50% !important; - right: auto !important; - transform: translateX(-50%) translateY(12px); - background: rgba(14, 17, 23, 0.88); - backdrop-filter: blur(14px); - -webkit-backdrop-filter: blur(14px); - border: 1px solid rgba(255, 255, 255, 0.08); - border-radius: var(--zen-radius-sm, 6px); - padding: 12px 14px; - box-shadow: 0 8px 30px rgba(0, 0, 0, 0.75); - box-sizing: border-box; - } - - .lateral-panel.active { - transform: translateX(-50%) translateY(0); - } - - /* FASE 1: Lead arriba, Filosofía abajo */ - .pos-f1-left { - top: 56px !important; - bottom: auto !important; - } - - .pos-f1-left .lead-desc, - .pos-f1-left .lead-footer { + .desktop-only { display: none !important; } - .pos-f1-right { - top: auto !important; - bottom: max(16px, env(safe-area-inset-bottom, 16px)) !important; + .mobile-only { + display: flex; + flex-direction: column; + width: 100%; + gap: var(--space-4); + padding: var(--space-2) 0 var(--space-8); + box-sizing: border-box; } - /* FASE 2: Frontend arriba, Backend abajo */ - .pos-f2-right { - top: 56px !important; - bottom: auto !important; - padding: 10px 14px; + /* Tarjeta Principal de Perfil Móvil */ + .mobile-lead-card { + display: flex; + flex-direction: column; + gap: var(--space-3); + padding: var(--space-5); + background: + linear-gradient(180deg, rgba(18, 22, 30, 0.96), rgba(13, 16, 22, 0.92)), + #0d1117; + border: 1px solid var(--zen-border-subtle); + border-radius: var(--zen-radius-md); + box-shadow: 0 12px 30px rgba(0, 0, 0, 0.35); + box-sizing: border-box; + width: 100%; } - .pos-f2-left { - top: auto !important; - bottom: max(16px, env(safe-area-inset-bottom, 16px)) !important; - } - - /* FASE 3: Laboratorio arriba, Clean Arch abajo */ - .pos-f3-right { - top: 56px !important; - bottom: auto !important; - padding: 10px 14px; - } - - .pos-f3-left { - top: auto !important; - bottom: max(16px, env(safe-area-inset-bottom, 16px)) !important; - } - - /* Tipografía y espaciado compacto para móvil */ - .lead-header { - gap: 4px; - margin-bottom: 8px; - flex-direction: row; + .mobile-lead-header { + display: flex; + align-items: center; + justify-content: space-between; flex-wrap: wrap; - align-items: center; - justify-content: space-between; - } - - .lead-status { - font-size: 0.62rem; - line-height: 1.2; - } - - .lead-tag { - font-size: 0.58rem; - line-height: 1.2; - } - - .lead-name { - font-size: 1.5rem; - margin: 0 0 4px 0; - line-height: 1.15; - } - - .lead-role { - font-size: 0.64rem; - margin-bottom: 6px; - line-height: 1.3; - } - - .lead-desc { - font-size: 0.74rem; - line-height: 1.45; - margin: 0 0 10px 0; - max-width: 100%; - } - - .lead-badges, .panel-tags { - gap: 6px; - } - - .lead-footer { - margin-top: 10px; - padding-top: 8px; - flex-direction: row; - justify-content: space-between; - align-items: center; gap: 8px; } - .lead-metric { - font-size: 0.62rem; - line-height: 1.3; + .mobile-lead-name { + font-family: var(--font-sans); + font-size: clamp(2rem, 7vw, 2.6rem); + font-weight: 800; + color: var(--zen-text-primary); + line-height: 1.12; + letter-spacing: -0.03em; + margin: 0; } - .lead-social-links { - flex-direction: row; - gap: 8px; - } - - .social-link { - width: 32px; - height: 32px; - } - - .social-link svg { - width: 16px; - height: 16px; - } - - .panel-title { - font-size: 0.95rem; - margin-bottom: 4px; - } - - .panel-desc { + .mobile-lead-role { + font-family: var(--font-sans); font-size: 0.72rem; - line-height: 1.35; - margin-bottom: 6px; + font-weight: 700; + letter-spacing: 0.12em; + text-transform: uppercase; + color: var(--zen-accent-kintsugi); + margin: 0; } - .panel-eyebrow { - font-size: 0.6rem; - margin-bottom: 4px; + .mobile-lead-desc { + font-family: var(--font-sans); + font-size: 0.875rem; + color: var(--zen-text-secondary); + line-height: 1.65; + margin: 0; } - .zen-loader-pill { - top: 60px; - right: 12px; - font-size: 0.7rem; - padding: 3px 8px; + .mobile-lead-badges { + display: flex; + flex-wrap: wrap; + gap: 8px; + padding: 4px 0; + } + + .mobile-lead-footer { + display: flex; + align-items: center; + justify-content: space-between; + flex-wrap: wrap; + gap: 12px; + padding-top: var(--space-3); + border-top: 1px solid var(--zen-border-subtle); + margin-top: var(--space-1); + } + + .mobile-lead-metric { + font-family: var(--font-sans); + font-size: 0.6875rem; + font-weight: 600; + letter-spacing: 0.08em; + color: var(--zen-text-muted); + } + + .mobile-social-links { + display: flex; + align-items: center; + gap: 10px; + } + + /* Cuadrícula de Pilares Técnicos Móvil */ + .mobile-pillars-grid { + display: grid; + grid-template-columns: 1fr; + gap: var(--space-3); + width: 100%; + } + + @media (min-width: 600px) { + .mobile-pillars-grid { + grid-template-columns: repeat(2, 1fr); + } + } + + .mobile-pillar-card { + display: flex; + flex-direction: column; + gap: 6px; + padding: var(--space-4); + background: rgba(18, 22, 28, 0.7); + border: 1px solid var(--zen-border-subtle); + border-radius: var(--zen-radius-sm); + box-sizing: border-box; + backdrop-filter: blur(8px); + } + + .mobile-pillar-card .panel-title { + font-size: 1.05rem; + margin: 0; + } + + .mobile-pillar-card .panel-desc { + font-size: 0.78rem; + line-height: 1.5; + margin: 0; + } + + .mobile-pillar-card .panel-tags { + margin-top: 4px; } } diff --git a/src/frontend/src/app/presentation/features/hero-3d/hero-3d.component.html b/src/frontend/src/app/presentation/features/hero-3d/hero-3d.component.html index 72628d8..fa5df04 100644 --- a/src/frontend/src/app/presentation/features/hero-3d/hero-3d.component.html +++ b/src/frontend/src/app/presentation/features/hero-3d/hero-3d.component.html @@ -1,4 +1,5 @@ -
+ +
@@ -131,3 +132,122 @@
+ + +
+ +
+
+ {{ i18n.t().p1LeadStatus }} + {{ i18n.t().p1LeadTag }} +
+ +

{{ i18n.t().p1LeadName }}

+ {{ i18n.t().p1LeadRole }} +

{{ i18n.t().p1LeadDesc }}

+ +
+ {{ i18n.t().p1LeadBadge1 }} + {{ i18n.t().p1LeadBadge2 }} + {{ i18n.t().p1LeadBadge3 }} +
+ + +
+ + +
+ +
+ {{ i18n.t().p2LeftTag }} +

{{ i18n.t().p2LeftTitle }}

+

{{ i18n.t().p2LeftDesc }}

+
+ {{ i18n.t().p2LeftBadge1 }} + {{ i18n.t().p2LeftBadge2 }} +
+
+ + +
+ {{ i18n.t().p2RightTag }} +

{{ i18n.t().p2RightTitle }}

+

{{ i18n.t().p2RightDesc }}

+
+ {{ i18n.t().p2RightBadge1 }} + {{ i18n.t().p2RightBadge2 }} +
+
+ + +
+ {{ i18n.t().p1RightTag }} +

{{ i18n.t().p1RightTitle }}

+

{{ i18n.t().p1RightDesc }}

+
+ {{ i18n.t().p1RightBadge }} +
+
+ + +
+ {{ i18n.t().p3LeftTag }} +

{{ i18n.t().p3LeftTitle }}

+

{{ i18n.t().p3LeftDesc }}

+
+ {{ i18n.t().p3LeftBadge1 }} + {{ i18n.t().p3LeftBadge2 }} +
+
+ + +
+ {{ i18n.t().p3RightTag }} +

{{ i18n.t().p3RightTitle }}

+

{{ i18n.t().p3RightDesc }}

+
+ {{ i18n.t().p3RightBadge1 }} + {{ i18n.t().p3RightBadge2 }} +
+
+
+
diff --git a/src/frontend/src/app/presentation/features/hero-3d/hero-3d.component.ts b/src/frontend/src/app/presentation/features/hero-3d/hero-3d.component.ts index f6813ce..cb47329 100644 --- a/src/frontend/src/app/presentation/features/hero-3d/hero-3d.component.ts +++ b/src/frontend/src/app/presentation/features/hero-3d/hero-3d.component.ts @@ -8,7 +8,8 @@ import { ChangeDetectionStrategy, signal, inject, - NgZone + NgZone, + input } from '@angular/core'; import { I18nService } from '../../../application/services/i18n.service'; @@ -23,6 +24,8 @@ const LERP_FACTOR = 0.09; changeDetection: ChangeDetectionStrategy.OnPush }) export class Hero3dComponent implements OnInit, AfterViewInit, OnDestroy { + readonly initialPosition = input<'top' | 'bottom'>('top'); + @ViewChild('scrollContainer') private containerRef!: ElementRef; @ViewChild('canvas') private canvasRef!: ElementRef; @@ -47,17 +50,33 @@ export class Hero3dComponent implements OnInit, AfterViewInit, OnDestroy { private mediaQueryList?: MediaQueryList; ngOnInit(): void { + if (this.initialPosition() === 'bottom') { + this.targetFrame = TOTAL_FRAMES; + this.currentInterpolatedFrame = TOTAL_FRAMES; + this.lastRenderedFrame = TOTAL_FRAMES; + this.activePhase.set(3); + } + this.checkReducedMotion(); - this.preloadImages(); + if (typeof window !== 'undefined' && window.innerWidth <= 900) { + this.isLoaded.set(true); + } else { + this.preloadImages(); + } } ngAfterViewInit(): void { + if (!this.canvasRef || !this.containerRef) { + this.isLoaded.set(true); + return; + } + const canvas = this.canvasRef.nativeElement; this.ctx = canvas.getContext('2d', { alpha: false }); this.intersectionObserver = new IntersectionObserver(([entry]) => { this.isVisible = entry.isIntersecting; - if (this.isVisible && !this.isReducedMotion) { + if (this.isVisible && !this.isReducedMotion && typeof window !== 'undefined' && window.innerWidth > 900) { this.startAnimationLoop(); } else if (this.animationFrameId !== null) { cancelAnimationFrame(this.animationFrameId); @@ -72,8 +91,27 @@ export class Hero3dComponent implements OnInit, AfterViewInit, OnDestroy { window.addEventListener('resize', this.onResize, { passive: true }); }); - this.onResize(); - this.onScroll(); + if (typeof window !== 'undefined' && window.innerWidth > 900) { + const container = this.containerRef.nativeElement; + const scrollableDistance = container.offsetHeight - window.innerHeight; + + if (this.initialPosition() === 'bottom' && scrollableDistance > 0) { + window.scrollTo({ top: scrollableDistance, behavior: 'instant' }); + this.targetFrame = TOTAL_FRAMES; + this.currentInterpolatedFrame = TOTAL_FRAMES; + this.lastRenderedFrame = TOTAL_FRAMES; + this.activePhase.set(3); + } else if (this.initialPosition() === 'top') { + window.scrollTo({ top: 0, behavior: 'instant' }); + this.targetFrame = 1; + this.currentInterpolatedFrame = 1; + this.lastRenderedFrame = 1; + this.activePhase.set(1); + } + + this.onResize(); + this.renderFrame(Math.round(this.currentInterpolatedFrame)); + } } private checkReducedMotion(): void { @@ -88,7 +126,7 @@ export class Hero3dComponent implements OnInit, AfterViewInit, OnDestroy { this.isLoopRunning = false; } this.renderFrame(1); - } else { + } else if (typeof window !== 'undefined' && window.innerWidth > 900) { this.startAnimationLoop(); } }); @@ -96,15 +134,17 @@ export class Hero3dComponent implements OnInit, AfterViewInit, OnDestroy { private preloadImages(): void { let loaded = 0; + const startFrame = this.initialPosition() === 'bottom' ? TOTAL_FRAMES : 1; const firstImg = new Image(); - firstImg.src = this.getFramePath(1); + firstImg.src = this.getFramePath(startFrame); firstImg.onload = () => { - this.images[1] = firstImg; + this.images[startFrame] = firstImg; loaded++; - this.renderFrame(1); + this.renderFrame(startFrame); - for (let i = 2; i <= TOTAL_FRAMES; i++) { + for (let i = 1; i <= TOTAL_FRAMES; i++) { + if (i === startFrame) continue; const img = new Image(); img.src = this.getFramePath(i); img.onload = () => { @@ -131,6 +171,7 @@ export class Hero3dComponent implements OnInit, AfterViewInit, OnDestroy { } private onScroll = (): void => { + if (typeof window !== 'undefined' && window.innerWidth <= 900) return; if (!this.isVisible || !this.containerRef || this.isReducedMotion) return; const container = this.containerRef.nativeElement; @@ -143,10 +184,26 @@ export class Hero3dComponent implements OnInit, AfterViewInit, OnDestroy { const progress = Math.min(Math.max(rawProgress, 0), 1); this.targetFrame = Math.min(Math.max(1, 1 + progress * (TOTAL_FRAMES - 1)), TOTAL_FRAMES); + // Si ocurre un salto grande de posición inicial, sincronizar frame directamente sin animación forzada + const jumpDiff = Math.abs(this.targetFrame - this.currentInterpolatedFrame); + if (jumpDiff > 40 && !this.isLoopRunning) { + this.currentInterpolatedFrame = this.targetFrame; + this.renderFrame(Math.round(this.targetFrame)); + this.updateActivePhase(this.targetFrame); + return; + } + this.startAnimationLoop(); }; private onResize = (): void => { + if (typeof window !== 'undefined' && window.innerWidth <= 900) { + if (this.animationFrameId !== null) { + cancelAnimationFrame(this.animationFrameId); + this.isLoopRunning = false; + } + return; + } this.resizeCanvas(); this.renderFrame(Math.round(this.currentInterpolatedFrame)); }; diff --git a/src/frontend/src/app/presentation/features/incident-simulator/incident-simulator.component.css b/src/frontend/src/app/presentation/features/incident-simulator/incident-simulator.component.css index a96dbcc..10e4765 100644 --- a/src/frontend/src/app/presentation/features/incident-simulator/incident-simulator.component.css +++ b/src/frontend/src/app/presentation/features/incident-simulator/incident-simulator.component.css @@ -1,344 +1,126 @@ -:host { display: block; width: 100%; } - -.zen-sim-container { - max-width: 1540px; - margin: 0 auto; - padding: 0 24px 40px; - display: flex; - flex-direction: column; - gap: var(--space-4, 16px); - box-sizing: border-box; - width: 100%; -} - -/* Cabecera Normalizada de Sección */ -.sim-section-header { - display: flex; - align-items: center; - justify-content: space-between; - width: 100%; - padding-bottom: var(--space-2, 8px); - border-bottom: 1px solid var(--zen-border-subtle, #1e2533); - margin-bottom: var(--space-1, 4px); - flex-wrap: wrap; - gap: var(--space-3, 12px); -} - -.header-left { - display: flex; - align-items: center; - gap: var(--space-3, 12px); -} - -.title-with-badge { - display: flex; - align-items: center; - gap: var(--space-3, 12px); -} - -.pulse-indicator { - width: 10px; - height: 10px; - border-radius: 50%; - background-color: var(--zen-accent-kintsugi, #e0af68); - box-shadow: 0 0 12px var(--zen-accent-kintsugi, #e0af68); - flex-shrink: 0; -} - -.section-title { - margin: 0; - font-family: var(--font-sans); - font-size: clamp(1.6rem, 3vw, 2.25rem); - font-weight: 800; - letter-spacing: -0.01em; - color: var(--zen-text-primary, #f0f3f8); - line-height: 1.15; - text-transform: uppercase; -} - -.status-pill { - display: inline-flex; - align-items: center; - gap: 8px; - background: rgba(30, 41, 59, 0.6); - border: 1px solid rgba(255, 255, 255, 0.1); - padding: 6px 14px; - border-radius: 999px; - font-family: var(--font-mono, monospace); - font-size: 0.75rem; - font-weight: 600; - color: #9aa5b8; -} - -.status-beacon { - width: 8px; - height: 8px; - border-radius: 50%; - background: #38bdf8; - box-shadow: 0 0 8px #38bdf8; - animation: pulseBeacon 2s infinite ease-in-out; -} - -.zen-sim-board { - background: #0a0d14; - border: 1px solid #1e2533; - border-radius: 6px; - padding: 20px; - display: flex; - flex-direction: column; - gap: 18px; -} - -.diagram-canvas { - display: grid; - grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr; - align-items: center; - gap: 8px; -} - -.arch-node { - background: #11151f; - border: 1px solid #1e293b; - border-radius: 4px; - padding: 12px 10px; - display: flex; - flex-direction: column; - gap: 6px; - position: relative; - min-height: 125px; - box-sizing: border-box; -} - -.node-badge-tag { - font-family: var(--font-mono, monospace); - font-size: 0.625rem; - font-weight: 800; - letter-spacing: 1px; - padding: 2px 6px; - border-radius: 2px; - width: fit-content; -} -.node-badge-tag.threat { background: rgba(239, 68, 68, 0.2); color: #f87171; } -.node-badge-tag.detection { background: rgba(56, 189, 248, 0.2); color: #38bdf8; } -.node-badge-tag.remediation { background: rgba(34, 197, 94, 0.2); color: #4ade80; } -.node-badge-tag.notification { background: rgba(197, 155, 39, 0.2); color: #e2b94a; } - -.node-icon-frame { - width: 24px; - height: 24px; - display: flex; - align-items: center; - justify-content: center; - color: #9aa5b8; -} - -.node-svg { width: 20px; height: 20px; } - -.node-info { display: flex; flex-direction: column; gap: 2px; } - -.node-title { - font-family: var(--font-sans, sans-serif); - font-size: 0.8125rem; - font-weight: 700; - color: #f0f3f8; - margin: 0; -} - -.node-detail, .node-meta-ip, .node-meta-svc { - font-family: var(--font-mono, monospace); - font-size: 0.6875rem; - color: #9aa5b8; -} -.node-meta-ip, .node-meta-svc { font-size: 0.625rem; color: #64748b; } - -.node-status-indicator { - position: absolute; - top: 8px; - right: 8px; - width: 6px; - height: 6px; - border-radius: 50%; - background: #334155; -} - -.threat-node.active { border-color: #ef4444; background: #1c1316; } -.threat-node.active .node-icon-frame, .threat-node.active .node-status-indicator.ping { color: #ef4444; background: #ef4444; } - -.detection-node.active { border-color: #38bdf8; background: #0f1c29; } -.detection-node.active .node-icon-frame, .detection-node.active .node-status-indicator.ping { color: #38bdf8; background: #38bdf8; } - -.remediation-node.active { border-color: #22c55e; background: #0f2316; } -.remediation-node.active .node-icon-frame, .remediation-node.active .node-status-indicator.ping { color: #22c55e; background: #22c55e; } - -.notification-node.active { border-color: #c59b27; background: #231c0e; } -.notification-node.active .node-icon-frame, .notification-node.active .node-status-indicator.ping { color: #c59b27; background: #c59b27; } - -.arch-node.past { border-color: rgba(34, 197, 94, 0.4); } -.arch-node.past .node-status-indicator { background: #22c55e; } - -.flow-connector { - display: flex; - align-items: center; - justify-content: center; - position: relative; - height: 20px; - color: #334155; -} - -.beam-line { - position: absolute; - top: 50%; - left: 0; - right: 0; - height: 2px; - background: #1e293b; - transform: translateY(-50%); -} - -.flow-arrow { - position: relative; - z-index: 2; - font-size: 0.625rem; - background: #0a0d14; - padding: 0 2px; -} - -.flow-connector.flowing { color: #38bdf8; } -.flow-connector.flowing .beam-line { - background: linear-gradient(90deg, #ef4444, #38bdf8, #22c55e); -} - -.sim-action-deck { - display: flex; - align-items: center; - justify-content: center; - gap: 12px; - flex-wrap: wrap; -} - -.sim-trigger-btn { - display: inline-flex; - align-items: center; - gap: 8px; - background: #c59b27; - color: #07080b; - border: 1px solid #e2b94a; - border-radius: 4px; - padding: 10px 18px; - font-family: var(--font-sans, sans-serif); - font-size: 0.875rem; - font-weight: 700; - cursor: pointer; - transition: opacity 0.2s; -} - -.sim-trigger-btn:disabled { opacity: 0.65; cursor: not-allowed; } - -.sim-reset-btn { - background: transparent; - color: #9aa5b8; - border: 1px solid #2d3748; - border-radius: 4px; - padding: 9px 16px; - font-family: var(--font-sans, sans-serif); - font-size: 0.8125rem; - font-weight: 600; - cursor: pointer; -} - -.secops-console-frame { - background: #06080c; - border: 1px solid #1e2533; - border-radius: 4px; - overflow: hidden; - font-family: var(--font-mono, monospace); - display: flex; - flex-direction: column; -} - -.console-titlebar { - background: #0f131a; - padding: 6px 10px; - display: flex; - align-items: center; - justify-content: space-between; - border-bottom: 1px solid #1e2533; -} - -.console-dots { display: flex; gap: 5px; } -.dot { width: 7px; height: 7px; border-radius: 50%; } -.dot.red { background: #ef4444; } -.dot.yellow { background: #eab308; } -.dot.green { background: #22c55e; } - -.console-title { font-size: 0.6875rem; color: #94a3b8; } - -.console-pill { - font-size: 0.5625rem; - color: #38bdf8; - background: rgba(56, 189, 248, 0.12); - padding: 2px 5px; - border-radius: 2px; -} - -.console-body { - padding: 8px 10px; - min-height: 100px; - max-height: 160px; - overflow-y: auto; - display: flex; - flex-direction: column; - gap: 4px; - font-size: 0.75rem; - line-height: 1.4; -} - -.log-row { display: flex; gap: 8px; color: #94a3b8; } -.log-time { color: #475569; flex-shrink: 0; } -.log-tag { font-weight: 700; flex-shrink: 0; } -.log-row.warn .log-tag, .log-row.warn .log-msg { color: #f87171; } -.log-row.action .log-tag, .log-row.action .log-msg { color: #fde047; } -.log-row.success .log-tag, .log-row.success .log-msg { color: #4ade80; } - -.console-cursor-row { display: flex; align-items: center; gap: 6px; margin-top: 3px; } -.console-prompt { color: #34d399; font-size: 0.6875rem; } -.cursor-block { width: 6px; height: 11px; background: #38bdf8; } - -.arch-metrics-bar { - display: flex; - align-items: center; - justify-content: space-around; - padding-top: 10px; - border-top: 1px solid #1a2230; - flex-wrap: wrap; - gap: 12px; -} - -.metric-card { display: flex; flex-direction: column; gap: 2px; text-align: center; } - -.metric-label { - font-family: var(--font-mono, monospace); - font-size: 0.6875rem; - color: #5e697d; - text-transform: uppercase; -} - -.metric-val { - font-family: var(--font-mono, monospace); - font-size: 0.8125rem; - font-weight: 700; - color: #f0f3f8; -} -.metric-val.highlight { color: #38bdf8; } -.metric-val.success { color: #4ade80; } - -.metric-divider { width: 1px; height: 20px; background: #1e293b; } - -@keyframes pulseBeacon { 0%, 100% { opacity: 0.6; transform: scale(1); } 50% { opacity: 1; transform: scale(1.3); } } - -@media (max-width: 900px) { - .diagram-canvas { grid-template-columns: 1fr; gap: 10px; } - .flow-connector { height: 16px; width: 100%; transform: rotate(90deg); } - .metric-divider { display: none; } - .arch-metrics-bar { flex-direction: column; gap: 10px; } -} +:host{display:block;width:100%} +.zen-sim-container{max-width:1540px;margin:0 auto;padding:0 24px 40px;display:flex;flex-direction:column;gap:16px;width:100%;box-sizing:border-box} +.sim-section-header,.report-header,.console-titlebar,.arch-metrics-bar{display:flex;align-items:center;justify-content:space-between} +.sim-section-header{width:100%;padding-bottom:8px;border-bottom:1px solid #1e2533;margin-bottom:4px;flex-wrap:wrap;gap:12px} +.header-left,.report-header-left,.email-input-wrapper,.story-step-card,.arch-node,.node-info,.secops-console-frame,.forensic-report-card,.report-metric-box,.metric-card{display:flex;flex-direction:column} +.header-left{gap:4px} +.title-with-badge,.email-label,.action-buttons,.sim-trigger-btn,.mode-btn,.console-cursor-row,.download-report-btn{display:flex;align-items:center} +.title-with-badge{gap:12px} +.section-tag,.step-badge,.node-badge-tag,.report-badge,.box-label,.metric-label,.console-title,.console-pill,.log-row,.status-pill,.step-meta,.node-detail,.node-meta-ip,.node-meta-svc,.email-field,.box-val,.metric-val,.console-prompt{font-family:var(--font-mono,monospace)} +.section-tag{font-size:.6875rem;color:#5e697d;letter-spacing:.08em} +.pulse-indicator{width:10px;height:10px;border-radius:50%;background:#c59b27;box-shadow:0 0 12px #c59b27;flex-shrink:0} +.section-title{margin:0;font-size:clamp(1.6rem,3vw,2.25rem);font-weight:800;color:#f0f3f8;line-height:1.15;text-transform:uppercase} +.header-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap} +.view-mode-toggle{display:inline-flex;background:#0d1117;border:1px solid #1e2533;border-radius:4px;padding:2px;gap:2px} +.mode-btn{gap:6px;padding:5px 10px;background:0 0;border:none;border-radius:2px;color:#9aa5b8;font-size:.75rem;font-weight:600;cursor:pointer} +.mode-btn.active{background:#131720;color:#c59b27;box-shadow:0 1px 4px rgba(0,0,0,.4)} +.mode-icon{width:13px;height:13px} +.status-pill{gap:8px;background:rgba(30,41,59,.6);border:1px solid rgba(255,255,255,.1);padding:6px 14px;border-radius:999px;font-size:.75rem;font-weight:600;color:#9aa5b8} +.status-beacon{width:8px;height:8px;border-radius:50%;background:#38bdf8;box-shadow:0 0 8px #38bdf8;animation:pulseBeacon 2s infinite ease-in-out} +.status-pill.danger .status-beacon,.dot.red{background:#ef4444} +.status-pill.active .status-beacon,.dot.yellow{background:#eab308} +.status-pill.contained .status-beacon,.dot.green{background:#22c55e} +.zen-sim-board{background:#0a0d14;border:1px solid #1e2533;border-radius:6px;padding:24px;display:flex;flex-direction:column;gap:20px} +.email-control-deck{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;background:#10141d;border:1px solid #1c2331;border-radius:4px;padding:14px 18px;flex-wrap:wrap} +.email-input-wrapper{gap:6px;flex:1;min-width:260px} +.email-label{gap:6px;font-size:.78rem;font-weight:600;color:#9aa5b8} +.email-icon{width:14px;height:14px;color:#c59b27} +.email-field{background:#07090e;border:1px solid #1e2533;border-radius:3px;color:#f0f3f8;font-size:.8125rem;padding:8px 12px;outline:0} +.email-field:focus{border-color:#c59b27;box-shadow:0 0 6px rgba(197,155,39,.25)} +.action-buttons{gap:10px} +.sim-trigger-btn{gap:8px;background:#c59b27;color:#07080b;border:1px solid #e2b94a;border-radius:3px;padding:9px 18px;font-size:.84rem;font-weight:700;cursor:pointer} +.sim-trigger-btn:hover:not(:disabled){background:#d4af37;box-shadow:0 0 12px rgba(197,155,39,.4)} +.sim-trigger-btn:disabled{opacity:.6;cursor:not-allowed} +.sim-reset-btn{background:0 0;color:#9aa5b8;border:1px solid #2d3748;border-radius:3px;padding:8px 14px;font-size:.8125rem;font-weight:600;cursor:pointer} +.story-grid-flow{display:flex;align-items:stretch;justify-content:space-between;gap:8px;width:100%} +.story-step-card{flex:1;background:#11151f;border:1px solid #1e293b;border-radius:4px;padding:16px 14px;gap:8px;transition:all .3s} +.step-badge,.node-badge-tag{font-size:.625rem;font-weight:700;letter-spacing:.08em} +.step-badge{color:#64748b} +.step-icon-wrap{width:36px;height:36px;border-radius:4px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.04);color:#9aa5b8} +.step-icon-wrap svg{width:20px;height:20px} +.node-badge-tag.threat,.step-icon-wrap.danger{color:#f87171;background:rgba(239,68,68,.1)} +.node-badge-tag.detection,.step-icon-wrap.warning{color:#38bdf8;background:rgba(56,189,248,.1)} +.node-badge-tag.remediation,.step-icon-wrap.action{color:#4ade80;background:rgba(34,197,94,.1)} +.node-badge-tag.notification,.step-icon-wrap.success{color:#e2b94a;background:rgba(197,155,39,.1)} +.step-title,.node-title{font-size:.8125rem;font-weight:700;color:#f0f3f8;margin:0} +.step-title{font-size:.875rem} +.step-desc{font-size:.75rem;color:#9aa5b8;line-height:1.45;margin:0;flex-grow:1} +.step-meta{font-size:.6875rem;color:#64748b;border-top:1px solid #1c2331;padding-top:6px} +.story-step-card.active{border-color:#c59b27;background:#171b26;box-shadow:0 0 16px rgba(197,155,39,.2);transform:translateY(-2px)} +.story-step-card.completed,.arch-node.past{border-color:rgba(34,197,94,.4)} +.story-arrow{display:flex;align-items:center;justify-content:center;color:#2d3748;font-size:1.1rem;font-weight:700;padding:0 4px} +.story-arrow.active{color:#c59b27} +.diagram-canvas{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;align-items:center;gap:8px;width:100%} +.arch-node{background:#11151f;border:1px solid #1e293b;border-radius:4px;padding:12px 10px;gap:6px;position:relative;min-height:125px;box-sizing:border-box} +.node-badge-tag{padding:2px 6px;border-radius:2px;width:fit-content} +.node-icon-frame{width:28px;height:28px;display:flex;align-items:center;justify-content:center;color:#9aa5b8;flex-shrink:0} +.node-svg{width:22px;height:22px;max-width:22px;max-height:22px;display:block} +.node-info{gap:2px} +.node-detail,.node-meta-ip,.node-meta-svc{font-size:.6875rem;color:#9aa5b8} +.node-meta-ip,.node-meta-svc{font-size:.625rem;color:#64748b} +.node-status-indicator{position:absolute;top:8px;right:8px;width:6px;height:6px;border-radius:50%;background:#334155} +.threat-node.active{border-color:#ef4444;background:#1c1316} +.threat-node.active .node-icon-frame,.threat-node.active .node-status-indicator.ping{color:#ef4444;background:#ef4444} +.detection-node.active{border-color:#38bdf8;background:#0f1c29} +.detection-node.active .node-icon-frame,.detection-node.active .node-status-indicator.ping{color:#38bdf8;background:#38bdf8} +.remediation-node.active{border-color:#22c55e;background:#0f2316} +.remediation-node.active .node-icon-frame,.remediation-node.active .node-status-indicator.ping{color:#22c55e;background:#22c55e} +.notification-node.active{border-color:#c59b27;background:#231c0e} +.notification-node.active .node-icon-frame,.notification-node.active .node-status-indicator.ping{color:#c59b27;background:#c59b27} +.arch-node.past .node-status-indicator{background:#22c55e} +.flow-connector{display:flex;align-items:center;justify-content:center;position:relative;height:20px;color:#334155} +.beam-line{position:absolute;top:50%;left:0;right:0;height:2px;background:#1e293b;transform:translateY(-50%)} +.flow-arrow{position:relative;z-index:2;font-size:.625rem;background:#0a0d14;padding:0 2px} +.flow-connector.flowing{color:#38bdf8} +.flow-connector.flowing .beam-line{background:linear-gradient(90deg,#ef4444,#38bdf8,#22c55e)} +.secops-console-frame{background:#06080c;border:1px solid #1e2533;border-radius:4px;overflow:hidden} +.console-titlebar{background:#0f131a;padding:6px 10px;border-bottom:1px solid #1e2533} +.console-dots{display:flex;gap:5px} +.dot{width:7px;height:7px;border-radius:50%} +.console-title{font-size:.6875rem;color:#94a3b8} +.console-pill{font-size:.5625rem;color:#38bdf8;background:rgba(56,189,248,.12);padding:2px 5px;border-radius:2px} +.console-body{padding:8px 10px;min-height:100px;max-height:160px;overflow-y:auto;display:flex;flex-direction:column;gap:4px;font-size:.75rem;line-height:1.4} +.log-row{display:flex;gap:8px;color:#94a3b8} +.log-time{color:#475569;flex-shrink:0} +.log-tag{font-weight:700;flex-shrink:0} +.log-row.warn .log-msg,.log-row.warn .log-tag{color:#f87171} +.log-row.action .log-msg,.log-row.action .log-tag{color:#fde047} +.log-row.success .log-msg,.log-row.success .log-tag{color:#4ade80} +.console-cursor-row{gap:6px;margin-top:3px} +.console-prompt{color:#34d399;font-size:.6875rem} +.cursor-block{width:6px;height:11px;background:#38bdf8} +.forensic-report-card{background:linear-gradient(180deg,#10151f 0%,#0c1017 100%);border:1px solid rgba(197,155,39,.4);border-radius:6px;padding:20px;gap:16px;box-shadow:0 4px 20px rgba(0,0,0,.4);animation:fadeInReport .4s ease-out} +@keyframes fadeInReport{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}} +.report-header{flex-wrap:wrap;gap:12px;border-bottom:1px solid #1e293b;padding-bottom:12px} +.report-header-left{gap:4px} +.report-badge{font-size:.625rem;color:#c59b27;letter-spacing:.1em;font-weight:700} +.report-title{margin:0;font-size:1.05rem;font-weight:800;color:#f0f3f8} +.report-status-pill{background:rgba(34,197,94,.15);border:1px solid rgba(34,197,94,.4);color:#4ade80;font-size:.6875rem;font-weight:700;padding:4px 10px;border-radius:999px} +.report-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px} +.report-metric-box{background:#080b10;border:1px solid #1a2230;border-radius:4px;padding:10px 12px;gap:4px} +.box-label{font-size:.625rem;color:#64748b;text-transform:uppercase} +.box-val{font-size:.8125rem;font-weight:700;color:#f0f3f8} +.box-val.highlight-mail{color:#e2b94a} +.box-val.highlight-time{color:#38bdf8} +.box-val.success{color:#4ade80} +.report-footer{display:flex;justify-content:flex-end} +.download-report-btn{gap:8px;background:0 0;border:1px solid rgba(197,155,39,.5);color:#c59b27;padding:8px 16px;border-radius:3px;font-size:.8125rem;font-weight:600;cursor:pointer} +.download-report-btn:hover{background:rgba(197,155,39,.1);border-color:#c59b27} +.dl-icon{width:15px;height:15px} +.arch-metrics-bar{padding:16px 12px 6px;border-top:1px solid #1a2230;flex-wrap:nowrap;gap:16px;width:100%;box-sizing:border-box} +.metric-card{align-items:center;justify-content:center;gap:4px;text-align:center;flex:1} +.metric-label{font-size:.6875rem;color:#5e697d;text-transform:uppercase;letter-spacing:.04em} +.metric-val{font-size:.875rem;font-weight:700;color:#f0f3f8} +.metric-val.highlight{color:#38bdf8} +.metric-val.success{color:#4ade80} +.metric-divider{width:1px;height:28px;background:#1e293b;flex-shrink:0} +@keyframes pulseBeacon{0%,100%{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.3)}} +@media (max-width:1024px){ +.story-grid-flow{flex-direction:column} +.story-arrow{transform:rotate(90deg);margin:-4px 0} +.report-grid{grid-template-columns:repeat(2,1fr)} +.diagram-canvas{grid-template-columns:1fr;gap:10px} +.flow-connector{height:16px;width:100%;transform:rotate(90deg)} +.metric-divider{display:none} +.arch-metrics-bar{flex-direction:column;gap:12px} +} \ No newline at end of file diff --git a/src/frontend/src/app/presentation/features/incident-simulator/incident-simulator.component.html b/src/frontend/src/app/presentation/features/incident-simulator/incident-simulator.component.html index cdd3fde..9e34cf7 100644 --- a/src/frontend/src/app/presentation/features/incident-simulator/incident-simulator.component.html +++ b/src/frontend/src/app/presentation/features/incident-simulator/incident-simulator.component.html @@ -1,173 +1,350 @@
- +

{{ i18n.t().navSimulator }}

+
-
- - - @if (stage() === 'idle') { - {{ i18n.t().simStatusIdle }} - } @else if (isContained()) { - {{ i18n.t().simStatusContained }} - } @else { - {{ i18n.t().simStatusActive }} - } - +
+ +
+ + + +
+ + +
+ + + @if (stage() === 'idle') { + {{ i18n.t().simStatusIdle }} + } @else if (isContained()) { + {{ i18n.t().simStatusContained }} + } @else { + {{ i18n.t().simStatusActive }} + } + +
- +
- -
- -
-
VECTOR // 01
-
- - - - -
-
-

{{ i18n.t().simThreatNodeTitle }}

- {{ i18n.t().simThreatNodeSub }} - IP: {{ threatIp() }} -
-
-
- - -
-
- ► -
- - -
-
AWS // 02
-
- - - -
-
-

{{ i18n.t().simCloudTrailNodeTitle }}

- {{ i18n.t().simCloudTrailNodeSub }} - us-east-1 // EventBridge Rule -
-
-
- - -
-
- ► -
- - -
-
SERVERLESS // 03
-
- - - -
-
-

{{ i18n.t().simLambdaNodeTitle }}

- {{ i18n.t().simLambdaNodeSub }} - STS Invalidation & DenyPolicy -
-
-
- - -
-
- ► -
- - -
-
SECOPS // 04
-
- + + + +
+ + +
- -
- - - -
- - -
-
-
- - - -
- {{ i18n.t().simConsoleTitle }} - JSON LOGSTREAM -
- -
- @for (log of logs(); track $index) { -
- [{{ log.timestamp }}] - [{{ log.tag }}] - {{ log.message }} + + @if (viewMode() === 'story') { +
+ +
+
01 // ATAQUE
+
+ + + +
- } -
- secops@aws-perimeter:~$ - +

{{ i18n.t().simStep1Title }}

+

{{ i18n.t().simStep1Desc }}

+
IP: {{ threatIp() }}
+
+ +
→
+ + +
+
02 // DETECCIÓN
+
+ + + + + +
+

{{ i18n.t().simStep2Title }}

+

{{ i18n.t().simStep2Desc }}

+
< 50ms // Monitoreo Activo
+
+ +
→
+ + +
+
03 // BLOQUEO
+
+ + + + +
+

{{ i18n.t().simStep3Title }}

+

{{ i18n.t().simStep3Desc }}

+
Revocación Inmediata STS
+
+ +
→
+ + +
+
04 // INFORME
+
+ + + + + + + +
+

{{ i18n.t().simStep4Title }}

+

{{ i18n.t().simStep4Desc }}

+
{{ targetRecipient() }}
-
+ } + + + @if (viewMode() === 'tech') { +
+ +
+
VECTOR // 01
+
+ + + + +
+
+

{{ i18n.t().simThreatNodeTitle }}

+ {{ i18n.t().simThreatNodeSub }} + IP: {{ threatIp() }} +
+
+
+ + +
+
+ ► +
+ + +
+
AWS // 02
+
+ + + +
+
+

{{ i18n.t().simCloudTrailNodeTitle }}

+ {{ i18n.t().simCloudTrailNodeSub }} + us-east-1 // EventBridge Rule +
+
+
+ + +
+
+ ► +
+ + +
+
SERVERLESS // 03
+
+ + + +
+
+

{{ i18n.t().simLambdaNodeTitle }}

+ {{ i18n.t().simLambdaNodeSub }} + STS Invalidation & DenyPolicy +
+
+
+ + +
+
+ ► +
+ + +
+
SECOPS // 04
+
+ + + + +
+
+

{{ i18n.t().simSesNodeTitle }}

+ {{ i18n.t().simSesNodeSub }} + {{ targetRecipient() }} +
+
+
+
+ + +
+
+
+ + + +
+ {{ i18n.t().simConsoleTitle }} + JSON LOGSTREAM +
+ +
+ @for (log of logs(); track $index) { +
+ [{{ log.timestamp }}] + [{{ log.tag }}] + {{ log.message }} +
+ } +
+ secops@aws-perimeter:~$ + +
+
+
+ } + + + @if (showReport() || isContained()) { +
+
+
+ {{ i18n.t().simReportDemoBadge }} +

{{ i18n.t().simReportTitle }}

+
+ {{ i18n.t().simReportStatusSecure }} +
+ +
+
+ {{ i18n.t().simReportTargetEmail }} + {{ targetRecipient() }} +
+ +
+ {{ i18n.t().simMetricLatency }} + {{ i18n.t().simReportTimeVsAvg }} +
+ +
+ Integridad de Credenciales + {{ i18n.t().simReportCredentialsCompromised }} +
+ +
+ Impacto Financiero Evitado + {{ i18n.t().simReportFinancialLoss }} +
+
+ +
+ +
+
+ }
diff --git a/src/frontend/src/app/presentation/features/incident-simulator/incident-simulator.component.ts b/src/frontend/src/app/presentation/features/incident-simulator/incident-simulator.component.ts index 7838166..02f855a 100644 --- a/src/frontend/src/app/presentation/features/incident-simulator/incident-simulator.component.ts +++ b/src/frontend/src/app/presentation/features/incident-simulator/incident-simulator.component.ts @@ -3,6 +3,7 @@ import { I18nService } from '../../../application/services/i18n.service'; import { RetroAudioService } from '../../../application/services/retro-audio.service'; export type SimulationStage = 'idle' | 'breach' | 'detection' | 'remediation' | 'notification' | 'contained'; +export type SimulatorViewMode = 'story' | 'tech'; export interface SecOpsLog { readonly timestamp: string; @@ -23,9 +24,13 @@ export class IncidentSimulatorComponent implements OnInit, OnDestroy { private readonly audio = inject(RetroAudioService); protected readonly stage = signal('idle'); + protected readonly viewMode = signal('story'); + protected readonly userEmail = signal(''); protected readonly logs = signal([]); protected readonly threatIp = signal('198.51.100.42'); protected readonly executionTimeMs = signal(184); + protected readonly showReport = signal(false); + protected readonly downloadFeedback = signal(false); protected readonly isSimulating = computed(() => { const s = this.stage(); @@ -34,12 +39,112 @@ export class IncidentSimulatorComponent implements OnInit, OnDestroy { protected readonly isContained = computed(() => this.stage() === 'contained'); + protected readonly targetRecipient = computed(() => { + const email = this.userEmail().trim(); + return email.length > 3 && email.includes('@') ? email : 'secops-team@bryan.dev'; + }); + private timeoutIds: ReturnType[] = []; ngOnInit(): void { this.initDefaultLogs(); } + setViewMode(mode: SimulatorViewMode): void { + if (this.viewMode() === mode) return; + this.audio.playClick(); + this.viewMode.set(mode); + } + + onEmailInput(event: Event): void { + const val = (event.target as HTMLInputElement).value; + this.userEmail.set(val); + } + + startSimulation(): void { + if (this.isSimulating()) return; + + this.clearTimeouts(); + this.audio.playClick(); + this.logs.set([]); + this.showReport.set(false); + this.downloadFeedback.set(false); + + // Paso 1: Intento de Intrusión (Vector de Amenaza) + this.stage.set('breach'); + this.appendLog({ + level: 'WARN', + tag: 'IAM-ALERT', + message: `Anomalous API request: iam:CreateAccessKey from untrusted IP ${this.threatIp()} for principal "svc-deployer".` + }); + + // Paso 2: Detección Inmediata en EventBridge & CloudTrail (después de 700ms) + const t1 = setTimeout(() => { + this.stage.set('detection'); + this.audio.playCellReveal(); + this.appendLog({ + level: 'INFO', + tag: 'CLOUDTRAIL', + message: 'Management event ingested in us-east-1. EventBridge rule "SecOps-AutoRemediate" triggered synchronously.' + }); + }, 700); + this.timeoutIds.push(t1); + + // Paso 3: Remediación Automatizada Serverless (después de 1500ms) + const t2 = setTimeout(() => { + this.stage.set('remediation'); + this.audio.playFlagToggle(); + this.appendLog({ + level: 'ACTION', + tag: 'LAMBDA', + message: 'Executing fn-iam-incident-response: Revoking active STS sessions & attaching inline DenyAllSecurityPolicy.' + }); + }, 1500); + this.timeoutIds.push(t2); + + // Paso 4: Despacho de Reporte Forense (después de 2300ms) + const t3 = setTimeout(() => { + this.stage.set('notification'); + this.audio.playCellReveal(); + this.appendLog({ + level: 'INFO', + tag: 'SES-ALERT', + message: `Dispatching cryptographic audit report to ${this.targetRecipient()} via Amazon SES.` + }); + }, 2300); + this.timeoutIds.push(t3); + + // Paso 5: Amenaza Contenida & Generación de Reporte (después de 3100ms) + const t4 = setTimeout(() => { + this.stage.set('contained'); + this.audio.playVictory(); + this.showReport.set(true); + this.appendLog({ + level: 'SUCCESS', + tag: 'CONTAINED', + message: `Threat neutralized successfully in ${this.executionTimeMs()}ms. Zero credentials compromised. State: SECURE.` + }); + }, 3100); + this.timeoutIds.push(t4); + } + + resetSimulation(): void { + this.clearTimeouts(); + this.audio.playClick(); + this.stage.set('idle'); + this.showReport.set(false); + this.downloadFeedback.set(false); + this.initDefaultLogs(); + } + + simulateDownload(): void { + this.audio.playClick(); + this.downloadFeedback.set(true); + setTimeout(() => { + this.downloadFeedback.set(false); + }, 3000); + } + private initDefaultLogs(): void { const time = this.getCurrentTimestamp(); this.logs.set([ @@ -58,77 +163,6 @@ export class IncidentSimulatorComponent implements OnInit, OnDestroy { ]); } - startSimulation(): void { - if (this.isSimulating()) return; - - this.clearTimeouts(); - this.audio.playClick(); - this.logs.set([]); - - // Fase 1: Intento de Acceso No Autorizado (Vector de Amenaza) - this.stage.set('breach'); - this.appendLog({ - level: 'WARN', - tag: 'IAM-ALERT', - message: `Anomalous API request: iam:CreateAccessKey from untrusted IP ${this.threatIp()} for principal "svc-deployer".` - }); - - // Fase 2: Captura en CloudTrail & Enrutamiento en EventBridge (después de 700ms) - const t1 = setTimeout(() => { - this.stage.set('detection'); - this.audio.playCellReveal(); - this.appendLog({ - level: 'INFO', - tag: 'CLOUDTRAIL', - message: 'Management event ingested in us-east-1. EventBridge rule "SecOps-AutoRemediate" triggered synchronously.' - }); - }, 700); - this.timeoutIds.push(t1); - - // Fase 3: Remediación Automatizada en AWS Lambda (después de 1500ms) - const t2 = setTimeout(() => { - this.stage.set('remediation'); - this.audio.playFlagToggle(); - this.appendLog({ - level: 'ACTION', - tag: 'LAMBDA', - message: 'Executing fn-iam-incident-response: Revoking active STS sessions & attaching inline DenyAllSecurityPolicy.' - }); - }, 1500); - this.timeoutIds.push(t2); - - // Fase 4: Despacho de Notificación Amazon SES (después de 2300ms) - const t3 = setTimeout(() => { - this.stage.set('notification'); - this.audio.playCellReveal(); - this.appendLog({ - level: 'INFO', - tag: 'SES-ALERT', - message: 'Dispatching cryptographic audit report to secops-team@bryan.dev via Amazon SES.' - }); - }, 2300); - this.timeoutIds.push(t3); - - // Fase 5: Amenaza Contenida con Éxito (después de 3100ms) - const t4 = setTimeout(() => { - this.stage.set('contained'); - this.audio.playVictory(); - this.appendLog({ - level: 'SUCCESS', - tag: 'CONTAINED', - message: `Threat neutralized successfully in ${this.executionTimeMs()}ms. Zero credentials compromised. State: SECURE.` - }); - }, 3100); - this.timeoutIds.push(t4); - } - - resetSimulation(): void { - this.clearTimeouts(); - this.audio.playClick(); - this.stage.set('idle'); - this.initDefaultLogs(); - } - private appendLog(entry: Omit): void { const timestamp = this.getCurrentTimestamp(); this.logs.update(prev => [...prev, { ...entry, timestamp }]); diff --git a/src/frontend/src/app/presentation/features/landing/landing.component.css b/src/frontend/src/app/presentation/features/landing/landing.component.css index a7774df..45801fd 100644 --- a/src/frontend/src/app/presentation/features/landing/landing.component.css +++ b/src/frontend/src/app/presentation/features/landing/landing.component.css @@ -153,11 +153,24 @@ box-sizing: border-box; background-color: #121517; flex: 1 0 auto; + animation: zenViewEnter 0.32s cubic-bezier(0.16, 1, 0.3, 1) both; +} + +@keyframes zenViewEnter { + from { + opacity: 0; + transform: translateY(8px); + } + to { + opacity: 1; + transform: translateY(0); + } } .hero-container.isolated-view { padding-top: 0; background-color: #000000; + animation: none; } .interactive-stage.isolated-view { @@ -209,6 +222,15 @@ } @media (max-width: 960px) { + .hero-container.isolated-view { + padding: calc(56px + var(--space-4)) clamp(0.75rem, 3vw, 1.5rem) var(--space-8); + background-color: #121517; + min-height: calc(100vh - 56px); + height: auto; + overflow-y: visible; + display: block; + } + .interactive-stage.isolated-view { height: auto; min-height: calc(100vh - 56px); @@ -438,6 +460,194 @@ background-color: #121517; } +/* ============================================================================== + FLECHAS SUTILES FLOTANTES DE NAVEGACIÓN (DEBAJO DEL NAVBAR) + ============================================================================== */ + +.zen-floating-nav-controls { + position: fixed; + top: 68px; + left: 0; + right: 0; + width: 100%; + pointer-events: none; + z-index: 950; + display: flex; + justify-content: space-between; + padding: 0 clamp(0.75rem, 2.5vw, 2.5rem); + box-sizing: border-box; +} + +.zen-nav-arrow-btn { + pointer-events: auto; + display: inline-flex; + align-items: center; + gap: 8px; + background: rgba(10, 13, 20, 0.75); + backdrop-filter: blur(12px) saturate(160%); + border: 1px solid rgba(255, 255, 255, 0.08); + border-radius: 999px; + padding: 6px 14px; + color: #9aa5b8; + font-family: var(--font-mono, monospace); + font-size: 0.75rem; + font-weight: 600; + cursor: pointer; + transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1); + box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4); + opacity: 1; +} + +.zen-nav-arrow-btn:hover:not(:disabled) { + color: #f0f3f8; + border-color: rgba(197, 155, 39, 0.5); + background: rgba(18, 22, 32, 0.9); + transform: translateY(-1px); + box-shadow: 0 0 14px rgba(197, 155, 39, 0.25); +} + +.zen-nav-arrow-btn.disabled, +.zen-nav-arrow-btn:disabled { + opacity: 0; + pointer-events: none; + transform: scale(0.92); +} + +.nav-arrow-svg { + width: 14px; + height: 14px; + stroke: #c59b27; + flex-shrink: 0; + transition: transform 0.2s ease; +} + +.nav-arrow-left:hover:not(:disabled) .nav-arrow-svg { + transform: translateX(-3px); +} + +.nav-arrow-right:hover:not(:disabled) .nav-arrow-svg { + transform: translateX(3px); +} + +.nav-arrow-label { + letter-spacing: 0.02em; + white-space: nowrap; +} + +/* ============================================================================== + TELÓN DE TRANSICIÓN SUAVE Y SCANLINE ZEN + ============================================================================== */ + +.zen-transition-curtain { + position: fixed; + inset: 0; + z-index: 9999; + background: rgba(8, 10, 14, 0.88); + backdrop-filter: blur(8px); + pointer-events: none; + opacity: 0; + transition: opacity 0.16s cubic-bezier(0.16, 1, 0.3, 1); + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; +} + +.zen-transition-curtain.visible { + opacity: 1; + pointer-events: auto; +} + +.curtain-scanline { + position: absolute; + top: 0; + left: 0; + right: 0; + height: 2px; + background: linear-gradient(90deg, transparent, #c59b27, #38bdf8, transparent); + box-shadow: 0 0 10px #c59b27; + animation: scanlinePass 0.8s linear infinite; +} + +.curtain-logo-wrapper { + position: relative; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + gap: 14px; + animation: logoWrapperEnter 0.25s cubic-bezier(0.16, 1, 0.3, 1) both; +} + +.logo-glow-ring { + position: absolute; + top: 10px; + width: 90px; + height: 90px; + border-radius: 50%; + background: radial-gradient(circle, rgba(197, 155, 39, 0.45) 0%, rgba(56, 189, 248, 0.18) 50%, transparent 70%); + filter: blur(14px); + animation: logoPulseGlow 1.2s ease-in-out infinite alternate; + pointer-events: none; +} + +.logo-image-container { + position: relative; + width: 68px; + height: 68px; + border-radius: 12px; + overflow: hidden; + border: 1px solid rgba(197, 155, 39, 0.45); + box-shadow: 0 0 24px rgba(197, 155, 39, 0.3), 0 8px 32px rgba(0, 0, 0, 0.85); + background: #000000; + display: flex; + align-items: center; + justify-content: center; +} + +.curtain-logo-img { + width: 100%; + height: 100%; + object-fit: cover; + transform: scale(0.92); + animation: logoBreath 1.3s ease-in-out infinite alternate; +} + +.logo-shimmer-sweep { + position: absolute; + inset: 0; + background: linear-gradient(110deg, transparent 25%, rgba(255, 255, 255, 0.4) 50%, transparent 75%); + transform: translateX(-100%); + animation: logoShimmer 1.1s cubic-bezier(0.4, 0, 0.2, 1) infinite; + pointer-events: none; +} + +@keyframes logoWrapperEnter { + from { opacity: 0; transform: scale(0.92); } + to { opacity: 1; transform: scale(1); } +} + +@keyframes logoPulseGlow { + 0% { transform: scale(0.85); opacity: 0.4; } + 100% { transform: scale(1.3); opacity: 0.95; } +} + +@keyframes logoBreath { + 0% { transform: scale(0.88); filter: drop-shadow(0 0 4px rgba(197, 155, 39, 0.3)); } + 100% { transform: scale(0.96); filter: drop-shadow(0 0 12px rgba(197, 155, 39, 0.7)); } +} + +@keyframes logoShimmer { + 0% { transform: translateX(-100%); } + 100% { transform: translateX(100%); } +} + +@keyframes scanlinePass { + 0% { transform: translateY(0); opacity: 0; } + 50% { opacity: 1; } + 100% { transform: translateY(100vh); opacity: 0; } +} + @media (max-width: 768px) { .zen-header { padding: 0 8px; @@ -471,4 +681,17 @@ padding: 3px 6px; font-size: 0.6875rem; } + + .zen-floating-nav-controls { + top: 58px; + padding: 0 10px; + } + + .nav-arrow-label { + display: none; + } + + .zen-nav-arrow-btn { + padding: 6px 10px; + } } diff --git a/src/frontend/src/app/presentation/features/landing/landing.component.html b/src/frontend/src/app/presentation/features/landing/landing.component.html index 2208c1b..f182bd1 100644 --- a/src/frontend/src/app/presentation/features/landing/landing.component.html +++ b/src/frontend/src/app/presentation/features/landing/landing.component.html @@ -81,10 +81,59 @@
- + + + + + + + @if (activeSection() === 'hero') {
- +
} diff --git a/src/frontend/src/app/presentation/features/landing/landing.component.ts b/src/frontend/src/app/presentation/features/landing/landing.component.ts index c127491..f9169c7 100644 --- a/src/frontend/src/app/presentation/features/landing/landing.component.ts +++ b/src/frontend/src/app/presentation/features/landing/landing.component.ts @@ -1,4 +1,4 @@ -import { Component, ChangeDetectionStrategy, OnInit, OnDestroy, signal, inject, ViewChild, ElementRef } from '@angular/core'; +import { Component, ChangeDetectionStrategy, OnInit, OnDestroy, signal, computed, inject, ViewChild, ElementRef } from '@angular/core'; import { Hero3dComponent } from '../hero-3d/hero-3d.component'; import { RetroOsComponent } from '../retro-os/retro-os.component'; import { TerminalComponent } from '../terminal/terminal.component'; @@ -40,6 +40,31 @@ export class LandingComponent implements OnInit, OnDestroy { protected readonly currentYear = signal(new Date().getFullYear()); protected readonly currentTime = signal(''); protected readonly activeSection = signal('hero'); + protected readonly heroEntryPosition = signal<'top' | 'bottom'>('top'); + protected readonly isCurtainVisible = signal(false); + protected readonly transitionTargetSection = signal('hero'); + + protected readonly hasPrevSection = computed(() => { + return LANDING_SECTIONS.indexOf(this.activeSection()) > 0; + }); + + protected readonly hasNextSection = computed(() => { + return LANDING_SECTIONS.indexOf(this.activeSection()) < LANDING_SECTIONS.length - 1; + }); + + protected readonly prevSectionName = computed(() => { + const idx = LANDING_SECTIONS.indexOf(this.activeSection()); + return idx > 0 ? this.getSectionTitle(LANDING_SECTIONS[idx - 1]) : ''; + }); + + protected readonly nextSectionName = computed(() => { + const idx = LANDING_SECTIONS.indexOf(this.activeSection()); + return idx < LANDING_SECTIONS.length - 1 ? this.getSectionTitle(LANDING_SECTIONS[idx + 1]) : ''; + }); + + protected readonly transitionTargetTitle = computed(() => { + return this.getSectionTitle(this.transitionTargetSection()); + }); private clockInterval: ReturnType | null = null; private readonly timeFormatter = new Intl.DateTimeFormat('en-GB', { @@ -57,6 +82,7 @@ export class LandingComponent implements OnInit, OnDestroy { private touchStartX = 0; private wheelDeltaAccum = 0; private wheelResetTimer: ReturnType | null = null; + private transitionTimer: ReturnType | null = null; ngOnInit(): void { this.updateClock(); @@ -65,31 +91,60 @@ export class LandingComponent implements OnInit, OnDestroy { this.setupScrollTransitions(); } - setSection(section: LandingSection, entryPosition: 'top' | 'bottom' = 'top'): void { - if (this.activeSection() === section && this.isTransitioning) return; - this.isTransitioning = true; - setTimeout(() => { - this.isTransitioning = false; - }, 750); - - this.activeSection.set(section); - if (typeof window !== 'undefined') { - const hash = section === 'hero' ? '' : `#${section}`; - const url = window.location.pathname + window.location.search + hash; - window.history.replaceState(null, '', url); - this.scrollActiveNavIntoView(section); - - setTimeout(() => { - if (entryPosition === 'bottom') { - const maxScroll = Math.max(0, document.documentElement.scrollHeight - window.innerHeight); - window.scrollTo({ top: maxScroll, behavior: 'instant' }); - } else { - window.scrollTo({ top: 0, behavior: 'instant' }); - } - }, 30); + getSectionTitle(section: LandingSection): string { + const dict = this.i18n.t(); + switch (section) { + case 'hero': return dict.navHome; + case 'retro': return dict.navRetro; + case 'projects': return dict.navProjects; + case 'simulator': return dict.navSimulator; + case 'terminal': return dict.navTerminal; + case 'contact': return dict.navContact; } } + setSection(section: LandingSection, entryPosition: 'top' | 'bottom' = 'top'): void { + if (this.activeSection() === section || this.isTransitioning) return; + this.isTransitioning = true; + this.transitionTargetSection.set(section); + this.isCurtainVisible.set(true); + + if (this.transitionTimer) clearTimeout(this.transitionTimer); + + // Brief fade-curtain duration before switching section component + this.transitionTimer = setTimeout(() => { + if (section === 'hero') { + this.heroEntryPosition.set(entryPosition); + } + + this.activeSection.set(section); + + if (typeof window !== 'undefined') { + const hash = section === 'hero' ? '' : `#${section}`; + const url = window.location.pathname + window.location.search + hash; + window.history.replaceState(null, '', url); + this.scrollActiveNavIntoView(section); + + if (section !== 'hero') { + if (entryPosition === 'bottom') { + const maxScroll = Math.max(0, document.documentElement.scrollHeight - window.innerHeight); + window.scrollTo({ top: maxScroll, behavior: 'instant' }); + } else { + window.scrollTo({ top: 0, behavior: 'instant' }); + } + } + } + + // Smoothly hide curtain after DOM mount and scroll placement + setTimeout(() => { + this.isCurtainVisible.set(false); + setTimeout(() => { + this.isTransitioning = false; + }, 220); + }, 120); + }, 150); + } + private setupScrollTransitions(): void { if (typeof window === 'undefined') return; window.addEventListener('wheel', this.onWheel, { passive: false }); @@ -167,7 +222,7 @@ export class LandingComponent implements OnInit, OnDestroy { } }; - private goToNextSection(): void { + protected goToNextSection(): void { const currentIndex = LANDING_SECTIONS.indexOf(this.activeSection()); if (currentIndex >= 0 && currentIndex < LANDING_SECTIONS.length - 1) { const next = LANDING_SECTIONS[currentIndex + 1]; @@ -175,7 +230,7 @@ export class LandingComponent implements OnInit, OnDestroy { } } - private goToPrevSection(): void { + protected goToPrevSection(): void { const currentIndex = LANDING_SECTIONS.indexOf(this.activeSection()); if (currentIndex > 0) { const prev = LANDING_SECTIONS[currentIndex - 1]; @@ -224,6 +279,9 @@ export class LandingComponent implements OnInit, OnDestroy { if (this.wheelResetTimer !== null) { clearTimeout(this.wheelResetTimer); } + if (this.transitionTimer !== null) { + clearTimeout(this.transitionTimer); + } if (typeof window !== 'undefined') { window.removeEventListener('wheel', this.onWheel); window.removeEventListener('touchstart', this.onTouchStart); diff --git a/src/frontend/src/app/presentation/features/technical-profile/technical-profile.component.html b/src/frontend/src/app/presentation/features/technical-profile/technical-profile.component.html index 4d6308a..294ef03 100644 --- a/src/frontend/src/app/presentation/features/technical-profile/technical-profile.component.html +++ b/src/frontend/src/app/presentation/features/technical-profile/technical-profile.component.html @@ -6,11 +6,11 @@
@if (asciiArt()) { -
{{ asciiArt() }}
+
{{ asciiArt() }}
} @else if (asciiLoadError()) { -
No se pudo cargar el retrato.
+
{{ i18n.t().tpAsciiError }}
} @else { -
Cargando retrato...
+
{{ i18n.t().tpAsciiLoading }}
}
@@ -18,7 +18,7 @@ @for (paragraph of aboutParagraphs(); track $index) {

{{ paragraph }}

} - About me + {{ i18n.t().tpAboutLink }}
diff --git a/src/frontend/src/assets/favicon.ico b/src/frontend/src/assets/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..3811cf41de94bbf15c4fa69619f2ac591c9381fa GIT binary patch literal 32038 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 literal 0 HcmV?d00001 diff --git a/src/frontend/src/assets/images/apple-touch-icon.png b/src/frontend/src/assets/images/apple-touch-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..530d3c9df1a6583893f7a8772f2abd65c52a19c9 GIT binary patch literal 20274 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 literal 0 HcmV?d00001 diff --git a/src/frontend/src/index.html b/src/frontend/src/index.html index 498c1b7..bbff681 100644 --- a/src/frontend/src/index.html +++ b/src/frontend/src/index.html @@ -2,10 +2,13 @@ - Bryan // Portafolio Profesional Interactivo + Bryan Baño - + + + +