- );
-};
+import { localizePath, useLang } from '../i18n';
+import LangSwitcher from './LangSwitcher';
const Header = () => {
const lang = useLang();
diff --git a/src/components/LangSwitcher.tsx b/src/components/LangSwitcher.tsx
new file mode 100644
index 0000000..8ea7db4
--- /dev/null
+++ b/src/components/LangSwitcher.tsx
@@ -0,0 +1,44 @@
+import React from 'react';
+import { setLang, useLang, type Lang } from '../i18n';
+
+const LANGS: Lang[] = ['pl', 'en'];
+
+/**
+ * PL / EN toggle. Buttons rather than links: switching is a client-side
+ * navigation (setLang), so a real href would reload the whole document.
+ *
+ * Shared by the landing Header and the standalone pages' own headers — without
+ * it on those pages, /en/privacy and /en/platforma have no way back to Polish
+ * short of editing the URL.
+ *
+ * @param onSwitch runs after the language changes — used to close the mobile menu.
+ */
+const LangSwitcher = ({ onSwitch }: { onSwitch?: () => void }) => {
+ const lang = useLang();
+
+ return (
+
+ );
+};
+
+export default LangSwitcher;
diff --git a/src/components/PlatformPage.tsx b/src/components/PlatformPage.tsx
index 3e8076f..e2da998 100644
--- a/src/components/PlatformPage.tsx
+++ b/src/components/PlatformPage.tsx
@@ -2,6 +2,7 @@ import React from 'react';
import { ArrowRight, Building2, CheckCircle2, ChevronRight, Home } from 'lucide-react';
import Footer from './Footer';
import { localizePath, useLang } from '../i18n';
+import LangSwitcher from './LangSwitcher';
// Standalone product page at /platforma (and /en/platforma). The copy is not
// localized yet — the site only translates contact.* and privacy.* — but the
@@ -16,9 +17,12 @@ const PlatformPage = () => {
humanAI
-
- ← Wróć na stronę główną
-
+