From d37fb0262d74d6ef6b2d5c87e963c978ec918369 Mon Sep 17 00:00:00 2001 From: albivkt Date: Sun, 6 Jul 2025 16:08:36 +0300 Subject: [PATCH] Implement 3D card flip animations and enhance team member interaction in the About page. Update global styles for improved animations and performance. Refactor button interactions for documentation and consultation features in the SecureT page. --- src/app/about/page.tsx | 34 ++++++-- src/app/globals.css | 58 +++++++++++++ src/app/secure-t/page.tsx | 178 ++++++++++++++++++++++++++++++++------ 3 files changed, 237 insertions(+), 33 deletions(-) diff --git a/src/app/about/page.tsx b/src/app/about/page.tsx index f5e3bea..7e4e1a8 100644 --- a/src/app/about/page.tsx +++ b/src/app/about/page.tsx @@ -6,7 +6,7 @@ import Navigation from '../components/Navigation'; export default function About() { const [mounted, setMounted] = useState(false); const [activeTimelineStep, setActiveTimelineStep] = useState(0); - const [teamMemberFlipped, setTeamMemberFlipped] = useState(null); + const [teamMemberFlipped, setTeamMemberFlipped] = useState([]); const [liveCounters, setLiveCounters] = useState({ projects: 0, clients: 0, @@ -203,7 +203,15 @@ export default function About() { }, []); const handleTeamMemberClick = (index: number) => { - setTeamMemberFlipped(teamMemberFlipped === index ? null : index); + setTeamMemberFlipped(prev => { + if (prev.includes(index)) { + // Если карточка уже открыта, закрываем её + return prev.filter(i => i !== index); + } else { + // Если карточка закрыта, открываем её + return [...prev, index]; + } + }); }; const handleCompetencyClick = (competency: string) => { @@ -675,12 +683,13 @@ export default function About() { {teamMembers.map((member, index) => (
handleTeamMemberClick(index)} > -
+
{/* Лицевая сторона */}
))}
+ + {/* Кнопка закрытия */} +
@@ -1103,7 +1123,7 @@ export default function About() { - diff --git a/src/app/globals.css b/src/app/globals.css index 35e7d0f..b9cd6ff 100644 --- a/src/app/globals.css +++ b/src/app/globals.css @@ -197,6 +197,64 @@ body { animation: code-typing 2s steps(40, end); } +/* 3D переворот карточек команды */ +.rotateY-180 { + transform: rotateY(180deg); +} + +/* Анимация для 3D эффекта карточек */ +@keyframes card-flip { + 0% { + transform: rotateY(0deg); + } + 100% { + transform: rotateY(180deg); + } +} + +.card-flip-container { + perspective: 1000px; +} + +.card-flip-inner { + transition: transform 0.6s; + transform-style: preserve-3d; +} + +.card-flip-inner.flipped { + transform: rotateY(180deg); +} + +.card-face { + backface-visibility: hidden; +} + +.card-back { + transform: rotateY(180deg); +} + +/* Анимация появления */ +@keyframes fadeIn { + from { + opacity: 0; + transform: translateY(10px); + } + to { + opacity: 1; + transform: translateY(0); + } +} + +.animate-fadeIn { + animation: fadeIn 0.5s ease-out forwards; +} + +/* Улучшение производительности 3D анимаций */ +.transform-gpu { + transform: translateZ(0); + will-change: transform; +} + /* Улучшенные эффекты для технологий */ @keyframes tech-orbit { 0% { diff --git a/src/app/secure-t/page.tsx b/src/app/secure-t/page.tsx index 801d4da..52f309d 100644 --- a/src/app/secure-t/page.tsx +++ b/src/app/secure-t/page.tsx @@ -623,81 +623,147 @@ export default function SecureT() {
-
+
{ + window.location.href = '/secure-t/documentation'; + }} + className="glass-effect p-8 rounded-lg hover-glow transition-all duration-300 group hover:scale-105 cursor-pointer" + >
🔐

Криптографическая защита

Современные алгоритмы шифрования для защиты конфиденциальных данных

-
+
{ + window.location.href = '/secure-t/documentation'; + }} + className="glass-effect p-8 rounded-lg hover-glow transition-all duration-300 group hover:scale-105 cursor-pointer" + >
🛡️

Сетевая безопасность

Комплексная защита сетевой инфраструктуры от внешних угроз

-
+
{ + window.location.href = '/secure-t/documentation'; + }} + className="glass-effect p-8 rounded-lg hover-glow transition-all duration-300 group hover:scale-105 cursor-pointer" + >
📊

Мониторинг безопасности

Системы мониторинга и анализа инцидентов информационной безопасности

-
+
{ + window.location.href = '/secure-t/documentation'; + }} + className="glass-effect p-8 rounded-lg hover-glow transition-all duration-300 group hover:scale-105 cursor-pointer" + >
🔍

Аудит безопасности

Проведение комплексного аудита систем информационной безопасности

-
+
{ + window.location.href = '/secure-t/documentation'; + }} + className="glass-effect p-8 rounded-lg hover-glow transition-all duration-300 group hover:scale-105 cursor-pointer" + >
⚙️

Интеграция систем

Интеграция решений безопасности с существующей IT-инфраструктурой

-
+
{ + window.location.href = '/secure-t/documentation'; + }} + className="glass-effect p-8 rounded-lg hover-glow transition-all duration-300 group hover:scale-105 cursor-pointer" + >
📚

Обучение персонала

Программы обучения сотрудников основам информационной безопасности

@@ -814,42 +880,90 @@ export default function SecureT() {
📄

Техническая документация

Подробные руководства по внедрению и настройке

- +
🎯

Методические материалы

Лучшие практики информационной безопасности

- +
🔧

Инструменты настройки

Утилиты для конфигурирования системы

- +
📊

Отчеты и аналитика

Шаблоны отчетов и аналитические данные

- +
🎓

Обучающие материалы

Курсы и тренинги по безопасности

- +
📋

Сертификаты и лицензии

Документы о соответствии стандартам

- +
@@ -866,10 +980,22 @@ export default function SecureT() { Наши эксперты помогут подобрать оптимальное решение для вашей организации

- -