From b7caa24f5e1c2692871d7364758fc01966fcbe04 Mon Sep 17 00:00:00 2001 From: Tony Giorgio Date: Wed, 6 May 2026 14:56:16 -0500 Subject: [PATCH] Add rebrand announcement to auth header --- frontend/src/components/AppEntryPage.tsx | 38 ++-------- frontend/src/components/AuthHeader.tsx | 94 ++++++++++++++++++++++++ frontend/src/components/AuthMain.tsx | 28 +------ 3 files changed, 101 insertions(+), 59 deletions(-) create mode 100644 frontend/src/components/AuthHeader.tsx diff --git a/frontend/src/components/AppEntryPage.tsx b/frontend/src/components/AppEntryPage.tsx index 202a1b34d..3dfdc0edd 100644 --- a/frontend/src/components/AppEntryPage.tsx +++ b/frontend/src/components/AppEntryPage.tsx @@ -1,42 +1,14 @@ import { Link } from "@tanstack/react-router"; -import { Home, LogIn, UserPlus } from "lucide-react"; +import { LogIn, UserPlus } from "lucide-react"; +import { AuthHeader } from "@/components/AuthHeader"; import { Button } from "@/components/ui/button"; -import { MapleWordmark } from "@/components/MapleWordmark"; -import { marketingUrl } from "@/config/domains"; -import { openExternalUrl } from "@/utils/openUrl"; -import { isTauri } from "@/utils/platform"; - -const marketingHomeUrl = marketingUrl("/"); - -function MarketingHomeLink({ className }: { className?: string }) { - return ( - { - if (isTauri()) { - event.preventDefault(); - openExternalUrl(marketingHomeUrl); - } - }} - className={className} - > - - Learn about Maple - - ); -} export function AppEntryPage() { return ( -
-
- - - - -
+
+ -
+

diff --git a/frontend/src/components/AuthHeader.tsx b/frontend/src/components/AuthHeader.tsx new file mode 100644 index 000000000..d15a8d50d --- /dev/null +++ b/frontend/src/components/AuthHeader.tsx @@ -0,0 +1,94 @@ +import type { MouseEvent } from "react"; +import { Link } from "@tanstack/react-router"; +import { ArrowRight, ExternalLink, Home } from "lucide-react"; +import { MapleWordmark } from "@/components/MapleWordmark"; +import { marketingUrl } from "@/config/domains"; +import { openExternalUrl } from "@/utils/openUrl"; +import { isTauri } from "@/utils/platform"; +import { cn } from "@/utils/utils"; + +const marketingHomeUrl = marketingUrl("/"); +const rebrandAnnouncementUrl = + "https://blog.trymaple.ai/meet-maple-the-personal-intelligence-platform/"; + +function openExternalLink(event: MouseEvent, url: string) { + if (!isTauri()) { + return; + } + + event.preventDefault(); + openExternalUrl(url); +} + +function RebrandAnnouncementLink({ className }: { className?: string }) { + return ( + openExternalLink(event, rebrandAnnouncementUrl)} + className={cn( + "group inline-flex min-h-10 w-full max-w-full items-center justify-center gap-2 rounded-md border border-neutral-900/10 bg-white/65 px-3 py-2 text-[11px] font-semibold text-[#221a18] shadow-sm backdrop-blur transition hover:border-neutral-900/15 hover:bg-white/85 dark:border-white/10 dark:bg-white/[0.06] dark:text-foreground dark:hover:border-white/15 dark:hover:bg-white/[0.1] sm:w-auto sm:text-xs", + className + )} + aria-label="Maple AI is now Maple Research. Read the announcement." + > + + + Maple AI is now Maple Research + Maple AI -> Maple Research + + + ); +} + +function MarketingHomeLink({ className }: { className?: string }) { + return ( + openExternalLink(event, marketingHomeUrl)} + className={className} + > + + Learn about Maple + Home + + ); +} + +export function AuthHeader() { + return ( +
+ + + + + + + +
+ ); +} diff --git a/frontend/src/components/AuthMain.tsx b/frontend/src/components/AuthMain.tsx index 87b2c9392..65195ebb7 100644 --- a/frontend/src/components/AuthMain.tsx +++ b/frontend/src/components/AuthMain.tsx @@ -1,9 +1,5 @@ import { Link } from "@tanstack/react-router"; -import { Home } from "lucide-react"; -import { MapleWordmark } from "@/components/MapleWordmark"; -import { marketingUrl } from "@/config/domains"; -import { openExternalUrl } from "@/utils/openUrl"; -import { isTauri } from "@/utils/platform"; +import { AuthHeader } from "@/components/AuthHeader"; type AuthMainProps = { children: React.ReactNode; @@ -12,29 +8,9 @@ type AuthMainProps = { }; export function AuthMain({ children, title, description }: AuthMainProps) { - const marketingHomeUrl = marketingUrl("/"); - return (