From 868f1c25be3265df278e5afe4a50e02c95464365 Mon Sep 17 00:00:00 2001 From: shankar0123 Date: Thu, 14 May 2026 16:17:48 +0000 Subject: [PATCH] =?UTF-8?q?feat(web):=20sidebar=20maintainer=20attribution?= =?UTF-8?q?=20=E2=80=94=20mirror=20landing-page=20footer=20style?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add "Built and maintained by Shankar" to the sidebar bottom, with "Shankar" linking to LinkedIn (same href + rel="me noopener" the certctl.io landing-page footer uses). Typography matches the landing page: • font-mono (same family as the existing "certctl" label row) • text-2xs muted (text-sidebar-text/70) for the prefix • slightly brighter for the linked name (text-sidebar-text/90) • underline-offset-2 + hover:underline for the link affordance Lives directly above the existing certctl / logout footer row, so the sidebar bottom now reads: Built and maintained by Shankar certctl [Logout] Single-maintainer OSS standard (Cal.com, Plausible, Beekeeper Studio all credit + link their maintainer the same way). Persistent slot for operators using certctl to find the maintainer in one click — complements the landing-page footer link instead of duplicating it. Verification: • npx tsc --noEmit — exits 0 • Layout.test.tsx — 7/7 green (no test regression from the new row) --- web/src/components/Layout.tsx | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/web/src/components/Layout.tsx b/web/src/components/Layout.tsx index 0686cb3..6ea0559 100644 --- a/web/src/components/Layout.tsx +++ b/web/src/components/Layout.tsx @@ -283,7 +283,28 @@ export default function Layout() { -
+ {/* Maintainer attribution row — mirrors the landing-page footer + (certctl.io: "Built and maintained by Shankar · certctl.io"). + Same font-mono / muted-text typography; only "Shankar" carries + the LinkedIn link (the same href + rel="me noopener" pattern + the landing page uses). Single-maintainer OSS standard + (Cal.com, Plausible, Beekeeper Studio do the same). */} +
+ + Built and maintained by{' '} + + Shankar + + +
+ +
certctl {authRequired && (