- Journal: Impressum (§5 TMG), Terms of Service, GDPR privacy page - Registration flow: required ToS checkbox, termsAcceptedAt persisted - Alpha banner on Journal (always visible); alpha badge on Planner hero - Footer with legal links + GitHub on both apps - Reduce PII: sendDefaultPii=false, Sentry init only after login (Journal) - Drop Sentry from Planner (no login, no consent possible) - Drop localStorage caching from i18n client detection - Sync SSR i18n resources each request so locale edits HMR without restart Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
10 lines
280 B
TypeScript
10 lines
280 B
TypeScript
import { useTranslation } from "react-i18next";
|
|
|
|
export function AlphaBanner() {
|
|
const { t } = useTranslation("journal");
|
|
return (
|
|
<div className="bg-amber-50 border-b border-amber-200 px-4 py-2 text-sm text-amber-900">
|
|
<p>{t("alpha.message")}</p>
|
|
</div>
|
|
);
|
|
}
|