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() { Наши эксперты помогут подобрать оптимальное решение для вашей организации

- -