From c6526081ba96c0f2810aac291ac73678f5f8d33b Mon Sep 17 00:00:00 2001 From: Roo Code Date: Mon, 20 Apr 2026 19:41:34 +0000 Subject: [PATCH] feat(web): redesign Roomote announcement banner with violet branding --- apps/web-roo-code/src/app/globals.css | 9 ++++++ apps/web-roo-code/src/app/layout.tsx | 12 ++----- .../components/RoomoteAnnouncementBanner.tsx | 32 +++++++++++++++++++ apps/web-roo-code/tailwind.config.ts | 1 + 4 files changed, 44 insertions(+), 10 deletions(-) create mode 100644 apps/web-roo-code/src/components/RoomoteAnnouncementBanner.tsx diff --git a/apps/web-roo-code/src/app/globals.css b/apps/web-roo-code/src/app/globals.css index e7a3a03e9d..cb06940bfb 100644 --- a/apps/web-roo-code/src/app/globals.css +++ b/apps/web-roo-code/src/app/globals.css @@ -70,3 +70,12 @@ @apply bg-background text-foreground; } } + +@keyframes banner-shimmer { + 0% { + background-position: 200% 0; + } + 100% { + background-position: -200% 0; + } +} diff --git a/apps/web-roo-code/src/app/layout.tsx b/apps/web-roo-code/src/app/layout.tsx index 2691e96ebd..b23a258f15 100644 --- a/apps/web-roo-code/src/app/layout.tsx +++ b/apps/web-roo-code/src/app/layout.tsx @@ -4,6 +4,7 @@ import { Inter } from "next/font/google" import { SEO } from "@/lib/seo" import { ogImageUrl } from "@/lib/og" import { CookieConsentWrapper } from "@/components/CookieConsentWrapper" +import { RoomoteAnnouncementBanner } from "@/components/RoomoteAnnouncementBanner" import { Providers } from "@/components/providers" @@ -97,16 +98,7 @@ export default function RootLayout({ children }: { children: React.ReactNode }) /> -
- The Roo Code team is about to launch something new.{" "} - - Check out Roomote - -
+
diff --git a/apps/web-roo-code/src/components/RoomoteAnnouncementBanner.tsx b/apps/web-roo-code/src/components/RoomoteAnnouncementBanner.tsx new file mode 100644 index 0000000000..8d126629ab --- /dev/null +++ b/apps/web-roo-code/src/components/RoomoteAnnouncementBanner.tsx @@ -0,0 +1,32 @@ +"use client" + +import { ArrowRight, Sparkles } from "lucide-react" + +export function RoomoteAnnouncementBanner() { + return ( +
+ {/* Animated shimmer overlay */} +
+ +
+
+ + + New + +

+ Introducing Roomote — AI-powered coding, now in Slack +

+
+ + Explore Roomote + + +
+
+ ) +} diff --git a/apps/web-roo-code/tailwind.config.ts b/apps/web-roo-code/tailwind.config.ts index 870371f32f..723a1806fe 100644 --- a/apps/web-roo-code/tailwind.config.ts +++ b/apps/web-roo-code/tailwind.config.ts @@ -106,6 +106,7 @@ const config: Config = { "fade-in": "fade-in 0.5s ease-out", "fade-out": "fade-out 0.5s ease-out", "pulse-glow": "pulse-glow 3s infinite", + "banner-shimmer": "banner-shimmer 3s ease-in-out infinite", }, screens: { xs: "420px",