From a9501b64b5155d93efed91b836aaa090dceb13e6 Mon Sep 17 00:00:00 2001 From: danbaruka <46156791+danbaruka@users.noreply.github.com> Date: Fri, 11 Sep 2026 19:47:28 +0300 Subject: [PATCH] fix(website): hide DevEx Sessions selector while WG is paused Gate the floating "Select a DevEx Session" control behind DEVEX_SESSIONS_ENABLED so visitors are not prompted to join meetings that are not running. Reset Jump-to-Top offsets for the hidden button. --- website/src/components/MeetupReminderButton/constants.ts | 8 ++++++++ website/src/components/MeetupReminderButton/index.tsx | 8 +++++--- website/src/css/custom.css | 7 +++---- website/src/theme/Root.tsx | 3 ++- 4 files changed, 18 insertions(+), 8 deletions(-) diff --git a/website/src/components/MeetupReminderButton/constants.ts b/website/src/components/MeetupReminderButton/constants.ts index 828d79fa..86c7043d 100644 --- a/website/src/components/MeetupReminderButton/constants.ts +++ b/website/src/components/MeetupReminderButton/constants.ts @@ -6,3 +6,11 @@ import { MeetupSession } from "./types"; * This allows easy updates to session details without code changes */ export const DEFAULT_SESSIONS: MeetupSession[] = meetupSessionsData.sessions; + +/** + * Floating "DevEx Sessions" selector. Set to `true` when weekly sessions resume. + * Kept off while the DevEx WG session series is paused so visitors are not + * prompted to join meetings that are not running. + */ +export const DEVEX_SESSIONS_ENABLED = false; + diff --git a/website/src/components/MeetupReminderButton/index.tsx b/website/src/components/MeetupReminderButton/index.tsx index 7bfe19e1..45ce9371 100644 --- a/website/src/components/MeetupReminderButton/index.tsx +++ b/website/src/components/MeetupReminderButton/index.tsx @@ -1,6 +1,6 @@ import React, { useState } from "react"; import { MeetupReminderButtonProps } from "./types"; -import { DEFAULT_SESSIONS } from "./constants"; +import { DEFAULT_SESSIONS, DEVEX_SESSIONS_ENABLED } from "./constants"; import { useMeetupSessions } from "./hooks/useMeetupSessions"; import { useClickOutside } from "./hooks/useClickOutside"; import { copyToClipboard } from "./utils/calendarUtils"; @@ -19,7 +19,9 @@ const MeetupReminderButton: React.FC = ({ const [selectedSession, setSelectedSession] = useState(null); const [copied, setCopied] = useState(false); - const { sessionDates, meetingStatuses } = useMeetupSessions(sessions); + const { sessionDates, meetingStatuses } = useMeetupSessions( + DEVEX_SESSIONS_ENABLED ? sessions : [], + ); const { panelRef, buttonRef } = useClickOutside({ isOpen: isExpanded, onClose: () => { @@ -53,7 +55,7 @@ const MeetupReminderButton: React.FC = ({ ? meetingStatuses.get(selectedSession) : undefined; - if (sessionDates.size === 0) { + if (!DEVEX_SESSIONS_ENABLED || sessionDates.size === 0) { return null; } diff --git a/website/src/css/custom.css b/website/src/css/custom.css index b7859d65..6264927f 100644 --- a/website/src/css/custom.css +++ b/website/src/css/custom.css @@ -987,15 +987,14 @@ html[data-theme='dark'] .searchBar .dropdownMenu svg { color: rgba(255, 255, 255, 0.7) !important; } -/* Jump to Top above DevEx Sessions (Meetup), same right alignment */ +/* Jump to Top — default corner placement (DevEx Sessions floating button hidden while sessions paused) */ @media (max-width: 767px) { .theme-back-to-top-button { - bottom: 4.9rem !important; - right: 1.7rem !important; + bottom: 1.5rem !important; + right: 1.5rem !important; } } -/* Jump to Top to the left of DevEx Sessions (Meetup), same baseline */ @media (min-width: 767px) { .theme-back-to-top-button { bottom: 2rem !important; diff --git a/website/src/theme/Root.tsx b/website/src/theme/Root.tsx index e728b8e1..e88c4d1a 100644 --- a/website/src/theme/Root.tsx +++ b/website/src/theme/Root.tsx @@ -2,6 +2,7 @@ import React, { useEffect, type ReactNode } from "react"; import Head from "@docusaurus/Head"; import useDocusaurusContext from "@docusaurus/useDocusaurusContext"; import MeetupReminderButton from "@site/src/components/MeetupReminderButton"; +import { DEVEX_SESSIONS_ENABLED } from "@site/src/components/MeetupReminderButton/constants"; export default function Root({ children }: { children: ReactNode }) { const { siteConfig } = useDocusaurusContext(); @@ -49,7 +50,7 @@ export default function Root({ children }: { children: ReactNode }) { {children} - + {DEVEX_SESSIONS_ENABLED ? : null} ); }