diff --git a/docusaurus.config.ts b/docusaurus.config.ts index 09ce6b1d..4a56c908 100644 --- a/docusaurus.config.ts +++ b/docusaurus.config.ts @@ -17,7 +17,8 @@ import { CAREERS_URL, WEBSITE_PRIVACY_URL, EXTENSION_PRIVACY_URL, - GITHUB_REPO_URL + GITHUB_REPO_URL, + TEAMS_PROMO_URL } from './src/constants'; // This runs in Node.js - Don't use client-side code here (browser APIs, JSX...) @@ -292,6 +293,13 @@ const config: Config = { {property: 'og:type', content: 'website'}, {property: 'og:locale', content: 'en_US'}, ], + announcementBar: { + id: 'teams-early-access-2025-09-2', + content: `Ship Faster with Roo Code Teams. Get early access now.`, + backgroundColor: 'var(--roo-announcement-bar-bg)', + textColor: '#ffffff', + isCloseable: true, + }, colorMode: { defaultMode: 'dark', disableSwitch: false, diff --git a/src/constants.ts b/src/constants.ts index a6d0cdff..851aef63 100644 --- a/src/constants.ts +++ b/src/constants.ts @@ -28,4 +28,7 @@ export const OPEN_VSX_URL = 'https://open-vsx.org/extension/RooVeterinaryInc/roo export const CONTACT_EMAIL = 'mailto:support@roocode.com'; export const CAREERS_URL = 'https://careers.roocode.com'; export const WEBSITE_PRIVACY_URL = 'https://roocode.com/privacy'; -export const EXTENSION_PRIVACY_URL = `${GITHUB_MAIN_REPO_URL}/blob/main/PRIVACY.md`; \ No newline at end of file +export const EXTENSION_PRIVACY_URL = `${GITHUB_MAIN_REPO_URL}/blob/main/PRIVACY.md`; + +// Marketing / promo links +export const TEAMS_PROMO_URL = 'https://app.roocode.com/l/teams?utm_source=docs&utm_medium=banner&utm_campaign=teams_promo'; \ No newline at end of file diff --git a/src/css/custom.css b/src/css/custom.css index dea34ea1..70fb18a2 100644 --- a/src/css/custom.css +++ b/src/css/custom.css @@ -6,6 +6,7 @@ /* Light mode color system */ :root { + --roo-announcement-bar-bg: #375497; --background: 0 0% 100%; --foreground: 0 0% 3.9%; --card: 0 0% 100%; @@ -2332,4 +2333,22 @@ html { /* Ensure consistent spacing for all tutorial video links */ .menu__list-item:has(> a[href^="https://www.youtube.com/watch"]) { margin-bottom: 0 !important; +} +/* Announcement bar close "X" color override: ensure the close icon is white on all themes */ +.theme-announcement-bar [aria-label="Close"] { + color: #ffffff !important; /* Icon inherits currentColor */ + opacity: 1 !important; +} + +.theme-announcement-bar [aria-label="Close"] svg, +.theme-announcement-bar [aria-label="Close"] path, +.theme-announcement-bar [aria-label="Close"] g { + color: #ffffff !important; + fill: #ffffff !important; + stroke: #ffffff !important; +} + +.theme-announcement-bar [aria-label="Close"]:hover { + color: #ffffff !important; + opacity: 1 !important; } \ No newline at end of file diff --git a/src/theme/DocBreadcrumbs/index.tsx b/src/theme/DocBreadcrumbs/index.tsx index 5382245d..8f14abf4 100644 --- a/src/theme/DocBreadcrumbs/index.tsx +++ b/src/theme/DocBreadcrumbs/index.tsx @@ -60,6 +60,7 @@ export default function DocBreadcrumbs(): ReactNode { return null; } + return ( <> diff --git a/src/theme/DocBreadcrumbs/styles.module.css b/src/theme/DocBreadcrumbs/styles.module.css index 77a4bdfe..bd5fbda0 100644 --- a/src/theme/DocBreadcrumbs/styles.module.css +++ b/src/theme/DocBreadcrumbs/styles.module.css @@ -14,3 +14,8 @@ margin: 0; flex: 1; } + + + + +