From d52e6e59decbe7e34b30afd4f0d470b77391ba8f Mon Sep 17 00:00:00 2001 From: Autli Date: Mon, 21 Sep 2026 22:31:25 +0500 Subject: [PATCH] add process component --- src/components/process/process.tsx | 93 +++++++ src/components/projects/projects.tsx | 2 +- src/static/process/process.module.css | 353 ++++++++++++++++++++++++++ src/views/home/ui/HomePage.tsx | 3 + 4 files changed, 450 insertions(+), 1 deletion(-) create mode 100644 src/components/process/process.tsx create mode 100644 src/static/process/process.module.css diff --git a/src/components/process/process.tsx b/src/components/process/process.tsx new file mode 100644 index 0000000..4c41647 --- /dev/null +++ b/src/components/process/process.tsx @@ -0,0 +1,93 @@ +"use client"; + +import { useInView } from "@/shared/hooks/useInView"; +import styles from "@/static/process/process.module.css"; + +const steps = [ + { + label: "01", + title: "Бриф", + text: "Разбираю задачу, аудиторию, цели сайта и фиксирую, какой результат должен получиться.", + }, + { + label: "02", + title: "Структура", + text: "Собираю логику страниц, сценарии пользователя и расставляю смысловые акценты.", + }, + { + label: "03", + title: "Разработка", + text: "Верстаю адаптивный интерфейс, добавляю интерактив, формы, аналитику и базовое SEO.", + }, + { + label: "04", + title: "Запуск", + text: "Проверяю скорость, мобильную версию, мелкие состояния и помогаю спокойно выкатить сайт.", + }, +]; + +const Process = () => { + const [headRef, headInView] = useInView(0.24); + const [stepsRef, stepsInView] = useInView(0.18); + + const reveal = (visible: boolean) => + `transition-all duration-700 ease-out will-change-transform ${ + visible ? "opacity-100 translate-y-0" : "opacity-0 translate-y-10" + }`; + + return ( +
+
+ ); +}; + +export default Process; diff --git a/src/components/projects/projects.tsx b/src/components/projects/projects.tsx index 4e24c78..84f85e0 100644 --- a/src/components/projects/projects.tsx +++ b/src/components/projects/projects.tsx @@ -28,7 +28,7 @@ const ProjectsSection = () => {