diff --git a/public/videos/composition_c.mp4 b/public/videos/composition_c.mp4 new file mode 100644 index 0000000..fadf38c Binary files /dev/null and b/public/videos/composition_c.mp4 differ diff --git a/src/App.tsx b/src/App.tsx index 447e542..ddda8b5 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -1,9 +1,11 @@ import { Footer } from "@/components/Layout/Footer"; import StreamDemo from "@/features/stream-demo/StreamDemo"; +import Header from "@/components/Layout/Header"; export default function App() { return (
+
{/* Без overflow-clip: иначе flex-1 + clip часто даёт пустой/обрезанный экран */}
diff --git a/src/components/Layout/Feedback.tsx b/src/components/Layout/Feedback.tsx index 3b92531..93b0a3b 100644 --- a/src/components/Layout/Feedback.tsx +++ b/src/components/Layout/Feedback.tsx @@ -4,9 +4,7 @@ import { useModalStore } from "@/stores/useModalStore"; import FeedbackModal from "@/components/modals/FeedbackFormModal"; import { LeadForm } from "@/features/lead-form/LeadForm"; -const DEFAULT_STREAM_DEMO_PRODUCTS = [ - "Удаленная демонстрация", -] as Product[]; +const DEFAULT_STREAM_DEMO_PRODUCTS = ["Удаленная демонстрация"] as Product[]; export function Feedback() { useAddReferer(); diff --git a/src/components/Layout/Footer.tsx b/src/components/Layout/Footer.tsx index 998d91f..5140bd4 100644 --- a/src/components/Layout/Footer.tsx +++ b/src/components/Layout/Footer.tsx @@ -83,7 +83,7 @@ export function Footer() { Сколково
diff --git a/src/components/Layout/Header.tsx b/src/components/Layout/Header.tsx new file mode 100644 index 0000000..54ea18d --- /dev/null +++ b/src/components/Layout/Header.tsx @@ -0,0 +1,11 @@ +import LanguageSwitchButton from "./LanguageSwitchButton"; + +export default function Header() { + return ( +
+ +
+ ); +} diff --git a/src/components/Layout/LanguageSwitchButton.tsx b/src/components/Layout/LanguageSwitchButton.tsx new file mode 100644 index 0000000..4ddabaf --- /dev/null +++ b/src/components/Layout/LanguageSwitchButton.tsx @@ -0,0 +1,27 @@ +import { useState } from "react"; + +export default function LanguageSwitchButton({ + className, +}: { + className?: string; +}) { + const [locale, setLocale] = useState<"ru" | "en">("ru"); + + function handleClick() { + return setLocale(locale === "ru" ? "en" : "ru"); + } + + return ( + + ); +} diff --git a/src/components/Layout/ModalContainer.tsx b/src/components/Layout/ModalContainer.tsx index 407de14..e0a079c 100644 --- a/src/components/Layout/ModalContainer.tsx +++ b/src/components/Layout/ModalContainer.tsx @@ -17,7 +17,7 @@ export function ModalContainer() { }, [setModal]); const jsx = modal ? ( -
+
{modal}
diff --git a/src/components/icons/LogoHorIcon.tsx b/src/components/icons/LogoHorIcon.tsx new file mode 100644 index 0000000..d8f5487 --- /dev/null +++ b/src/components/icons/LogoHorIcon.tsx @@ -0,0 +1,221 @@ +function LogoHorIcon() { + return ( + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ); +} + +export default LogoHorIcon; diff --git a/src/features/lead-form/LeadForm.tsx b/src/features/lead-form/LeadForm.tsx index 8c65487..b361ba8 100644 --- a/src/features/lead-form/LeadForm.tsx +++ b/src/features/lead-form/LeadForm.tsx @@ -16,8 +16,7 @@ import type { LeadFormValues } from "./types"; export type { LeadFormValues } from "./types"; -const GENERIC_SUBMIT_ERROR = - "Не удалось отправить заявку. Попробуйте позже."; +const GENERIC_SUBMIT_ERROR = "Не удалось отправить заявку. Попробуйте позже."; export function LeadForm({ defaultProducts, @@ -115,7 +114,7 @@ export function LeadForm({ />
-
+