Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions website/src/components/MeetupReminderButton/constants.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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;

8 changes: 5 additions & 3 deletions website/src/components/MeetupReminderButton/index.tsx
Original file line number Diff line number Diff line change
@@ -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";
Expand All @@ -19,7 +19,9 @@ const MeetupReminderButton: React.FC<MeetupReminderButtonProps> = ({
const [selectedSession, setSelectedSession] = useState<string | null>(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: () => {
Expand Down Expand Up @@ -53,7 +55,7 @@ const MeetupReminderButton: React.FC<MeetupReminderButtonProps> = ({
? meetingStatuses.get(selectedSession)
: undefined;

if (sessionDates.size === 0) {
if (!DEVEX_SESSIONS_ENABLED || sessionDates.size === 0) {
return null;
}

Expand Down
7 changes: 3 additions & 4 deletions website/src/css/custom.css
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
3 changes: 2 additions & 1 deletion website/src/theme/Root.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -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();
Expand Down Expand Up @@ -49,7 +50,7 @@ export default function Root({ children }: { children: ReactNode }) {
<link rel="canonical" href={siteUrl} />
</Head>
{children}
<MeetupReminderButton />
{DEVEX_SESSIONS_ENABLED ? <MeetupReminderButton /> : null}
</>
);
}