upd
This commit is contained in:
39
src/App.tsx
39
src/App.tsx
@@ -1,4 +1,4 @@
|
|||||||
import { useState } from 'react'
|
import { useEffect, useState } from 'react'
|
||||||
import { motion, useMotionValueEvent, useScroll } from "motion/react"
|
import { motion, useMotionValueEvent, useScroll } from "motion/react"
|
||||||
import TypingEffect from './components/TypingEffect'
|
import TypingEffect from './components/TypingEffect'
|
||||||
import CardsSection from './components/CardsSection'
|
import CardsSection from './components/CardsSection'
|
||||||
@@ -15,6 +15,28 @@ import DirectorSection from './components/DirectorSection'
|
|||||||
import DiscussSection from './components/DiscussSection'
|
import DiscussSection from './components/DiscussSection'
|
||||||
|
|
||||||
function App() {
|
function App() {
|
||||||
|
const [policyAccepted, setPolicyAccepted] = useState<boolean>(false);
|
||||||
|
|
||||||
|
// Check localStorage on component mount
|
||||||
|
useEffect(() => {
|
||||||
|
const storedValue = localStorage.getItem('policyAccepted');
|
||||||
|
|
||||||
|
if (storedValue === null) {
|
||||||
|
// Key doesn't exist, set to false
|
||||||
|
setPolicyAccepted(false);
|
||||||
|
localStorage.setItem('policyAccepted', 'false');
|
||||||
|
} else {
|
||||||
|
// Key exists, parse the value
|
||||||
|
setPolicyAccepted(storedValue === 'true');
|
||||||
|
}
|
||||||
|
}, []);
|
||||||
|
|
||||||
|
// Handle policy acceptance
|
||||||
|
const acceptPolicy = (): void => {
|
||||||
|
setPolicyAccepted(true);
|
||||||
|
localStorage.setItem('policyAccepted', 'true');
|
||||||
|
};
|
||||||
|
|
||||||
const { scrollY } = useScroll()
|
const { scrollY } = useScroll()
|
||||||
const [hidden, setHidden] = useState(false)
|
const [hidden, setHidden] = useState(false)
|
||||||
const [isAtTop, setIsAtTop] = useState(true)
|
const [isAtTop, setIsAtTop] = useState(true)
|
||||||
@@ -67,6 +89,21 @@ function App() {
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<main className='relative w-full flex flex-col gap-4 sm:gap-8 items-center'>
|
<main className='relative w-full flex flex-col gap-4 sm:gap-8 items-center'>
|
||||||
|
{!policyAccepted &&
|
||||||
|
<div className="toast toast-end z-999 lg:max-w-3xl w-full">
|
||||||
|
<div className="bg-white p-8 rounded-2xl flex flex-col gap-4">
|
||||||
|
<div className='flex flex-col gap-4 text-center text-xs text-[#828282]'>
|
||||||
|
<span>Мы обрабатываем персональные данные в соответствии с требованиями Федерального закона №152-ФЗ «О персональных данных». Отправляя формы на сайте, вы даёте согласие на обработку ваших персональных данных (ФИО, номер телефона, адрес электронной почты и иные сведения, указанные вами) для связи с вами и обработки запроса.</span>
|
||||||
|
<span>Также сайт использует файлы <span className='text-[#1C8EFF] underline'>веб-куки</span> и сервисы веб-аналитики для обеспечения корректной работы и улучшения пользовательского опыта. Данные будут храниться в течение <span className='text-[#1C8EFF] underline'>12 месяцев</span>. Вы можете отозвать своё согласие в любой момент. Подробнее — в нашей <a href='/assets/legal/Политика_обработки_персональных_данных_КОММИТ.pdf' className='underline text-[#1C8EFF]'>Политике обработки персональных данных.</a></span>
|
||||||
|
</div>
|
||||||
|
<div className='w-full flex'>
|
||||||
|
<button onClick={acceptPolicy} className='ml-auto btn btn-lg text-white rounded-full font-light not-disabled:bg-[#1C8EFF]'>
|
||||||
|
Принять
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>}
|
||||||
|
|
||||||
<dialog id="navbar_modal" className="modal modal-end">
|
<dialog id="navbar_modal" className="modal modal-end">
|
||||||
<div className="modal-box w-3/4 flex flex-col gap-8">
|
<div className="modal-box w-3/4 flex flex-col gap-8">
|
||||||
<div className='flex flex-row justify-between items-center'>
|
<div className='flex flex-row justify-between items-center'>
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ const AboutSection = () => {
|
|||||||
{
|
{
|
||||||
icon: <svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">
|
icon: <svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
<circle cx="11" cy="11" r="11" fill="#1C8EFF" />
|
<circle cx="11" cy="11" r="11" fill="#1C8EFF" />
|
||||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M12.3294 5.25541C12.1135 5.16675 11.8394 5.16675 11.2916 5.16675C10.7439 5.16675 10.4703 5.16675 10.2539 5.25541C10.1115 5.3136 9.98197 5.39937 9.87285 5.50779C9.76373 5.61621 9.67712 5.74514 9.61802 5.88716C9.56319 6.01725 9.54219 6.1695 9.53344 6.39058C9.52928 6.55071 9.48448 6.70715 9.40326 6.84521C9.32203 6.98326 9.20705 7.09841 9.06911 7.17983C8.92837 7.25806 8.77017 7.2995 8.60916 7.30032C8.44815 7.30113 8.28954 7.2613 8.14802 7.1845C7.95086 7.08066 7.80794 7.0235 7.66677 7.00483C7.35795 6.96454 7.04568 7.04753 6.79761 7.23583C6.61211 7.377 6.47502 7.61266 6.20144 8.08342C5.92727 8.55416 5.79077 8.78925 5.75986 9.01966C5.71902 9.3265 5.80302 9.63683 5.99319 9.88241C6.07952 9.99441 6.20144 10.0883 6.38986 10.2062C6.66811 10.3794 6.84661 10.6746 6.84661 11.0001C6.84661 11.3256 6.66811 11.6207 6.39044 11.7934C6.20144 11.9118 6.07952 12.0057 5.99261 12.1177C5.89902 12.2392 5.83029 12.3779 5.79036 12.526C5.75042 12.674 5.74006 12.8285 5.75986 12.9805C5.79077 13.2103 5.92727 13.446 6.20144 13.9167C6.47561 14.3875 6.61211 14.6226 6.79761 14.7643C7.04494 14.9527 7.35761 15.0356 7.66677 14.9953C7.80794 14.9767 7.95086 14.9195 8.14802 14.8157C8.28961 14.7388 8.44833 14.6989 8.60946 14.6997C8.77058 14.7005 8.92889 14.742 9.06969 14.8203C9.35319 14.9837 9.52119 15.2841 9.53344 15.6096C9.54219 15.8312 9.56319 15.9829 9.61802 16.113C9.73702 16.3988 9.96569 16.6263 10.2539 16.7447C10.4697 16.8334 10.7439 16.8334 11.2916 16.8334C11.8394 16.8334 12.1135 16.8334 12.3294 16.7447C12.4718 16.6866 12.6012 16.6008 12.7104 16.4924C12.8195 16.384 12.9061 16.255 12.9652 16.113C13.02 15.9829 13.041 15.8312 13.0498 15.6096C13.0614 15.2841 13.23 14.9831 13.5141 14.8203C13.6548 14.7421 13.813 14.7007 13.9741 14.6998C14.1351 14.699 14.2937 14.7389 14.4352 14.8157C14.6324 14.9195 14.7753 14.9767 14.9164 14.9953C15.2256 15.0362 15.5383 14.9527 15.7856 14.7643C15.9711 14.6232 16.1082 14.3875 16.3818 13.9167C16.6559 13.446 16.7924 13.2109 16.8234 12.9805C16.8431 12.8284 16.8326 12.6739 16.7926 12.5259C16.7525 12.3779 16.6837 12.2392 16.59 12.1177C16.5037 12.0057 16.3818 11.9118 16.1934 11.794C15.9151 11.6207 15.7366 11.3256 15.7366 11.0001C15.7366 10.6746 15.9151 10.3794 16.1928 10.2067C16.3818 10.0883 16.5037 9.99441 16.5906 9.88241C16.6842 9.76096 16.7529 9.62224 16.7929 9.47421C16.8328 9.32617 16.8432 9.17171 16.8234 9.01966C16.7924 8.78983 16.6559 8.55416 16.3818 8.08342C16.1076 7.61266 15.9711 7.37758 15.7856 7.23583C15.5375 7.04753 15.2253 6.96454 14.9164 7.00483C14.7753 7.0235 14.6324 7.08066 14.4352 7.1845C14.2936 7.2614 14.1349 7.30129 13.9738 7.30048C13.8126 7.29966 13.6543 7.25816 13.5135 7.17983C13.3757 7.09834 13.2608 6.98316 13.1797 6.84511C13.0986 6.70705 13.0539 6.55065 13.0498 6.39058C13.041 6.16891 13.02 6.01725 12.9652 5.88716C12.9061 5.74514 12.8195 5.61621 12.7104 5.50779C12.6012 5.39937 12.4718 5.3136 12.3294 5.25541ZM11.2916 12.7501C12.2658 12.7501 13.055 11.9667 13.055 11.0001C13.055 10.0335 12.2652 9.25008 11.2916 9.25008C10.318 9.25008 9.52819 10.0335 9.52819 11.0001C9.52819 11.9667 10.318 12.7501 11.2916 12.7501Z" fill="white" />
|
<path fillRule="evenodd" clipRule="evenodd" d="M12.3294 5.25541C12.1135 5.16675 11.8394 5.16675 11.2916 5.16675C10.7439 5.16675 10.4703 5.16675 10.2539 5.25541C10.1115 5.3136 9.98197 5.39937 9.87285 5.50779C9.76373 5.61621 9.67712 5.74514 9.61802 5.88716C9.56319 6.01725 9.54219 6.1695 9.53344 6.39058C9.52928 6.55071 9.48448 6.70715 9.40326 6.84521C9.32203 6.98326 9.20705 7.09841 9.06911 7.17983C8.92837 7.25806 8.77017 7.2995 8.60916 7.30032C8.44815 7.30113 8.28954 7.2613 8.14802 7.1845C7.95086 7.08066 7.80794 7.0235 7.66677 7.00483C7.35795 6.96454 7.04568 7.04753 6.79761 7.23583C6.61211 7.377 6.47502 7.61266 6.20144 8.08342C5.92727 8.55416 5.79077 8.78925 5.75986 9.01966C5.71902 9.3265 5.80302 9.63683 5.99319 9.88241C6.07952 9.99441 6.20144 10.0883 6.38986 10.2062C6.66811 10.3794 6.84661 10.6746 6.84661 11.0001C6.84661 11.3256 6.66811 11.6207 6.39044 11.7934C6.20144 11.9118 6.07952 12.0057 5.99261 12.1177C5.89902 12.2392 5.83029 12.3779 5.79036 12.526C5.75042 12.674 5.74006 12.8285 5.75986 12.9805C5.79077 13.2103 5.92727 13.446 6.20144 13.9167C6.47561 14.3875 6.61211 14.6226 6.79761 14.7643C7.04494 14.9527 7.35761 15.0356 7.66677 14.9953C7.80794 14.9767 7.95086 14.9195 8.14802 14.8157C8.28961 14.7388 8.44833 14.6989 8.60946 14.6997C8.77058 14.7005 8.92889 14.742 9.06969 14.8203C9.35319 14.9837 9.52119 15.2841 9.53344 15.6096C9.54219 15.8312 9.56319 15.9829 9.61802 16.113C9.73702 16.3988 9.96569 16.6263 10.2539 16.7447C10.4697 16.8334 10.7439 16.8334 11.2916 16.8334C11.8394 16.8334 12.1135 16.8334 12.3294 16.7447C12.4718 16.6866 12.6012 16.6008 12.7104 16.4924C12.8195 16.384 12.9061 16.255 12.9652 16.113C13.02 15.9829 13.041 15.8312 13.0498 15.6096C13.0614 15.2841 13.23 14.9831 13.5141 14.8203C13.6548 14.7421 13.813 14.7007 13.9741 14.6998C14.1351 14.699 14.2937 14.7389 14.4352 14.8157C14.6324 14.9195 14.7753 14.9767 14.9164 14.9953C15.2256 15.0362 15.5383 14.9527 15.7856 14.7643C15.9711 14.6232 16.1082 14.3875 16.3818 13.9167C16.6559 13.446 16.7924 13.2109 16.8234 12.9805C16.8431 12.8284 16.8326 12.6739 16.7926 12.5259C16.7525 12.3779 16.6837 12.2392 16.59 12.1177C16.5037 12.0057 16.3818 11.9118 16.1934 11.794C15.9151 11.6207 15.7366 11.3256 15.7366 11.0001C15.7366 10.6746 15.9151 10.3794 16.1928 10.2067C16.3818 10.0883 16.5037 9.99441 16.5906 9.88241C16.6842 9.76096 16.7529 9.62224 16.7929 9.47421C16.8328 9.32617 16.8432 9.17171 16.8234 9.01966C16.7924 8.78983 16.6559 8.55416 16.3818 8.08342C16.1076 7.61266 15.9711 7.37758 15.7856 7.23583C15.5375 7.04753 15.2253 6.96454 14.9164 7.00483C14.7753 7.0235 14.6324 7.08066 14.4352 7.1845C14.2936 7.2614 14.1349 7.30129 13.9738 7.30048C13.8126 7.29966 13.6543 7.25816 13.5135 7.17983C13.3757 7.09834 13.2608 6.98316 13.1797 6.84511C13.0986 6.70705 13.0539 6.55065 13.0498 6.39058C13.041 6.16891 13.02 6.01725 12.9652 5.88716C12.9061 5.74514 12.8195 5.61621 12.7104 5.50779C12.6012 5.39937 12.4718 5.3136 12.3294 5.25541ZM11.2916 12.7501C12.2658 12.7501 13.055 11.9667 13.055 11.0001C13.055 10.0335 12.2652 9.25008 11.2916 9.25008C10.318 9.25008 9.52819 10.0335 9.52819 11.0001C9.52819 11.9667 10.318 12.7501 11.2916 12.7501Z" fill="white" />
|
||||||
</svg>
|
</svg>
|
||||||
,
|
,
|
||||||
title: 'Техническое сопровождение',
|
title: 'Техническое сопровождение',
|
||||||
@@ -24,7 +24,7 @@ const AboutSection = () => {
|
|||||||
icon: <svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">
|
icon: <svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
<circle cx="11" cy="11" r="11" fill="#1C8EFF" />
|
<circle cx="11" cy="11" r="11" fill="#1C8EFF" />
|
||||||
<path d="M16.8333 8.95842C16.8329 8.16887 16.586 7.39915 16.127 6.75668C15.6681 6.11421 15.0201 5.63103 14.2733 5.37456C13.5266 5.11809 12.7184 5.10113 11.9616 5.32604C11.2047 5.55095 10.537 6.00652 10.0515 6.62917C11.4824 6.68554 12.8359 7.29363 13.8284 8.32597C14.8208 9.35831 15.3751 10.7347 15.375 12.1668C15.375 12.2309 15.3738 12.2951 15.3715 12.3593L15.5658 12.4106C15.6943 12.445 15.8296 12.4449 15.958 12.4105C16.0865 12.3761 16.2037 12.3084 16.2978 12.2144C16.3919 12.1204 16.4596 12.0032 16.4941 11.8748C16.5286 11.7463 16.5287 11.611 16.4944 11.4825L16.4198 11.2048C16.3597 10.9803 16.3964 10.7434 16.4927 10.5323C16.7176 10.0381 16.8338 9.50137 16.8333 8.95842Z" fill="white" />
|
<path d="M16.8333 8.95842C16.8329 8.16887 16.586 7.39915 16.127 6.75668C15.6681 6.11421 15.0201 5.63103 14.2733 5.37456C13.5266 5.11809 12.7184 5.10113 11.9616 5.32604C11.2047 5.55095 10.537 6.00652 10.0515 6.62917C11.4824 6.68554 12.8359 7.29363 13.8284 8.32597C14.8208 9.35831 15.3751 10.7347 15.375 12.1668C15.375 12.2309 15.3738 12.2951 15.3715 12.3593L15.5658 12.4106C15.6943 12.445 15.8296 12.4449 15.958 12.4105C16.0865 12.3761 16.2037 12.3084 16.2978 12.2144C16.3919 12.1204 16.4596 12.0032 16.4941 11.8748C16.5286 11.7463 16.5287 11.611 16.4944 11.4825L16.4198 11.2048C16.3597 10.9803 16.3964 10.7434 16.4927 10.5323C16.7176 10.0381 16.8338 9.50137 16.8333 8.95842Z" fill="white" />
|
||||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M14.5001 12.1667C14.5003 12.9553 14.3007 13.731 13.9199 14.4215C13.5391 15.112 12.9895 15.6948 12.3225 16.1154C11.6555 16.536 10.8928 16.7807 10.1056 16.8267C9.31839 16.8727 8.53237 16.7185 7.82091 16.3784C7.61349 16.274 7.37558 16.2471 7.15008 16.3026L6.43433 16.4945C6.30581 16.5288 6.17052 16.5287 6.04205 16.4942C5.91359 16.4596 5.79646 16.3919 5.70243 16.2978C5.6084 16.2038 5.54077 16.0866 5.50634 15.9581C5.4719 15.8296 5.47187 15.6943 5.50625 15.5658L5.69758 14.8501C5.75307 14.6246 5.72618 14.3867 5.62175 14.1792C5.32015 13.5472 5.16465 12.8555 5.16677 12.1552C5.16889 11.455 5.32858 10.7641 5.634 10.134C5.93942 9.50383 6.38275 8.95049 6.93111 8.51498C7.47948 8.07947 8.11883 7.77295 8.80177 7.61815C9.48471 7.46334 10.1937 7.46421 10.8763 7.62071C11.5589 7.7772 12.1974 8.08529 12.7447 8.52216C13.292 8.95902 13.734 9.51346 14.0378 10.1444C14.3417 10.7753 14.4997 11.4665 14.5001 12.1667ZM7.79175 12.7501C7.94646 12.7501 8.09483 12.6886 8.20423 12.5792C8.31362 12.4698 8.37508 12.3214 8.37508 12.1667C8.37508 12.012 8.31362 11.8637 8.20423 11.7543C8.09483 11.6449 7.94646 11.5834 7.79175 11.5834C7.63704 11.5834 7.48866 11.6449 7.37927 11.7543C7.26987 11.8637 7.20841 12.012 7.20841 12.1667C7.20841 12.3214 7.26987 12.4698 7.37927 12.5792C7.48866 12.6886 7.63704 12.7501 7.79175 12.7501ZM9.83341 12.7501C9.98812 12.7501 10.1365 12.6886 10.2459 12.5792C10.3553 12.4698 10.4167 12.3214 10.4167 12.1667C10.4167 12.012 10.3553 11.8637 10.2459 11.7543C10.1365 11.6449 9.98812 11.5834 9.83341 11.5834C9.6787 11.5834 9.53033 11.6449 9.42094 11.7543C9.31154 11.8637 9.25008 12.012 9.25008 12.1667C9.25008 12.3214 9.31154 12.4698 9.42094 12.5792C9.53033 12.6886 9.6787 12.7501 9.83341 12.7501ZM11.8751 12.7501C12.0298 12.7501 12.1782 12.6886 12.2876 12.5792C12.397 12.4698 12.4584 12.3214 12.4584 12.1667C12.4584 12.012 12.397 11.8637 12.2876 11.7543C12.1782 11.6449 12.0298 11.5834 11.8751 11.5834C11.7204 11.5834 11.572 11.6449 11.4626 11.7543C11.3532 11.8637 11.2917 12.012 11.2917 12.1667C11.2917 12.3214 11.3532 12.4698 11.4626 12.5792C11.572 12.6886 11.7204 12.7501 11.8751 12.7501Z" fill="white" />
|
<path fillRule="evenodd" clipRule="evenodd" d="M14.5001 12.1667C14.5003 12.9553 14.3007 13.731 13.9199 14.4215C13.5391 15.112 12.9895 15.6948 12.3225 16.1154C11.6555 16.536 10.8928 16.7807 10.1056 16.8267C9.31839 16.8727 8.53237 16.7185 7.82091 16.3784C7.61349 16.274 7.37558 16.2471 7.15008 16.3026L6.43433 16.4945C6.30581 16.5288 6.17052 16.5287 6.04205 16.4942C5.91359 16.4596 5.79646 16.3919 5.70243 16.2978C5.6084 16.2038 5.54077 16.0866 5.50634 15.9581C5.4719 15.8296 5.47187 15.6943 5.50625 15.5658L5.69758 14.8501C5.75307 14.6246 5.72618 14.3867 5.62175 14.1792C5.32015 13.5472 5.16465 12.8555 5.16677 12.1552C5.16889 11.455 5.32858 10.7641 5.634 10.134C5.93942 9.50383 6.38275 8.95049 6.93111 8.51498C7.47948 8.07947 8.11883 7.77295 8.80177 7.61815C9.48471 7.46334 10.1937 7.46421 10.8763 7.62071C11.5589 7.7772 12.1974 8.08529 12.7447 8.52216C13.292 8.95902 13.734 9.51346 14.0378 10.1444C14.3417 10.7753 14.4997 11.4665 14.5001 12.1667ZM7.79175 12.7501C7.94646 12.7501 8.09483 12.6886 8.20423 12.5792C8.31362 12.4698 8.37508 12.3214 8.37508 12.1667C8.37508 12.012 8.31362 11.8637 8.20423 11.7543C8.09483 11.6449 7.94646 11.5834 7.79175 11.5834C7.63704 11.5834 7.48866 11.6449 7.37927 11.7543C7.26987 11.8637 7.20841 12.012 7.20841 12.1667C7.20841 12.3214 7.26987 12.4698 7.37927 12.5792C7.48866 12.6886 7.63704 12.7501 7.79175 12.7501ZM9.83341 12.7501C9.98812 12.7501 10.1365 12.6886 10.2459 12.5792C10.3553 12.4698 10.4167 12.3214 10.4167 12.1667C10.4167 12.012 10.3553 11.8637 10.2459 11.7543C10.1365 11.6449 9.98812 11.5834 9.83341 11.5834C9.6787 11.5834 9.53033 11.6449 9.42094 11.7543C9.31154 11.8637 9.25008 12.012 9.25008 12.1667C9.25008 12.3214 9.31154 12.4698 9.42094 12.5792C9.53033 12.6886 9.6787 12.7501 9.83341 12.7501ZM11.8751 12.7501C12.0298 12.7501 12.1782 12.6886 12.2876 12.5792C12.397 12.4698 12.4584 12.3214 12.4584 12.1667C12.4584 12.012 12.397 11.8637 12.2876 11.7543C12.1782 11.6449 12.0298 11.5834 11.8751 11.5834C11.7204 11.5834 11.572 11.6449 11.4626 11.7543C11.3532 11.8637 11.2917 12.012 11.2917 12.1667C11.2917 12.3214 11.3532 12.4698 11.4626 12.5792C11.572 12.6886 11.7204 12.7501 11.8751 12.7501Z" fill="white" />
|
||||||
</svg>
|
</svg>
|
||||||
,
|
,
|
||||||
title: 'ИТ-консалтинг',
|
title: 'ИТ-консалтинг',
|
||||||
@@ -102,8 +102,8 @@ const AboutSection = () => {
|
|||||||
<div className='p-8 flex flex-col space-y-4 bg-base-100 rounded-2xl'>
|
<div className='p-8 flex flex-col space-y-4 bg-base-100 rounded-2xl'>
|
||||||
<span className='text-2xl'>Виды деятельности:</span>
|
<span className='text-2xl'>Виды деятельности:</span>
|
||||||
<div className='flex flex-col space-y-4'>
|
<div className='flex flex-col space-y-4'>
|
||||||
{actInfo.map(info => (
|
{actInfo.map((info, index) => (
|
||||||
<Thesis info={info} />
|
<Thesis key={index} info={info} />
|
||||||
))}
|
))}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -112,8 +112,8 @@ const AboutSection = () => {
|
|||||||
<div className='p-8 flex flex-col space-y-4 bg-black/90 rounded-2xl text-white'>
|
<div className='p-8 flex flex-col space-y-4 bg-black/90 rounded-2xl text-white'>
|
||||||
<span className='text-2xl'>Почему мы?</span>
|
<span className='text-2xl'>Почему мы?</span>
|
||||||
<div className='flex flex-col space-y-4'>
|
<div className='flex flex-col space-y-4'>
|
||||||
{whyInfo.map(info => (
|
{whyInfo.map((info, index) => (
|
||||||
<Thesis info={info} />
|
<Thesis key={index} info={info} />
|
||||||
))}
|
))}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -49,7 +49,7 @@ const CaseSection = () => {
|
|||||||
<rect x="470" y="37" width="8" height="98" fill="white" />
|
<rect x="470" y="37" width="8" height="98" fill="white" />
|
||||||
<rect x="484" y="37" width="8" height="98" fill="white" />
|
<rect x="484" y="37" width="8" height="98" fill="white" />
|
||||||
<rect x="498" y="37" width="8" height="98" fill="white" />
|
<rect x="498" y="37" width="8" height="98" fill="white" />
|
||||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M70 199H0V136H70V199ZM5 183C3.34315 183 2 184.343 2 186V197H10V186C10 184.343 8.65685 183 7 183H5ZM19 183C17.3431 183 16 184.343 16 186V197H24V186C24 184.343 22.6569 183 21 183H19ZM33 183C31.3431 183 30 184.343 30 186V197H38V186C38 184.343 36.6569 183 35 183H33ZM47 183C45.3431 183 44 184.343 44 186V197H52V186C52 184.343 50.6569 183 49 183H47ZM61 183C59.3431 183 58 184.343 58 186V197H66V186C66 184.343 64.6569 183 63 183H61ZM5 168C3.34315 168 2 169.343 2 171V182H10V171C10 169.343 8.65685 168 7 168H5ZM19 168C17.3431 168 16 169.343 16 171V182H24V171C24 169.343 22.6569 168 21 168H19ZM33 168C31.3431 168 30 169.343 30 171V182H38V171C38 169.343 36.6569 168 35 168H33ZM47 168C45.3431 168 44 169.343 44 171V182H52V171C52 169.343 50.6569 168 49 168H47ZM61 168C59.3431 168 58 169.343 58 171V182H66V171C66 169.343 64.6569 168 63 168H61ZM5 153C3.34315 153 2 154.343 2 156V167H10V156C10 154.343 8.65685 153 7 153H5ZM19 153C17.3431 153 16 154.343 16 156V167H24V156C24 154.343 22.6569 153 21 153H19ZM33 153C31.3431 153 30 154.343 30 156V167H38V156C38 154.343 36.6569 153 35 153H33ZM47 153C45.3431 153 44 154.343 44 156V167H52V156C52 154.343 50.6569 153 49 153H47ZM61 153C59.3431 153 58 154.343 58 156V167H66V156C66 154.343 64.6569 153 63 153H61ZM5 138C3.34315 138 2 139.343 2 141V152H10V141C10 139.343 8.65685 138 7 138H5ZM19 138C17.3431 138 16 139.343 16 141V152H24V141C24 139.343 22.6569 138 21 138H19ZM33 138C31.3431 138 30 139.343 30 141V152H38V141C38 139.343 36.6569 138 35 138H33ZM47 138C45.3431 138 44 139.343 44 141V152H52V141C52 139.343 50.6569 138 49 138H47ZM61 138C59.3431 138 58 139.343 58 141V152H66V141C66 139.343 64.6569 138 63 138H61Z" fill="white" />
|
<path fillRule="evenodd" clipRule="evenodd" d="M70 199H0V136H70V199ZM5 183C3.34315 183 2 184.343 2 186V197H10V186C10 184.343 8.65685 183 7 183H5ZM19 183C17.3431 183 16 184.343 16 186V197H24V186C24 184.343 22.6569 183 21 183H19ZM33 183C31.3431 183 30 184.343 30 186V197H38V186C38 184.343 36.6569 183 35 183H33ZM47 183C45.3431 183 44 184.343 44 186V197H52V186C52 184.343 50.6569 183 49 183H47ZM61 183C59.3431 183 58 184.343 58 186V197H66V186C66 184.343 64.6569 183 63 183H61ZM5 168C3.34315 168 2 169.343 2 171V182H10V171C10 169.343 8.65685 168 7 168H5ZM19 168C17.3431 168 16 169.343 16 171V182H24V171C24 169.343 22.6569 168 21 168H19ZM33 168C31.3431 168 30 169.343 30 171V182H38V171C38 169.343 36.6569 168 35 168H33ZM47 168C45.3431 168 44 169.343 44 171V182H52V171C52 169.343 50.6569 168 49 168H47ZM61 168C59.3431 168 58 169.343 58 171V182H66V171C66 169.343 64.6569 168 63 168H61ZM5 153C3.34315 153 2 154.343 2 156V167H10V156C10 154.343 8.65685 153 7 153H5ZM19 153C17.3431 153 16 154.343 16 156V167H24V156C24 154.343 22.6569 153 21 153H19ZM33 153C31.3431 153 30 154.343 30 156V167H38V156C38 154.343 36.6569 153 35 153H33ZM47 153C45.3431 153 44 154.343 44 156V167H52V156C52 154.343 50.6569 153 49 153H47ZM61 153C59.3431 153 58 154.343 58 156V167H66V156C66 154.343 64.6569 153 63 153H61ZM5 138C3.34315 138 2 139.343 2 141V152H10V141C10 139.343 8.65685 138 7 138H5ZM19 138C17.3431 138 16 139.343 16 141V152H24V141C24 139.343 22.6569 138 21 138H19ZM33 138C31.3431 138 30 139.343 30 141V152H38V141C38 139.343 36.6569 138 35 138H33ZM47 138C45.3431 138 44 139.343 44 141V152H52V141C52 139.343 50.6569 138 49 138H47ZM61 138C59.3431 138 58 139.343 58 141V152H66V141C66 139.343 64.6569 138 63 138H61Z" fill="white" />
|
||||||
</svg>
|
</svg>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -62,8 +62,8 @@ const CaseSection = () => {
|
|||||||
<div className='p-8 bg-base-100 rounded-2xl flex flex-col gap-4'>
|
<div className='p-8 bg-base-100 rounded-2xl flex flex-col gap-4'>
|
||||||
<span className='text-xl'>Выполненные работы:</span>
|
<span className='text-xl'>Выполненные работы:</span>
|
||||||
<div className='flex flex-col gap-6'>
|
<div className='flex flex-col gap-6'>
|
||||||
{done.map(text => (
|
{done.map((text, index) => (
|
||||||
<CheckLabel text={text}/>
|
<CheckLabel key={index} text={text}/>
|
||||||
))}
|
))}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@@ -19,9 +19,9 @@ const Navbar = () => {
|
|||||||
}
|
}
|
||||||
}}>
|
}}>
|
||||||
<svg width="800px" height="800px" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
<svg width="800px" height="800px" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
<path d="M4 18L20 18" stroke="#000000" stroke-width="2" stroke-linecap="round" />
|
<path d="M4 18L20 18" stroke="#000000" strokeWidth="2" strokeLinecap="round" />
|
||||||
<path d="M4 12L20 12" stroke="#000000" stroke-width="2" stroke-linecap="round" />
|
<path d="M4 12L20 12" stroke="#000000" strokeWidth="2" strokeLinecap="round" />
|
||||||
<path d="M4 6L20 6" stroke="#000000" stroke-width="2" stroke-linecap="round" />
|
<path d="M4 6L20 6" stroke="#000000" strokeWidth="2" strokeLinecap="round" />
|
||||||
</svg>
|
</svg>
|
||||||
</div>
|
</div>
|
||||||
</nav>
|
</nav>
|
||||||
|
|||||||
@@ -63,8 +63,9 @@ const ProductsSection = () => {
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className='grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-8'>
|
<div className='grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-8'>
|
||||||
{products.map(product => (
|
{products.map((product, index) => (
|
||||||
<motion.div
|
<motion.div
|
||||||
|
key={index}
|
||||||
whileHover={{
|
whileHover={{
|
||||||
scale: '1.05',
|
scale: '1.05',
|
||||||
boxShadow: '0 0 10px #00000050'
|
boxShadow: '0 0 10px #00000050'
|
||||||
@@ -83,8 +84,8 @@ const ProductsSection = () => {
|
|||||||
<span className='text-xl'>{product.title}</span>
|
<span className='text-xl'>{product.title}</span>
|
||||||
|
|
||||||
<div className='flex flex-col'>
|
<div className='flex flex-col'>
|
||||||
{product.descriptions.map(description => (
|
{product.descriptions.map((description, index) => (
|
||||||
<div className='flex flex-row gap-2'>
|
<div key={index} className='flex flex-row gap-2'>
|
||||||
<svg className='shrink-0' width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">
|
<svg className='shrink-0' width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
<path d="M11 2.0625C6.07191 2.0625 2.0625 6.07191 2.0625 11C2.0625 15.9281 6.07191 19.9375 11 19.9375C15.9281 19.9375 19.9375 15.9281 19.9375 11C19.9375 6.07191 15.9281 2.0625 11 2.0625ZM15.6514 8.00465L9.87637 14.8796C9.81302 14.9551 9.73419 15.0161 9.64523 15.0584C9.55627 15.1007 9.45925 15.1234 9.36074 15.125H9.34914C9.25278 15.125 9.1575 15.1047 9.06948 15.0654C8.98147 15.0262 8.90269 14.9689 8.83824 14.8973L6.36324 12.1473C6.30039 12.0806 6.25149 12.002 6.21943 11.9162C6.18737 11.8304 6.17279 11.739 6.17655 11.6474C6.1803 11.5559 6.20232 11.466 6.24131 11.3831C6.2803 11.3002 6.33547 11.2259 6.40358 11.1646C6.47169 11.1033 6.55136 11.0563 6.63791 11.0262C6.72447 10.9961 6.81616 10.9837 6.9076 10.9896C6.99904 10.9954 7.08838 11.0195 7.17037 11.0604C7.25236 11.1013 7.32534 11.1582 7.38504 11.2277L9.33109 13.3899L14.5986 7.12035C14.7168 6.98375 14.884 6.89912 15.064 6.88478C15.244 6.87043 15.4225 6.92751 15.5608 7.04368C15.6991 7.15985 15.7861 7.32578 15.8031 7.5056C15.82 7.68542 15.7655 7.86469 15.6514 8.00465Z" fill="#1C8EFF" />
|
<path d="M11 2.0625C6.07191 2.0625 2.0625 6.07191 2.0625 11C2.0625 15.9281 6.07191 19.9375 11 19.9375C15.9281 19.9375 19.9375 15.9281 19.9375 11C19.9375 6.07191 15.9281 2.0625 11 2.0625ZM15.6514 8.00465L9.87637 14.8796C9.81302 14.9551 9.73419 15.0161 9.64523 15.0584C9.55627 15.1007 9.45925 15.1234 9.36074 15.125H9.34914C9.25278 15.125 9.1575 15.1047 9.06948 15.0654C8.98147 15.0262 8.90269 14.9689 8.83824 14.8973L6.36324 12.1473C6.30039 12.0806 6.25149 12.002 6.21943 11.9162C6.18737 11.8304 6.17279 11.739 6.17655 11.6474C6.1803 11.5559 6.20232 11.466 6.24131 11.3831C6.2803 11.3002 6.33547 11.2259 6.40358 11.1646C6.47169 11.1033 6.55136 11.0563 6.63791 11.0262C6.72447 10.9961 6.81616 10.9837 6.9076 10.9896C6.99904 10.9954 7.08838 11.0195 7.17037 11.0604C7.25236 11.1013 7.32534 11.1582 7.38504 11.2277L9.33109 13.3899L14.5986 7.12035C14.7168 6.98375 14.884 6.89912 15.064 6.88478C15.244 6.87043 15.4225 6.92751 15.5608 7.04368C15.6991 7.15985 15.7861 7.32578 15.8031 7.5056C15.82 7.68542 15.7655 7.86469 15.6514 8.00465Z" fill="#1C8EFF" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
@@ -33,8 +33,8 @@ const ServiceItem = ({ service }: {
|
|||||||
className='col-span-1 text-5xl lg:text-8xl leading-12 lg:leading-20 text-blue-500 lg:text-base-content/10 lg:group-hover:text-blue-500 transition-colors'>{service.id}</motion.span>
|
className='col-span-1 text-5xl lg:text-8xl leading-12 lg:leading-20 text-blue-500 lg:text-base-content/10 lg:group-hover:text-blue-500 transition-colors'>{service.id}</motion.span>
|
||||||
<span className='col-span-3 lg:col-span-1 text-2xl lg:text-xl'>{service.title}</span>
|
<span className='col-span-3 lg:col-span-1 text-2xl lg:text-xl'>{service.title}</span>
|
||||||
<div className='row-start-2 lg:row-start-1 col-span-4 lg:col-start-3 lg:col-span-2 flex flex-col gap-4'>
|
<div className='row-start-2 lg:row-start-1 col-span-4 lg:col-start-3 lg:col-span-2 flex flex-col gap-4'>
|
||||||
{service.descriptions.map(desc => (
|
{service.descriptions.map((desc, index) => (
|
||||||
<div className='flex flex-row gap-2'>
|
<div key={index} className='flex flex-row gap-2'>
|
||||||
<svg className='shrink-0' width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">
|
<svg className='shrink-0' width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
<path d="M11 2.0625C6.07191 2.0625 2.0625 6.07191 2.0625 11C2.0625 15.9281 6.07191 19.9375 11 19.9375C15.9281 19.9375 19.9375 15.9281 19.9375 11C19.9375 6.07191 15.9281 2.0625 11 2.0625ZM15.6514 8.00465L9.87637 14.8796C9.81302 14.9551 9.73419 15.0161 9.64523 15.0584C9.55627 15.1007 9.45925 15.1234 9.36074 15.125H9.34914C9.25278 15.125 9.1575 15.1047 9.06948 15.0654C8.98147 15.0262 8.90269 14.9689 8.83824 14.8973L6.36324 12.1473C6.30039 12.0806 6.25149 12.002 6.21943 11.9162C6.18737 11.8304 6.17279 11.739 6.17655 11.6474C6.1803 11.5559 6.20232 11.466 6.24131 11.3831C6.2803 11.3002 6.33547 11.2259 6.40358 11.1646C6.47169 11.1033 6.55136 11.0563 6.63791 11.0262C6.72447 10.9961 6.81616 10.9837 6.9076 10.9896C6.99904 10.9954 7.08838 11.0195 7.17037 11.0604C7.25236 11.1013 7.32534 11.1582 7.38504 11.2277L9.33109 13.3899L14.5986 7.12035C14.7168 6.98375 14.884 6.89912 15.064 6.88478C15.244 6.87043 15.4225 6.92751 15.5608 7.04368C15.6991 7.15985 15.7861 7.32578 15.8031 7.5056C15.82 7.68542 15.7655 7.86469 15.6514 8.00465Z" fill="#1C8EFF" />
|
<path d="M11 2.0625C6.07191 2.0625 2.0625 6.07191 2.0625 11C2.0625 15.9281 6.07191 19.9375 11 19.9375C15.9281 19.9375 19.9375 15.9281 19.9375 11C19.9375 6.07191 15.9281 2.0625 11 2.0625ZM15.6514 8.00465L9.87637 14.8796C9.81302 14.9551 9.73419 15.0161 9.64523 15.0584C9.55627 15.1007 9.45925 15.1234 9.36074 15.125H9.34914C9.25278 15.125 9.1575 15.1047 9.06948 15.0654C8.98147 15.0262 8.90269 14.9689 8.83824 14.8973L6.36324 12.1473C6.30039 12.0806 6.25149 12.002 6.21943 11.9162C6.18737 11.8304 6.17279 11.739 6.17655 11.6474C6.1803 11.5559 6.20232 11.466 6.24131 11.3831C6.2803 11.3002 6.33547 11.2259 6.40358 11.1646C6.47169 11.1033 6.55136 11.0563 6.63791 11.0262C6.72447 10.9961 6.81616 10.9837 6.9076 10.9896C6.99904 10.9954 7.08838 11.0195 7.17037 11.0604C7.25236 11.1013 7.32534 11.1582 7.38504 11.2277L9.33109 13.3899L14.5986 7.12035C14.7168 6.98375 14.884 6.89912 15.064 6.88478C15.244 6.87043 15.4225 6.92751 15.5608 7.04368C15.6991 7.15985 15.7861 7.32578 15.8031 7.5056C15.82 7.68542 15.7655 7.86469 15.6514 8.00465Z" fill="#1C8EFF" />
|
||||||
</svg>
|
</svg>
|
||||||
@@ -114,8 +114,8 @@ const ServicesSection = () => {
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className='my-8 lg:my-0 flex flex-col gap-4 col-span-2 rounded-2xl overflow-hidden'>
|
<div className='my-8 lg:my-0 flex flex-col gap-4 col-span-2 rounded-2xl overflow-hidden'>
|
||||||
{services.map(service => (
|
{services.map((service, index) => (
|
||||||
<ServiceItem service={service} />
|
<ServiceItem key={index} service={service} />
|
||||||
))}
|
))}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user