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:
1 parent
9265aa4dc1
commit
8d058b00a1
3 files changed
+32
-6
No files matched your search
+3
-1
@@ -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
@@ -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",
|
||||
|
||||
@@ -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>
|
||||
|
||||
Reference in new issue
Block a user