Skip to content

Commit 5baf61e

Browse files
authored
Merge pull request #551 from IABTechLab/feature/fix-marketing-color-mode
fix: 🐛 Force dark mode on marketing pages
2 parents 4c279c3 + 5ccbcfb commit 5baf61e

File tree

3 files changed

+22
-14
lines changed

3 files changed

+22
-14
lines changed

src/components/HomepageHero/index.tsx

Lines changed: 2 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -6,22 +6,10 @@ import HeroDesktopBg from "@site/static/img/hero-desktop.svg";
66
import HeroMobileBg from "@site/static/img/hero-mobile.svg";
77
import styles from "./styles.module.scss";
88
import { useIsJapanese } from "@site/src/utils/isJapanese";
9-
import { useColorMode } from "@docusaurus/theme-common";
9+
import { useForcedDarkTheme } from "@site/src/utils/useForcedDarkTheme";
1010
export default function HomepageHero(): JSX.Element {
1111
const isJapanese = useIsJapanese();
12-
const { setColorMode, colorMode } = useColorMode();
13-
14-
//quick fix for updating color mode on page load breaking after theme upgrade
15-
React.useEffect(() => {
16-
const originalTheme = colorMode;
17-
18-
// The second parameter exists, it's just not on the type :(
19-
setColorMode("dark", { persist: false });
20-
21-
return () => {
22-
setColorMode(originalTheme);
23-
};
24-
}, []);
12+
useForcedDarkTheme();
2513

2614
return (
2715
<header className={clsx("bg-11-o-clock text-white", styles.homepageHero)}>

src/components/PageHeader/index.tsx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
import React from "react";
33
import clsx from "clsx";
44
import styles from "./styles.module.scss";
5+
import { useForcedDarkTheme } from "@site/src/utils/useForcedDarkTheme";
56

67
type PageHeaderProps = {
78
heading: string;
@@ -12,6 +13,8 @@ export default function PageHeader({
1213
heading,
1314
subheading,
1415
}: PageHeaderProps): JSX.Element {
16+
useForcedDarkTheme();
17+
1518
return (
1619
<header className={clsx("bg-11-o-clock text-white", styles.pageHeader)}>
1720
<div className="container">

src/utils/useForcedDarkTheme.ts

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
import * as React from "react";
2+
import { useColorMode } from "@docusaurus/theme-common";
3+
4+
export function useForcedDarkTheme() {
5+
const { setColorMode, colorMode } = useColorMode();
6+
//quick fix for updating color mode on page load breaking after theme upgrade
7+
React.useEffect(() => {
8+
const originalTheme = colorMode;
9+
10+
// The second parameter exists, it's just not on the type :(
11+
setColorMode("dark", { persist: false });
12+
13+
return () => {
14+
setColorMode(originalTheme);
15+
};
16+
}, []);
17+
}

0 commit comments

Comments
 (0)