feat(landing): add Cloudflare + security-headers trust badges to footer

Was implemented and locally verified earlier this session but never
committed/deployed before moving on to the CSP work — closing that gap.
This commit is contained in:
admin committed 2026-08-22 15:12:45 +02:00
1 parent 9265aa4dc1
commit 8d058b00a1
3 files changed
+32 -6

No files matched your search

+3 -1
View File
@@ -684,7 +684,9 @@
"detailPoint1": "Kurzvideos und Storys verschwinden nicht in einem Feed voller Menschen",
"detailPoint2": "Gesundheitsdaten bleiben privat, außer du teilst sie bewusst per Link",
"footerTagline": "Wo Haustiere die Stars sind.",
"footerDesignedBy": "Designed & Powered by PawFeed"
"footerDesignedBy": "Designed & Powered by PawFeed",
"footerCloudflareBadge": "Geschützt durch Cloudflare",
"footerSecurityBadge": "Sicherheits-Check: Note A"
},
"AboutPage": {
"metaTitle": "Über uns — PawFeed",
+3 -1
View File
@@ -684,7 +684,9 @@
"detailPoint1": "Short videos and stories don't get lost in a feed full of humans",
"detailPoint2": "Health data stays private unless you deliberately share it via link",
"footerTagline": "Where pets are the stars.",
"footerDesignedBy": "Designed & Powered by PawFeed"
"footerDesignedBy": "Designed & Powered by PawFeed",
"footerCloudflareBadge": "Protected by Cloudflare",
"footerSecurityBadge": "Security check: Grade A"
},
"AboutPage": {
"metaTitle": "About us — PawFeed",
+26 -4
View File
@@ -1,6 +1,6 @@
import { getTranslations } from "next-intl/server";
import Link from "next/link";
import { PawPrint } from "lucide-react";
import { PawPrint, Cloud, ShieldCheck } from "lucide-react";
/**
* Shared footer for the public landing page and "Über uns" (Gitea #23) —
@@ -30,9 +30,31 @@ export async function LandingFooter() {
</nav>
</div>
<div className="mt-10 flex flex-col items-center justify-between gap-2 border-t border-border/60 pt-6 text-xs text-muted-foreground sm:flex-row">
<span>© {new Date().getFullYear()} PawFeed</span>
<span>{t("footerDesignedBy")}</span>
<div className="mt-10 border-t border-border/60 pt-6">
<div className="flex flex-wrap items-center justify-center gap-x-5 gap-y-2 pb-4 text-xs text-muted-foreground sm:justify-start">
<a
href="https://www.cloudflare.com"
target="_blank"
rel="noopener noreferrer"
className="flex items-center gap-1.5 transition-colors hover:text-foreground"
>
<Cloud className="h-3.5 w-3.5" aria-hidden="true" />
{t("footerCloudflareBadge")}
</a>
<a
href="https://securityheaders.com/?q=pawfeed.org"
target="_blank"
rel="noopener noreferrer"
className="flex items-center gap-1.5 transition-colors hover:text-foreground"
>
<ShieldCheck className="h-3.5 w-3.5 text-green-500" aria-hidden="true" />
{t("footerSecurityBadge")}
</a>
</div>
<div className="flex flex-col items-center justify-between gap-2 text-xs text-muted-foreground sm:flex-row">
<span>© {new Date().getFullYear()} PawFeed</span>
<span>{t("footerDesignedBy")}</span>
</div>
</div>
</div>
</footer>