{page === "feed" && (
diff --git a/frontend/src/components/DemoBanner.tsx b/frontend/src/components/DemoBanner.tsx
new file mode 100644
index 0000000..2fe59bd
--- /dev/null
+++ b/frontend/src/components/DemoBanner.tsx
@@ -0,0 +1,17 @@
+import { useTranslation } from "react-i18next";
+import { AlertTriangle } from "lucide-react";
+
+// Permanent, non-dismissible bar shown to the shared demo account so it's always clear the
+// state is communal. (Replaces the old login-time toast, which re-popped on every reload.)
+export default function DemoBanner() {
+ const { t } = useTranslation();
+ return (
+
+
+
+ {t("common.demoTitle")}
+ — {t("common.demoSharedNotice")}
+
+
+ );
+}