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 ? (
-
+
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({
/>
-
+