-
- Use the Roo Code Extension on your computer for
- full control, or delegate work to your{" "}
- Roo Code Cloud Agents from the web, Slack, Github
- or wherever your team is.
-
+ {isValentines ? (
+
+ This Valentine's season, let{" "}
+ Roo Code be your perfect coding
+ companion. Use the Extension for hands-on
+ collaboration, or let your Cloud Agents handle
+ the heavy lifting while you focus on what you love.
+
+ ) : (
+
+ Use the Roo Code Extension on your computer for
+ full control, or delegate work to your{" "}
+ Roo Code Cloud Agents from the web, Slack,
+ Github or wherever your team is.
+
+ )}
diff --git a/apps/web-roo-code/src/app/shell.tsx b/apps/web-roo-code/src/app/shell.tsx
index 84a42bed21..c54826ba3f 100644
--- a/apps/web-roo-code/src/app/shell.tsx
+++ b/apps/web-roo-code/src/app/shell.tsx
@@ -1,6 +1,7 @@
import { getGitHubStars, getVSCodeDownloads } from "@/lib/stats"
import { NavBar, Footer } from "@/components/chromes"
+import { ValentinesBanner } from "@/components/homepage"
// Invalidate cache when a request comes in, at most once every hour.
export const revalidate = 3600
@@ -10,6 +11,7 @@ export default async function Shell({ children }: { children: React.ReactNode })
return (
+
{children}
diff --git a/apps/web-roo-code/src/components/homepage/floating-hearts.tsx b/apps/web-roo-code/src/components/homepage/floating-hearts.tsx
new file mode 100644
index 0000000000..53616b8f9c
--- /dev/null
+++ b/apps/web-roo-code/src/components/homepage/floating-hearts.tsx
@@ -0,0 +1,61 @@
+"use client"
+
+import { useEffect, useState } from "react"
+
+interface FloatingHeart {
+ id: number
+ left: number
+ size: number
+ duration: number
+ delay: number
+ opacity: number
+}
+
+export function FloatingHearts() {
+ const [hearts, setHearts] = useState
([])
+ const [isVisible, setIsVisible] = useState(true)
+
+ useEffect(() => {
+ // Check if we're in the Valentine's date range (Feb 1-15)
+ const now = new Date()
+ const month = now.getMonth() // 0-indexed, so February is 1
+ const day = now.getDate()
+ const isValentinesSeason = month === 1 && day >= 1 && day <= 15
+ setIsVisible(isValentinesSeason)
+
+ if (!isValentinesSeason) return
+
+ // Generate random hearts
+ const generatedHearts: FloatingHeart[] = Array.from({ length: 15 }, (_, i) => ({
+ id: i,
+ left: Math.random() * 100,
+ size: 12 + Math.random() * 16,
+ duration: 8 + Math.random() * 12,
+ delay: Math.random() * 10,
+ opacity: 0.1 + Math.random() * 0.2,
+ }))
+ setHearts(generatedHearts)
+ }, [])
+
+ if (!isVisible || hearts.length === 0) return null
+
+ return (
+
+ {hearts.map((heart) => (
+
+ ❤
+
+ ))}
+
+ )
+}
diff --git a/apps/web-roo-code/src/components/homepage/index.ts b/apps/web-roo-code/src/components/homepage/index.ts
index faafc908cc..745148adbd 100644
--- a/apps/web-roo-code/src/components/homepage/index.ts
+++ b/apps/web-roo-code/src/components/homepage/index.ts
@@ -12,3 +12,5 @@ export * from "./cloud-section"
export * from "./ecosystem-section"
export * from "./cta-section"
export * from "./use-examples-section"
+export * from "./valentines-banner"
+export * from "./floating-hearts"
diff --git a/apps/web-roo-code/src/components/homepage/valentines-banner.tsx b/apps/web-roo-code/src/components/homepage/valentines-banner.tsx
new file mode 100644
index 0000000000..1c99dfe5fe
--- /dev/null
+++ b/apps/web-roo-code/src/components/homepage/valentines-banner.tsx
@@ -0,0 +1,46 @@
+"use client"
+
+import { Heart, Sparkles } from "lucide-react"
+import { useEffect, useState } from "react"
+
+export function ValentinesBanner() {
+ const [isVisible, setIsVisible] = useState(true)
+
+ // Check if we're in the Valentine's date range (Feb 1-15)
+ useEffect(() => {
+ const now = new Date()
+ const month = now.getMonth() // 0-indexed, so February is 1
+ const day = now.getDate()
+ // Show banner from Feb 1-15
+ const isValentinesSeason = month === 1 && day >= 1 && day <= 15
+ setIsVisible(isValentinesSeason)
+ }, [])
+
+ if (!isVisible) return null
+
+ return (
+
+ {/* Animated sparkles background */}
+
+ {[...Array(6)].map((_, i) => (
+
+ ))}
+
+
+
+
+ Happy Valentine's Day! Spread the love and build something amazing with Roo Code
+
+
+
+ )
+}