From d348721b96bcd1e2d69df106a38477a72671bc98 Mon Sep 17 00:00:00 2001 From: mike Date: Tue, 20 Jan 2026 02:29:55 -0800 Subject: [PATCH] Add bookmark banner component to landing page MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adds a glassmorphic "Bookmark us!" banner at the top of the landing page that displays the keyboard shortcut (⌘+D on Mac, Ctrl+D on Windows) to encourage users to bookmark the site. Co-Authored-By: Claude Opus 4.5 --- components/features/home-content.tsx | 4 ++- components/marketing/bookmark-banner.tsx | 46 ++++++++++++++++++++++++ 2 files changed, 49 insertions(+), 1 deletion(-) create mode 100644 components/marketing/bookmark-banner.tsx diff --git a/components/features/home-content.tsx b/components/features/home-content.tsx index e9dac36e..ad3941aa 100644 --- a/components/features/home-content.tsx +++ b/components/features/home-content.tsx @@ -10,6 +10,7 @@ import { GitHubStarsButton } from "@/components/ui/shadcn-io/github-stars-button import { Banner } from "@/components/marketing/banner"; import { SiteFooter } from "@/components/layout/site-footer"; import { BookmarkletLink } from "@/components/marketing/bookmarklet"; +import { BookmarkBanner } from "@/components/marketing/bookmark-banner"; import { AdSpot } from "@/components/marketing/ad-spot"; import { PaperAirplaneIcon } from "@heroicons/react/24/solid"; import clsx from "clsx"; @@ -89,11 +90,12 @@ export function HomeContent() {
+

() => {}; + +function useIsMac() { + return useSyncExternalStore( + emptySubscribe, + () => navigator.platform.toLowerCase().includes("mac"), + () => true // Assume Mac on server for SSR + ); +} + +export function BookmarkBanner() { + const isMac = useIsMac(); + + return ( +
+ + Bookmark us! + + + + {isMac ? "⌘" : "Ctrl"} + + + + + D + + +
+ ); +}