Skip to content

Commit 3117d4c

Browse files
author
kalyaniugale
committed
fixed dark mode in careers page
1 parent 7cfe0fb commit 3117d4c

File tree

3 files changed

+43
-24
lines changed

3 files changed

+43
-24
lines changed

package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -57,17 +57,17 @@
5757
"vanilla-tilt": "^1.8.1"
5858
},
5959
"devDependencies": {
60-
"@docusaurus/module-type-aliases": "3.8.1",
60+
"@docusaurus/module-type-aliases": "^3.8.1",
6161
"@docusaurus/tsconfig": "^3.8.1",
62-
"@docusaurus/types": "3.8.1",
62+
"@docusaurus/types": "^3.8.1",
6363
"@tailwindcss/postcss": "^4.1.4",
6464
"@types/canvas-confetti": "^1.9.0",
6565
"@types/react": "^19.1.9",
6666
"@types/react-dom": "^19.1.7",
6767
"autoprefixer": "^10.4.21",
6868
"postcss": "^8.5.3",
6969
"tailwindcss": "^4.1.4",
70-
"typescript": "~5.6.2"
70+
"typescript": "~5.3"
7171
},
7272
"browserslist": {
7373
"production": [

src/pages/careers/index.tsx

Lines changed: 26 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -3,30 +3,40 @@ import Layout from "@theme/Layout";
33
import Head from "@docusaurus/Head";
44
import { motion } from "framer-motion";
55
import Link from "@docusaurus/Link";
6-
import { useColorMode } from '@docusaurus/theme-common';
6+
// removed useColorMode import to avoid provider + SSR issues
77
import ExecutionEnvironment from '@docusaurus/ExecutionEnvironment';
88

99
// Safe hook for color mode that handles SSR
1010
function useSafeColorMode() {
1111
const [mounted, setMounted] = useState(false);
12+
const [colorMode, setColorMode] = useState<'light' | 'dark'>('light');
13+
const [isDark, setIsDark] = useState(false);
1214

1315
useEffect(() => {
1416
setMounted(true);
15-
}, []);
17+
if (!ExecutionEnvironment.canUseDOM) return;
1618

17-
let colorMode = 'light';
18-
let isDark = false;
19+
const getThemeFromDOM = () =>
20+
(document.documentElement.getAttribute('data-theme') as 'light' | 'dark') || 'light';
1921

20-
if (mounted && ExecutionEnvironment.canUseDOM) {
21-
try {
22-
const { useColorMode: useColorModeHook } = require('@docusaurus/theme-common');
23-
const colorModeResult = useColorModeHook();
24-
colorMode = colorModeResult.colorMode;
25-
isDark = colorMode === 'dark';
26-
} catch (error) {
27-
console.warn('Failed to get color mode:', error);
28-
}
29-
}
22+
const applyTheme = () => {
23+
const mode = getThemeFromDOM();
24+
setColorMode(mode);
25+
setIsDark(mode === 'dark');
26+
};
27+
28+
// set immediately on mount
29+
applyTheme();
30+
31+
// watch for changes when navbar toggle is clicked
32+
const observer = new MutationObserver(applyTheme);
33+
observer.observe(document.documentElement, {
34+
attributes: true,
35+
attributeFilter: ['data-theme'],
36+
});
37+
38+
return () => observer.disconnect();
39+
}, []);
3040

3141
return { colorMode, isDark, mounted };
3242
}
@@ -515,7 +525,7 @@ function CareersContent() {
515525
variants={fadeIn}
516526
>
517527
<div className="testimonial-content text-center">
518-
<div className="w-20 h-20 bg-gradient-to-br from-blue-400 to-purple-500 rounded-full mx-auto mb-6 flex items-center justify-center">
528+
<div className="w-20 h-20 bg-gradient-to-br from-blue-400 to-purple-500 rounded-full mx-auto mb-6 flex items center justify-center">
519529
<span className="text-2xl">👤</span>
520530
</div>
521531
<blockquote
@@ -611,4 +621,4 @@ function CareersContent() {
611621

612622
export default function CareersPage() {
613623
return <CareersContent />;
614-
}
624+
}

tsconfig.json

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,22 @@
11
{
2-
// This file is not used in compilation. It is here just for a nice editor experience.
2+
"//": "Editor-only tsconfig for Docusaurus + TypeScript",
33
"extends": "@docusaurus/tsconfig",
44
"compilerOptions": {
5-
"jsx": "react",
5+
"jsx": "react-jsx",
66
"baseUrl": ".",
77
"esModuleInterop": true,
88
"moduleResolution": "node",
9-
"resolveJsonModule": true
10-
9+
"resolveJsonModule": true,
10+
"types": ["@docusaurus/module-type-aliases", "node"]
1111
},
12-
"exclude": [".docusaurus", "build"]
12+
"include": [
13+
"src",
14+
"docusaurus.config.ts",
15+
"docusaurus.config.js",
16+
"sidebars.ts",
17+
"sidebars.js",
18+
"plugins",
19+
"docs"
20+
],
21+
"exclude": [".docusaurus", "build", "node_modules"]
1322
}

0 commit comments

Comments
 (0)