From 5a13f96b288559c2933977fe38bb02a5b2405fa3 Mon Sep 17 00:00:00 2001 From: YourGitHubUsername Date: Wed, 6 Aug 2025 20:04:55 +0530 Subject: [PATCH 1/3] fix darktheme issue --- src/css/custom.css | 571 +++++++++++++++++++- src/pages/badges/github-badges.module.css | 72 ++- src/pages/badges/github-badges.tsx | 8 +- src/pages/blogs/blogs.css | 20 +- src/pages/careers/index.tsx | 29 +- src/pages/community/community.css | 12 +- src/pages/courses/index.tsx | 42 +- src/pages/get-started/index.tsx | 7 +- src/pages/get-started/styles.module.css | 51 ++ src/theme/Footer/Layout/enhanced-footer.css | 33 +- 10 files changed, 782 insertions(+), 63 deletions(-) diff --git a/src/css/custom.css b/src/css/custom.css index 9d30a21f..b5d05a1d 100644 --- a/src/css/custom.css +++ b/src/css/custom.css @@ -32,6 +32,26 @@ --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.3); --ifm-color-primary-text: #ffffff; --ifm-color-secondary-text: #edf2f7; + + /* Standardized Dark Theme Colors */ + --dark-bg-primary: #121212; + --dark-bg-secondary: #1a1a1a; + --dark-bg-tertiary: #2d2d2d; + --dark-text-primary: #ffffff; + --dark-text-secondary: #edf2f7; + --dark-text-muted: #a0aec0; + --dark-border: #2d2d2d; + --dark-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.3), 0 2px 4px -1px rgba(0, 0, 0, 0.2); + --dark-shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, 0.4), 0 10px 10px -5px rgba(0, 0, 0, 0.2); + + /* Card and component backgrounds */ + --dark-card-bg: #1a1a1a; + --dark-card-hover-bg: #2d2d2d; + + /* Form elements */ + --dark-input-bg: #2d2d2d; + --dark-input-border: #4a5568; + --dark-input-focus-border: #25c2a0; } @@ -171,8 +191,555 @@ /* Dark mode overrides (already there, ensure it's working) */ [data-theme='dark'] { - background-color: #121212; - color: #ffffff; + background-color: var(--dark-bg-primary); + color: var(--dark-text-primary); +} + +/* Global dark theme utilities */ +[data-theme='dark'] .dark-bg-primary { + background-color: var(--dark-bg-primary) !important; +} + +[data-theme='dark'] .dark-bg-secondary { + background-color: var(--dark-bg-secondary) !important; +} + +[data-theme='dark'] .dark-bg-tertiary { + background-color: var(--dark-bg-tertiary) !important; +} + +[data-theme='dark'] .dark-text-primary { + color: var(--dark-text-primary) !important; +} + +[data-theme='dark'] .dark-text-secondary { + color: var(--dark-text-secondary) !important; +} + +[data-theme='dark'] .dark-text-muted { + color: var(--dark-text-muted) !important; +} + +[data-theme='dark'] .dark-border { + border-color: var(--dark-border) !important; +} + +[data-theme='dark'] .dark-shadow { + box-shadow: var(--dark-shadow) !important; +} + +[data-theme='dark'] .dark-shadow-lg { + box-shadow: var(--dark-shadow-lg) !important; +} + +/* Form elements dark theme */ +[data-theme='dark'] input, +[data-theme='dark'] textarea, +[data-theme='dark'] select { + background-color: var(--dark-input-bg) !important; + border-color: var(--dark-input-border) !important; + color: var(--dark-text-primary) !important; +} + +[data-theme='dark'] input:focus, +[data-theme='dark'] textarea:focus, +[data-theme='dark'] select:focus { + border-color: var(--dark-input-focus-border) !important; + box-shadow: 0 0 0 2px rgba(37, 194, 160, 0.2) !important; +} + +[data-theme='dark'] input::placeholder, +[data-theme='dark'] textarea::placeholder { + color: var(--dark-text-muted) !important; +} + +/* Button dark theme */ +[data-theme='dark'] .button, +[data-theme='dark'] button { + background-color: var(--dark-bg-tertiary); + color: var(--dark-text-primary); + border-color: var(--dark-border); +} + +[data-theme='dark'] .button:hover, +[data-theme='dark'] button:hover { + background-color: var(--dark-card-hover-bg); +} + +/* Card components dark theme */ +[data-theme='dark'] .card { + background-color: var(--dark-card-bg) !important; + border-color: var(--dark-border) !important; + color: var(--dark-text-primary) !important; + box-shadow: var(--dark-shadow) !important; +} + +[data-theme='dark'] .card:hover { + background-color: var(--dark-card-hover-bg) !important; + box-shadow: var(--dark-shadow-lg) !important; +} + +/* Table dark theme */ +[data-theme='dark'] table { + background-color: var(--dark-bg-secondary) !important; + color: var(--dark-text-primary) !important; +} + +[data-theme='dark'] th { + background-color: var(--dark-bg-tertiary) !important; + color: var(--dark-text-primary) !important; + border-color: var(--dark-border) !important; +} + +[data-theme='dark'] td { + border-color: var(--dark-border) !important; + color: var(--dark-text-primary) !important; +} + +[data-theme='dark'] tr:hover { + background-color: var(--dark-card-hover-bg) !important; +} + +/* Navigation dark theme */ +[data-theme='dark'] .navbar { + background-color: var(--dark-bg-secondary) !important; + border-color: var(--dark-border) !important; +} + +[data-theme='dark'] .navbar__item { + color: var(--dark-text-primary) !important; +} + +[data-theme='dark'] .navbar__link:hover { + color: var(--ifm-color-primary) !important; +} + +/* Footer - keeping original styling */ + +/* Modal dark theme */ +[data-theme='dark'] .modal { + background-color: var(--dark-bg-secondary) !important; + color: var(--dark-text-primary) !important; + border-color: var(--dark-border) !important; +} + +[data-theme='dark'] .modal-header { + background-color: var(--dark-bg-tertiary) !important; + border-color: var(--dark-border) !important; +} + +/* Dropdown dark theme */ +[data-theme='dark'] .dropdown { + background-color: var(--dark-bg-secondary) !important; + border-color: var(--dark-border) !important; + box-shadow: var(--dark-shadow-lg) !important; +} + +[data-theme='dark'] .dropdown__link { + color: var(--dark-text-primary) !important; +} + +[data-theme='dark'] .dropdown__link:hover { + background-color: var(--dark-card-hover-bg) !important; + color: var(--ifm-color-primary) !important; +} + +/* Code blocks dark theme */ +[data-theme='dark'] pre { + background-color: var(--dark-bg-tertiary) !important; + border-color: var(--dark-border) !important; +} + +[data-theme='dark'] code { + background-color: var(--dark-bg-tertiary) !important; + color: var(--dark-text-primary) !important; +} + +/* ===== DOCUSAURUS DOCUMENTATION PAGES DARK THEME ===== */ + +/* Main documentation layout */ +[data-theme='dark'] .main-wrapper { + background-color: var(--dark-bg-primary) !important; + color: var(--dark-text-primary) !important; +} + +[data-theme='dark'] .docusaurus-wrapper { + background-color: var(--dark-bg-primary) !important; +} + +/* Documentation content area */ +[data-theme='dark'] .container { + background-color: var(--dark-bg-primary) !important; +} + +[data-theme='dark'] .row { + background-color: var(--dark-bg-primary) !important; +} + +[data-theme='dark'] .col { + background-color: var(--dark-bg-primary) !important; +} + +/* Documentation sidebar */ +[data-theme='dark'] .theme-doc-sidebar-container { + background-color: var(--dark-bg-secondary) !important; + border-color: var(--dark-border) !important; +} + +[data-theme='dark'] .theme-doc-sidebar-menu { + background-color: var(--dark-bg-secondary) !important; +} + +[data-theme='dark'] .menu__link { + color: var(--dark-text-secondary) !important; +} + +[data-theme='dark'] .menu__link:hover { + background-color: var(--dark-card-hover-bg) !important; + color: var(--dark-text-primary) !important; +} + +[data-theme='dark'] .menu__link--active { + background-color: var(--ifm-color-primary) !important; + color: white !important; +} + +[data-theme='dark'] .menu__list-item-collapsible { + background-color: var(--dark-bg-secondary) !important; +} + +[data-theme='dark'] .menu__caret { + color: var(--dark-text-muted) !important; +} + +/* Documentation content */ +[data-theme='dark'] .theme-doc-markdown { + background-color: var(--dark-bg-primary) !important; + color: var(--dark-text-primary) !important; +} + +[data-theme='dark'] .markdown { + background-color: var(--dark-bg-primary) !important; + color: var(--dark-text-primary) !important; +} + +[data-theme='dark'] .markdown h1, +[data-theme='dark'] .markdown h2, +[data-theme='dark'] .markdown h3, +[data-theme='dark'] .markdown h4, +[data-theme='dark'] .markdown h5, +[data-theme='dark'] .markdown h6 { + color: var(--dark-text-primary) !important; +} + +[data-theme='dark'] .markdown p { + color: var(--dark-text-secondary) !important; +} + +[data-theme='dark'] .markdown li { + color: var(--dark-text-secondary) !important; +} + +[data-theme='dark'] .markdown a { + color: var(--ifm-color-primary) !important; +} + +[data-theme='dark'] .markdown a:hover { + color: var(--ifm-color-primary-light) !important; +} + +/* Documentation breadcrumbs */ +[data-theme='dark'] .breadcrumbs { + background-color: var(--dark-bg-primary) !important; +} + +[data-theme='dark'] .breadcrumbs__link { + color: var(--dark-text-muted) !important; +} + +[data-theme='dark'] .breadcrumbs__link:hover { + color: var(--dark-text-primary) !important; +} + +[data-theme='dark'] .breadcrumbs__item--active .breadcrumbs__link { + color: var(--dark-text-primary) !important; +} + +/* Documentation table of contents */ +[data-theme='dark'] .table-of-contents { + background-color: var(--dark-bg-primary) !important; +} + +[data-theme='dark'] .table-of-contents__link { + color: var(--dark-text-muted) !important; +} + +[data-theme='dark'] .table-of-contents__link:hover { + color: var(--dark-text-primary) !important; +} + +[data-theme='dark'] .table-of-contents__link--active { + color: var(--ifm-color-primary) !important; +} + +/* Documentation pagination */ +[data-theme='dark'] .pagination-nav { + background-color: var(--dark-bg-primary) !important; +} + +[data-theme='dark'] .pagination-nav__link { + background-color: var(--dark-bg-secondary) !important; + border-color: var(--dark-border) !important; + color: var(--dark-text-primary) !important; +} + +[data-theme='dark'] .pagination-nav__link:hover { + background-color: var(--dark-card-hover-bg) !important; + border-color: var(--ifm-color-primary) !important; +} + +[data-theme='dark'] .pagination-nav__sublabel { + color: var(--dark-text-muted) !important; +} + +[data-theme='dark'] .pagination-nav__label { + color: var(--dark-text-primary) !important; +} + +/* Documentation admonitions (info, warning, etc.) */ +[data-theme='dark'] .admonition { + background-color: var(--dark-bg-secondary) !important; + border-color: var(--dark-border) !important; + color: var(--dark-text-primary) !important; +} + +[data-theme='dark'] .admonition-heading { + color: var(--dark-text-primary) !important; +} + +[data-theme='dark'] .admonition-content { + color: var(--dark-text-secondary) !important; +} + +/* Documentation tabs */ +[data-theme='dark'] .tabs-container { + background-color: var(--dark-bg-primary) !important; +} + +[data-theme='dark'] .tabs { + background-color: var(--dark-bg-secondary) !important; + border-color: var(--dark-border) !important; +} + +[data-theme='dark'] .tabs__item { + background-color: var(--dark-bg-secondary) !important; + color: var(--dark-text-muted) !important; + border-color: var(--dark-border) !important; +} + +[data-theme='dark'] .tabs__item:hover { + background-color: var(--dark-card-hover-bg) !important; + color: var(--dark-text-primary) !important; +} + +[data-theme='dark'] .tabs__item--active { + background-color: var(--dark-bg-primary) !important; + color: var(--ifm-color-primary) !important; + border-bottom-color: var(--ifm-color-primary) !important; +} + +[data-theme='dark'] .tabpanel { + background-color: var(--dark-bg-primary) !important; + color: var(--dark-text-primary) !important; +} + +/* Documentation code blocks */ +[data-theme='dark'] .prism-code { + background-color: var(--dark-bg-tertiary) !important; + color: var(--dark-text-primary) !important; +} + +[data-theme='dark'] .codeBlockTitle { + background-color: var(--dark-bg-tertiary) !important; + color: var(--dark-text-primary) !important; + border-color: var(--dark-border) !important; +} + +[data-theme='dark'] .codeBlockLines { + background-color: var(--dark-bg-tertiary) !important; +} + +[data-theme='dark'] .token-line { + color: var(--dark-text-primary) !important; +} + +/* Documentation blockquotes */ +[data-theme='dark'] blockquote { + background-color: var(--dark-bg-secondary) !important; + border-left-color: var(--ifm-color-primary) !important; + color: var(--dark-text-secondary) !important; +} + +/* Documentation details/summary */ +[data-theme='dark'] details { + background-color: var(--dark-bg-secondary) !important; + border-color: var(--dark-border) !important; +} + +[data-theme='dark'] summary { + background-color: var(--dark-bg-tertiary) !important; + color: var(--dark-text-primary) !important; +} + +/* Documentation search */ +[data-theme='dark'] .DocSearch { + --docsearch-primary-color: var(--ifm-color-primary) !important; + --docsearch-text-color: var(--dark-text-primary) !important; + --docsearch-muted-color: var(--dark-text-muted) !important; + --docsearch-container-background: rgba(18, 18, 18, 0.8) !important; + --docsearch-modal-background: var(--dark-bg-secondary) !important; + --docsearch-searchbox-background: var(--dark-bg-tertiary) !important; + --docsearch-searchbox-focus-background: var(--dark-bg-tertiary) !important; + --docsearch-hit-color: var(--dark-text-primary) !important; + --docsearch-hit-active-color: var(--dark-text-primary) !important; + --docsearch-hit-background: var(--dark-bg-tertiary) !important; + --docsearch-hit-shadow: var(--dark-shadow) !important; + --docsearch-key-gradient: linear-gradient(-225deg, var(--dark-bg-tertiary), var(--dark-bg-secondary)) !important; + --docsearch-key-shadow: inset 0 -2px 0 0 var(--dark-border), inset 0 0 1px 1px var(--dark-border), 0 1px 2px 1px rgba(0, 0, 0, 0.3) !important; + --docsearch-footer-background: var(--dark-bg-tertiary) !important; + --docsearch-footer-shadow: var(--dark-shadow) !important; +} + +/* Documentation edit page link */ +[data-theme='dark'] .theme-edit-this-page { + color: var(--dark-text-muted) !important; +} + +[data-theme='dark'] .theme-edit-this-page:hover { + color: var(--ifm-color-primary) !important; +} + +/* Documentation last updated */ +[data-theme='dark'] .theme-last-updated { + color: var(--dark-text-muted) !important; +} + +/* Documentation category cards */ +[data-theme='dark'] .card { + background-color: var(--dark-card-bg) !important; + border-color: var(--dark-border) !important; + color: var(--dark-text-primary) !important; + box-shadow: var(--dark-shadow) !important; +} + +[data-theme='dark'] .card:hover { + background-color: var(--dark-card-hover-bg) !important; + box-shadow: var(--dark-shadow-lg) !important; +} + +[data-theme='dark'] .card__header { + color: var(--dark-text-primary) !important; +} + +[data-theme='dark'] .card__body { + color: var(--dark-text-secondary) !important; +} + +[data-theme='dark'] .card__footer { + border-color: var(--dark-border) !important; +} + +/* Documentation hero banner */ +[data-theme='dark'] .hero { + background-color: var(--dark-bg-secondary) !important; + color: var(--dark-text-primary) !important; +} + +[data-theme='dark'] .hero__title { + color: var(--dark-text-primary) !important; +} + +[data-theme='dark'] .hero__subtitle { + color: var(--dark-text-secondary) !important; +} + +/* Documentation alert/callout boxes */ +[data-theme='dark'] .alert { + background-color: var(--dark-bg-secondary) !important; + border-color: var(--dark-border) !important; + color: var(--dark-text-primary) !important; +} + +[data-theme='dark'] .alert--primary { + background-color: rgba(37, 194, 160, 0.1) !important; + border-color: var(--ifm-color-primary) !important; +} + +[data-theme='dark'] .alert--secondary { + background-color: var(--dark-bg-tertiary) !important; + border-color: var(--dark-border) !important; +} + +[data-theme='dark'] .alert--success { + background-color: rgba(34, 197, 94, 0.1) !important; + border-color: #22c55e !important; +} + +[data-theme='dark'] .alert--info { + background-color: rgba(59, 130, 246, 0.1) !important; + border-color: #3b82f6 !important; +} + +[data-theme='dark'] .alert--warning { + background-color: rgba(245, 158, 11, 0.1) !important; + border-color: #f59e0b !important; +} + +[data-theme='dark'] .alert--danger { + background-color: rgba(239, 68, 68, 0.1) !important; + border-color: #ef4444 !important; +} + +/* Documentation inline code */ +[data-theme='dark'] code:not([class*="language-"]) { + background-color: var(--dark-bg-tertiary) !important; + color: var(--ifm-color-primary) !important; + border: 1px solid var(--dark-border) !important; +} + +/* Documentation horizontal rules */ +[data-theme='dark'] hr { + border-color: var(--dark-border) !important; +} + +/* Documentation images */ +[data-theme='dark'] .markdown img { + border-radius: 8px; + box-shadow: var(--dark-shadow); +} + +/* Fix for any remaining white backgrounds */ +[data-theme='dark'] .theme-doc-version-banner { + background-color: var(--dark-bg-secondary) !important; + border-color: var(--dark-border) !important; + color: var(--dark-text-primary) !important; +} + +[data-theme='dark'] .theme-doc-version-badge { + background-color: var(--dark-bg-tertiary) !important; + color: var(--dark-text-primary) !important; +} + +/* Ensure all text is readable */ +[data-theme='dark'] * { + border-color: var(--dark-border); +} + +[data-theme='dark'] .theme-doc-markdown > div, +[data-theme='dark'] .theme-doc-markdown > section, +[data-theme='dark'] .theme-doc-markdown > article { + background-color: var(--dark-bg-primary) !important; + color: var(--dark-text-primary) !important; } html.theme-light .bg-white { background-color: #ffffff !important; diff --git a/src/pages/badges/github-badges.module.css b/src/pages/badges/github-badges.module.css index 6fa00e59..3effaf87 100644 --- a/src/pages/badges/github-badges.module.css +++ b/src/pages/badges/github-badges.module.css @@ -722,26 +722,56 @@ table th, table td { } /* Dark mode support */ -@media (prefers-color-scheme: dark) { - .skinToneBadgeCard { - background: #0d1117; - } - - .badgeHeader h3 { - color: #c9d1d9; - } - - .variant { - background: #161b22; - } - - .variant:hover { - background: #1c2128; - } - - .skinToneLabel { - color: #8b949e; - } +[data-theme='dark'] .skinToneBadgeCard { + background: var(--dark-bg-secondary); + color: var(--dark-text-primary); +} + +[data-theme='dark'] .badgeHeader h3 { + color: var(--dark-text-primary); +} + +[data-theme='dark'] .variant { + background: var(--dark-bg-tertiary); + color: var(--dark-text-primary); +} + +[data-theme='dark'] .variant:hover { + background: var(--dark-card-hover-bg); +} + +[data-theme='dark'] .skinToneLabel { + color: var(--dark-text-muted); +} + +[data-theme='dark'] .achievementsTable { + background: var(--dark-bg-secondary); + color: var(--dark-text-primary); +} + +[data-theme='dark'] .achievementsTable th { + background: var(--dark-bg-tertiary); + color: var(--dark-text-primary); + border-color: var(--dark-border); +} + +[data-theme='dark'] .achievementsTable td { + border-color: var(--dark-border); + color: var(--dark-text-primary); +} + +[data-theme='dark'] .achievementsTable tr:hover { + background: var(--dark-card-hover-bg); +} + +[data-theme='dark'] .title { + color: var(--dark-text-primary); +} + +[data-theme='dark'] .bannerAchievements { + background: var(--dark-bg-secondary); + color: var(--dark-text-primary); + border-color: var(--dark-border); } /* Footer Styles */ @@ -751,6 +781,8 @@ table th, table td { margin-top: 60px; } +/* Footer - keeping original styling */ + .footerGrid { display: grid; grid-template-columns: 1fr 2fr 1fr; diff --git a/src/pages/badges/github-badges.tsx b/src/pages/badges/github-badges.tsx index e475b13a..b272ef90 100644 --- a/src/pages/badges/github-badges.tsx +++ b/src/pages/badges/github-badges.tsx @@ -3,6 +3,7 @@ import Head from '@docusaurus/Head'; import { motion, HTMLMotionProps } from 'framer-motion'; import type { ReactElement } from 'react'; import Layout from '@theme/Layout'; +import { useColorMode } from '@docusaurus/theme-common'; import styles from './github-badges.module.css'; type MotionDivProps = HTMLMotionProps<"div">; @@ -11,6 +12,9 @@ type MotionTrProps = HTMLMotionProps<"tr">; import Link from '@docusaurus/Link'; const GithubBadges = (): React.ReactElement => { + const { colorMode } = useColorMode(); + const isDark = colorMode === 'dark'; + // Scroll to top button logic useEffect(() => { const scrollToTopBtn = document.getElementById("scrollToTop"); @@ -43,7 +47,9 @@ const GithubBadges = (): React.ReactElement => { title="GitHub Achievements - RecodeHive" description="Explore GitHub achievements and badges" > -
+
{/* Hero section */} GitHub Achievements - RecodeHive diff --git a/src/pages/blogs/blogs.css b/src/pages/blogs/blogs.css index 2b2f860f..67feb600 100644 --- a/src/pages/blogs/blogs.css +++ b/src/pages/blogs/blogs.css @@ -39,17 +39,17 @@ --blog-transition-slow: all 0.5s cubic-bezier(0.4, 0, 0.2, 1); } -/* Dark Mode Variables */ +/* Dark Mode Variables - Using standardized colors */ [data-theme='dark'] { - --blog-text-primary: #f7fafc; - --blog-text-secondary: #e2e8f0; - --blog-text-muted: #a0aec0; - --blog-bg-primary: #1a202c; - --blog-bg-secondary: #2d3748; - --blog-bg-card: #2d3748; - --blog-border: #4a5568; - --blog-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.3), 0 2px 4px -1px rgba(0, 0, 0, 0.2); - --blog-shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, 0.4), 0 10px 10px -5px rgba(0, 0, 0, 0.2); + --blog-text-primary: var(--dark-text-primary); + --blog-text-secondary: var(--dark-text-secondary); + --blog-text-muted: var(--dark-text-muted); + --blog-bg-primary: var(--dark-bg-primary); + --blog-bg-secondary: var(--dark-bg-secondary); + --blog-bg-card: var(--dark-card-bg); + --blog-border: var(--dark-border); + --blog-shadow: var(--dark-shadow); + --blog-shadow-lg: var(--dark-shadow-lg); --blog-shadow-xl: 0 25px 50px -12px rgba(0, 0, 0, 0.5); } diff --git a/src/pages/careers/index.tsx b/src/pages/careers/index.tsx index 3cd4e624..7dd4361d 100644 --- a/src/pages/careers/index.tsx +++ b/src/pages/careers/index.tsx @@ -3,6 +3,7 @@ import Layout from "@theme/Layout"; import Head from "@docusaurus/Head"; import { motion } from "framer-motion"; import Link from "@docusaurus/Link"; +import { useColorMode } from '@docusaurus/theme-common'; // Animation variants for consistent animations const fadeIn = { @@ -124,6 +125,8 @@ const testimonials = [ ]; export default function CareersPage() { + const { colorMode } = useColorMode(); + const isDark = colorMode === 'dark'; const [activeTestimonial, setActiveTestimonial] = useState(0); useEffect(() => { @@ -146,7 +149,11 @@ export default function CareersPage() { /> -
+
{/* Hero Section */}
-

+

Our Culture & Values

-

+

We're building more than just a company—we're creating a community of learners, innovators, and leaders.

@@ -211,16 +222,22 @@ export default function CareersPage() { {cultureValues.map((value, index) => (
🚀
-

+

{value.title}

-

+

{value.description}

diff --git a/src/pages/community/community.css b/src/pages/community/community.css index fe3241d6..0288b454 100644 --- a/src/pages/community/community.css +++ b/src/pages/community/community.css @@ -7,7 +7,7 @@ } [data-theme='dark'] .community-page { - background: #121212; + background: var(--dark-bg-primary); } /* CSS Custom Properties for better browser support */ @@ -21,11 +21,11 @@ } [data-theme='dark'] { - --text-primary: #ffffff; - --text-secondary: #edf2f7; - --bg-primary: #1a1a1a; - --bg-secondary: #121212; - --border-color: #2d2d2d; + --text-primary: var(--dark-text-primary); + --text-secondary: var(--dark-text-secondary); + --bg-primary: var(--dark-bg-secondary); + --bg-secondary: var(--dark-bg-primary); + --border-color: var(--dark-border); } /* Hero Section */ diff --git a/src/pages/courses/index.tsx b/src/pages/courses/index.tsx index 62e51ea6..295b8d65 100644 --- a/src/pages/courses/index.tsx +++ b/src/pages/courses/index.tsx @@ -2,6 +2,7 @@ import React, { useState, useRef, useEffect } from "react"; import Layout from "@theme/Layout"; import Head from "@docusaurus/Head"; import { motion } from "framer-motion"; +import { useColorMode } from '@docusaurus/theme-common'; // Animation variants for consistent animations const fadeIn = { @@ -135,6 +136,9 @@ const faqs = [ ]; export default function CoursesLanding() { + const { colorMode } = useColorMode(); + const isDark = colorMode === 'dark'; + const [showAllTopics, setShowAllTopics] = useState(false); const [modal, setModal] = useState({ open: false, content: "" }); const [openFaq, setOpenFaq] = useState(null); @@ -385,13 +389,19 @@ export default function CoursesLanding() { `} -
+
{/* Modal */} {modal.open && (
-
+
-
{modal.content}
+
{modal.content}
)} {/* Hero Section */} -
- - Transform Your Career
in Data Engineering
-
- + - Master the art of data engineering with industry-leading courses designed for modern tech careers. - -
- - - - + + + +
{/* Tech Tags */} -
- {techTags.map((tag, idx) => ( - - {tag} - - ))} +
+
+ {techTags.map((tag, idx) => ( + + {tag} + + ))} +
- - {/* Partner Logos */} - -

Students now available at

-
- {partnerLogos.map((logo, idx) => ( - - ))} + {/* Partner Logos */} +
+

Students now available at

+
+ {partnerLogos.map((logo, idx) => ( + + ))} +
{/* Projects Carousel */} -
-
- - Explore over 14+ extensive projects - - -
- -
+
+
+
+ + Explore over 14+ extensive projects + + +
+
- {projects.map((img, idx) => ( -
- {`Project -
- ))} +
+ {projects.map((img, idx) => ( +
+ {`Project +
+ ))} +
-
- -
-
- {projects.map((_, idx) => (
- -
- - {/* Testimonials */} -
-
- - Kind Words from Our Students - -
- {testimonials.map((t, idx) => ( - handleInfo(t.review)} - > -
-
-
- {t.name} scrollProjects(1)} + > + > + +
+
+ {projects.map((_, idx) => ( +
-

{t.name}

-
- {Array.from({ length: t.stars }).map((_, i) => ( - - ★ - - ))} -
-

{t.review}

- - ))} + ))} +
+
- {/* Courses Timeline Section */} -
- - Courses Available - - - Courses Covered In the Program - -
- {/* Left column */} -
- {courses.filter((_, i) => i % 2 === 0).map((course, idx) => ( + {/* Testimonials */} +
+
+
+ + Kind Words from Our Students + +
+ {testimonials.map((t, idx) => ( handleCourseClick(course)} - initial={{ opacity: 0, x: -30 }} - whileInView={{ opacity: 1, x: 0 }} + key={idx} + className="courses-card group cursor-pointer flex flex-col items-center text-center" + initial={{ opacity: 0, y: 30 }} + whileInView={{ opacity: 1, y: 0 }} viewport={{ once: true }} transition={{ duration: 0.5, delay: idx * 0.1 }} + whileHover={{ scale: 1.02 }} + onClick={() => handleInfo(t.review)} > -
+
+
{course.title} -
-
-

{course.title}

-

{course.desc}

+

{t.name}

+
+ {Array.from({ length: t.stars }).map((_, i) => ( + + ★ + + ))}
- - - +

+ {t.review} +

))}
- {/* Timeline */} -
-
- {courses.map((course, idx) => ( - +
+
+ + {/* Courses Timeline Section */} +
+
+ + Courses Available + + + Courses Covered In the Program + +
+ {/* Left column */} +
+ {courses.filter((_, i) => i % 2 === 0).map((course, idx) => ( handleCourseClick(course)} + initial={{ opacity: 0, x: -30 }} + whileInView={{ opacity: 1, x: 0 }} viewport={{ once: true }} - transition={{ duration: 0.3, delay: idx * 0.1 }} + transition={{ duration: 0.5, delay: idx * 0.1 }} > -
- {course.number} +
+ {course.title} +
- {idx !== courses.length - 1 &&
} +
+

{course.title}

+

{course.desc}

+
+ + + - - ))} - handleAction("enroll")} - initial={{ opacity: 0, y: 20 }} - whileInView={{ opacity: 1, y: 0 }} - viewport={{ once: true }} - transition={{ duration: 0.5, delay: 0.8 }} - whileHover={{ y: -5 }} - whileTap={{ y: 0 }} - > - Enroll now - + ))} +
+ {/* Timeline */} +
+
+ {courses.map((course, idx) => ( + + +
+ {course.number} +
+ {idx !== courses.length - 1 &&
} +
+
+ ))} + handleAction("enroll")} + initial={{ opacity: 0, y: 20 }} + whileInView={{ opacity: 1, y: 0 }} + viewport={{ once: true }} + transition={{ duration: 0.5, delay: 0.8 }} + whileHover={{ y: -5 }} + whileTap={{ y: 0 }} + > + Enroll now + +
+ {/* Right column */} +
+ {courses.filter((_, i) => i % 2 === 1).map((course, idx) => ( + handleCourseClick(course)} + initial={{ opacity: 0, x: 30 }} + whileInView={{ opacity: 1, x: 0 }} + viewport={{ once: true }} + transition={{ duration: 0.5, delay: idx * 0.1 }} + > +
+

{course.title}

+

{course.desc}

+
+
+ {course.title} +
+
+ + + + + ))} +
+ + {/* Mobile Enroll Button */} +
+ handleAction("enroll")} + initial={{ opacity: 0, y: 20 }} + whileInView={{ opacity: 1, y: 0 }} + viewport={{ once: true }} + transition={{ duration: 0.5, delay: 0.8 }} + whileHover={{ y: -3 }} + whileTap={{ y: 0 }} + > + Enroll now + +
- {/* Right column */} -
- {courses.filter((_, i) => i % 2 === 1).map((course, idx) => ( +
+
+ + {/* Project Reviews Section */} +
+
+ + Project reviews from students + +
+ {projectReviews.map((review, idx) => ( handleCourseClick(course)} - initial={{ opacity: 0, x: 30 }} - whileInView={{ opacity: 1, x: 0 }} + key={idx} + className="courses-card flex flex-col items-center text-center cursor-pointer group" + initial={{ opacity: 0, y: 30 }} + whileInView={{ opacity: 1, y: 0 }} viewport={{ once: true }} transition={{ duration: 0.5, delay: idx * 0.1 }} + whileHover={{ scale: 1.02 }} + onClick={() => handleInfo(review.review)} > -
-

{course.title}

-

{course.desc}

-
-
+
+
{course.title} -
- - - +

{review.name}

+

+ {review.review} +

))}
- {/* Project Reviews Section */} -
- - Project reviews from students - -
- {projectReviews.map((review, idx) => ( - handleInfo(review.review)} - > - {review.name} -

{review.name}

-

{review.review}

-
- ))} -
-
- {/* Topics Tag Cloud & Community Stats */} -
- - 100+ topics taught... - - - {(showAllTopics ? topics : topics.slice(0, 20)).map((topic, idx) => ( - - {topic} - - ))} - - - - + 100+ topics taught... + + + {(showAllTopics ? topics : topics.slice(0, 20)).map((topic, idx) => ( + + {topic} + + ))} + + + + +
{/* Community Stats */} -
+
{stats.map((stat, idx) => ( -
-
- + {isStatsVisible ? animatedStats[stat.label] : 0} - {stat.suffix} + {stat.suffix} +
+
+ {stat.label}
-
{stat.label}
-
+
{/* FAQ Section */} -
- - Commonly asked questions - -
- {faqs.map((faq, idx) => ( - - -
-
- {faq.a} + {faq.q} + + + + + +
+
+ {faq.a} +
-
- - ))} + + ))} +
); -} \ No newline at end of file +} + +export default function CoursesLanding() { + return ; +} \ No newline at end of file diff --git a/src/pages/get-started/index.tsx b/src/pages/get-started/index.tsx index b444a563..873f7f07 100644 --- a/src/pages/get-started/index.tsx +++ b/src/pages/get-started/index.tsx @@ -5,6 +5,32 @@ import useDocusaurusContext from "@docusaurus/useDocusaurusContext"; import { motion, useAnimation, useInView } from "framer-motion"; import Head from '@docusaurus/Head'; import { useColorMode } from '@docusaurus/theme-common'; +import ExecutionEnvironment from '@docusaurus/ExecutionEnvironment'; + +// Safe hook for color mode that handles SSR +function useSafeColorMode() { + const [mounted, setMounted] = useState(false); + + useEffect(() => { + setMounted(true); + }, []); + + let colorMode = 'light'; + let isDark = false; + + if (mounted && ExecutionEnvironment.canUseDOM) { + try { + const { useColorMode: useColorModeHook } = require('@docusaurus/theme-common'); + const colorModeResult = useColorModeHook(); + colorMode = colorModeResult.colorMode; + isDark = colorMode === 'dark'; + } catch (error) { + console.warn('Failed to get color mode:', error); + } + } + + return { colorMode, isDark, mounted }; +} import styles from "./styles.module.css"; // Type definitions @@ -607,10 +633,9 @@ const LearningPath = ({ ); }; -export default function GetStarted() { +function GetStartedContent() { const { siteConfig } = useDocusaurusContext(); - const { colorMode } = useColorMode(); - const isDark = colorMode === 'dark'; + const { colorMode, isDark, mounted } = useSafeColorMode(); type CompletedPaths = Record; const [completedPaths, setCompletedPaths] = useState(() => { @@ -861,3 +886,7 @@ export default function GetStarted() { ); } + +export default function GetStarted() { + return ; +} diff --git a/src/pages/our-sponsors/Sponsors.css b/src/pages/our-sponsors/Sponsors.css index 77e6cf49..4c8e2b72 100644 --- a/src/pages/our-sponsors/Sponsors.css +++ b/src/pages/our-sponsors/Sponsors.css @@ -4,6 +4,11 @@ margin: 0 auto; } +[data-theme='dark'] .sponsor-page { + background: var(--dark-bg-primary); + color: var(--dark-text-primary); +} + .sponsor-page .sponsor-header { text-align: center; margin-bottom: 2rem; @@ -28,6 +33,10 @@ padding-bottom: 0.5rem; } +[data-theme='dark'] .tabs { + border-bottom-color: var(--dark-border); +} + .tab-button { padding: 0.75rem 1.5rem; margin: 0 0.5rem; @@ -45,6 +54,10 @@ gap: 8px; } +[data-theme='dark'] .tab-button { + color: var(--dark-text-secondary); +} + .tab-button.active { color: #4f46e5; } @@ -118,6 +131,11 @@ align-items: center; } +[data-theme='dark'] .sponsor-page .sponsor-card { + background: var(--dark-card-bg); + border-color: var(--dark-border); +} + .sponsor-page .sponsor-card::before { position: absolute; top: 0; @@ -158,6 +176,10 @@ color: #111827; } +[data-theme='dark'] .sponsor-page .sponsor-card .sponsor-name { + color: var(--dark-text-primary); +} + .sponsor-page .sponsor-card .sponsor-desc { font-size: 0.95rem; color: #4b5563; @@ -165,6 +187,10 @@ line-height: 1.4; } +[data-theme='dark'] .sponsor-page .sponsor-card .sponsor-desc { + color: var(--dark-text-secondary); +} + .sponsor-page .sponsor-card .social-links { display: flex; justify-content: center; @@ -294,6 +320,11 @@ background: white; } +[data-theme='dark'] .scanner-content { + background: var(--dark-bg-secondary); + color: var(--dark-text-primary); +} + .sponsors-section { margin-top: 2rem; } diff --git a/src/pages/podcasts/index.css b/src/pages/podcasts/index.css index a7bd1c71..fbfdc72f 100644 --- a/src/pages/podcasts/index.css +++ b/src/pages/podcasts/index.css @@ -11,11 +11,19 @@ text-align: center; } +[data-theme='dark'] .podcast-subtitle { + color: var(--dark-text-secondary); +} + h1 { text-align: center; margin-bottom: 1rem; } +[data-theme='dark'] h1 { + color: var(--dark-text-primary); +} + .podcast-grid { display: grid; grid-template-columns: repeat(3, 1fr); @@ -31,10 +39,19 @@ h1 { transition: transform 0.2s ease; } +[data-theme='dark'] .podcast-card { + background: var(--dark-card-bg); + box-shadow: var(--dark-shadow); +} + .podcast-card:hover { transform: translateY(-4px); } +[data-theme='dark'] .podcast-card:hover { + box-shadow: var(--dark-shadow-lg); +} + .podcast-content { height: 100%; } @@ -51,6 +68,10 @@ h1 { color: #333; } +[data-theme='dark'] .podcast-info h3 { + color: var(--dark-text-primary); +} + .podcast-description { font-size: 0.9rem; color: #666; @@ -65,6 +86,10 @@ h1 { text-overflow: ellipsis; } +[data-theme='dark'] .podcast-description { + color: var(--dark-text-secondary); +} + .podcast-publisher { font-size: 0.8rem; color: #888; @@ -72,6 +97,10 @@ h1 { font-style: italic; } +[data-theme='dark'] .podcast-publisher { + color: var(--dark-text-muted); +} + .podcast-embed { height: 100%; border-radius: 0 0 12px 12px; @@ -166,11 +195,20 @@ h1 { box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); } +[data-theme='dark'] .podcast-transcript { + background: var(--dark-card-bg); + box-shadow: var(--dark-shadow); +} + .podcast-transcript h2 { margin-bottom: 1rem; color: #333; } +[data-theme='dark'] .podcast-transcript h2 { + color: var(--dark-text-primary); +} + .podcast-card { cursor: pointer; } diff --git a/src/pages/showcase/styles.module.css b/src/pages/showcase/styles.module.css index adca91cc..b8c0987b 100644 --- a/src/pages/showcase/styles.module.css +++ b/src/pages/showcase/styles.module.css @@ -32,6 +32,10 @@ margin-right: 0.5rem; } +[data-theme='dark'] .checkboxListItem { + color: var(--dark-text-primary); +} + .checkboxListItem:last-child { margin-right: 0; } @@ -47,6 +51,16 @@ border: 1px solid gray; } +[data-theme='dark'] .searchContainer input { + background: var(--dark-input-bg); + border-color: var(--dark-input-border); + color: var(--dark-text-primary); +} + +[data-theme='dark'] .searchContainer input:focus { + border-color: var(--dark-input-focus-border); +} + .showcaseList { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); diff --git a/src/theme/Footer/Layout/enhanced-footer.css b/src/theme/Footer/Layout/enhanced-footer.css index a2cbb49d..9194553c 100644 --- a/src/theme/Footer/Layout/enhanced-footer.css +++ b/src/theme/Footer/Layout/enhanced-footer.css @@ -7,24 +7,159 @@ overflow: hidden; } -/* Override ALL possible Docusaurus and theme styles */ +/* Override ALL possible Docusaurus and theme styles with maximum specificity */ .enhanced-footer, .enhanced-footer *, +.enhanced-footer h1, +.enhanced-footer h2, +.enhanced-footer h3, +.enhanced-footer h4, +.enhanced-footer h5, +.enhanced-footer h6, +.enhanced-footer p, +.enhanced-footer span, +.enhanced-footer div, +.enhanced-footer a, +.enhanced-footer li, +.enhanced-footer ul, +.enhanced-footer button, +.enhanced-footer input, [data-theme='dark'] .enhanced-footer, [data-theme='light'] .enhanced-footer, html[data-theme='dark'] .enhanced-footer, html[data-theme='light'] .enhanced-footer, [data-theme='dark'] .enhanced-footer *, [data-theme='light'] .enhanced-footer *, +[data-theme='dark'] .enhanced-footer h1, +[data-theme='dark'] .enhanced-footer h2, +[data-theme='dark'] .enhanced-footer h3, +[data-theme='dark'] .enhanced-footer h4, +[data-theme='dark'] .enhanced-footer h5, +[data-theme='dark'] .enhanced-footer h6, +[data-theme='dark'] .enhanced-footer p, +[data-theme='dark'] .enhanced-footer span, +[data-theme='dark'] .enhanced-footer div, +[data-theme='dark'] .enhanced-footer a, +[data-theme='dark'] .enhanced-footer li, +[data-theme='dark'] .enhanced-footer ul, +[data-theme='dark'] .enhanced-footer button, +[data-theme='dark'] .enhanced-footer input, +[data-theme='light'] .enhanced-footer h1, +[data-theme='light'] .enhanced-footer h2, +[data-theme='light'] .enhanced-footer h3, +[data-theme='light'] .enhanced-footer h4, +[data-theme='light'] .enhanced-footer h5, +[data-theme='light'] .enhanced-footer h6, +[data-theme='light'] .enhanced-footer p, +[data-theme='light'] .enhanced-footer span, +[data-theme='light'] .enhanced-footer div, +[data-theme='light'] .enhanced-footer a, +[data-theme='light'] .enhanced-footer li, +[data-theme='light'] .enhanced-footer ul, +[data-theme='light'] .enhanced-footer button, +[data-theme='light'] .enhanced-footer input, html[data-theme='dark'] .enhanced-footer *, html[data-theme='light'] .enhanced-footer * { background-color: inherit !important; color: inherit !important; } -/* Force the main footer background to never change */ +/* Force the main footer background and colors to never change */ .enhanced-footer { background: linear-gradient(135deg, #0f0f23 0%, #1a1a2e 25%, #16213e 50%, #0f3460 75%, #533483 100%) !important; + color: #e2e8f0 !important; +} + +/* Absolute protection against any theme changes */ +[data-theme='dark'] .enhanced-footer, +[data-theme='light'] .enhanced-footer, +html[data-theme='dark'] .enhanced-footer, +html[data-theme='light'] .enhanced-footer { + background: linear-gradient(135deg, #0f0f23 0%, #1a1a2e 25%, #16213e 50%, #0f3460 75%, #533483 100%) !important; + color: #e2e8f0 !important; +} + +/* Force all text elements to maintain their colors */ +[data-theme='dark'] .enhanced-footer h1, +[data-theme='dark'] .enhanced-footer h2, +[data-theme='dark'] .enhanced-footer h3, +[data-theme='dark'] .enhanced-footer h4, +[data-theme='dark'] .enhanced-footer h5, +[data-theme='dark'] .enhanced-footer h6, +[data-theme='light'] .enhanced-footer h1, +[data-theme='light'] .enhanced-footer h2, +[data-theme='light'] .enhanced-footer h3, +[data-theme='light'] .enhanced-footer h4, +[data-theme='light'] .enhanced-footer h5, +[data-theme='light'] .enhanced-footer h6 { + color: #ffffff !important; +} + +[data-theme='dark'] .enhanced-footer p, +[data-theme='dark'] .enhanced-footer span, +[data-theme='dark'] .enhanced-footer div, +[data-theme='dark'] .enhanced-footer li, +[data-theme='light'] .enhanced-footer p, +[data-theme='light'] .enhanced-footer span, +[data-theme='light'] .enhanced-footer div, +[data-theme='light'] .enhanced-footer li { + color: #e2e8f0 !important; +} + +[data-theme='dark'] .enhanced-footer a, +[data-theme='light'] .enhanced-footer a { + color: #cbd5e1 !important; +} + +[data-theme='dark'] .enhanced-footer a:hover, +[data-theme='light'] .enhanced-footer a:hover { + color: #ffffff !important; +} + +/* Specific protection for footer elements */ +[data-theme='dark'] .enhanced-footer .footer-brand-title, +[data-theme='light'] .enhanced-footer .footer-brand-title { + color: #ffffff !important; +} + +[data-theme='dark'] .enhanced-footer .footer-column-title, +[data-theme='light'] .enhanced-footer .footer-column-title { + color: #ffffff !important; +} + +[data-theme='dark'] .enhanced-footer .footer-link, +[data-theme='light'] .enhanced-footer .footer-link { + color: #cbd5e1 !important; +} + +[data-theme='dark'] .enhanced-footer .footer-link:hover, +[data-theme='light'] .enhanced-footer .footer-link:hover { + color: #ffffff !important; +} + +[data-theme='dark'] .enhanced-footer .footer-copyright, +[data-theme='light'] .enhanced-footer .footer-copyright { + color: #94a3b8 !important; +} + +[data-theme='dark'] .enhanced-footer .developer-link, +[data-theme='light'] .enhanced-footer .developer-link { + color: #fbbf24 !important; +} + +[data-theme='dark'] .enhanced-footer .developer-link:hover, +[data-theme='light'] .enhanced-footer .developer-link:hover { + color: #f59e0b !important; +} + +[data-theme='dark'] .enhanced-footer .legal-link, +[data-theme='light'] .enhanced-footer .legal-link { + color: #94a3b8 !important; +} + +[data-theme='dark'] .enhanced-footer .legal-link:hover, +[data-theme='light'] .enhanced-footer .legal-link:hover { + color: #ffffff !important; } /* Add animated background pattern */ From 13737835e50cc45672c6540b9a20006dee2969b5 Mon Sep 17 00:00:00 2001 From: YourGitHubUsername Date: Thu, 7 Aug 2025 15:23:50 +0530 Subject: [PATCH 3/3] fixed some bugs related to theme --- src/css/custom.css | 22 +++++++++++----------- src/pages/badges/github-badges.module.css | 16 +++++++--------- src/pages/community/community.css | 3 ++- 3 files changed, 20 insertions(+), 21 deletions(-) diff --git a/src/css/custom.css b/src/css/custom.css index b5d05a1d..54bd2e0d 100644 --- a/src/css/custom.css +++ b/src/css/custom.css @@ -181,16 +181,16 @@ color: transparent; } -/* Light mode background and text fix */ -[data-theme='light'] { +/* Light mode background and text fix - EXCLUDE community page */ +[data-theme='light'] body:not(:has(.community-page)) { --ifm-background-color: #ffffff; /* white background */ --ifm-font-color-base: #000000; /* black text */ background-color: var(--ifm-background-color); color: var(--ifm-font-color-base); } -/* Dark mode overrides (already there, ensure it's working) */ -[data-theme='dark'] { +/* Dark mode overrides - EXCLUDE community page */ +[data-theme='dark'] body:not(:has(.community-page)) { background-color: var(--dark-bg-primary); color: var(--dark-text-primary); } @@ -357,26 +357,26 @@ /* ===== DOCUSAURUS DOCUMENTATION PAGES DARK THEME ===== */ -/* Main documentation layout */ -[data-theme='dark'] .main-wrapper { +/* Main documentation layout - EXCLUDE community page */ +[data-theme='dark'] body:not(:has(.community-page)) .main-wrapper { background-color: var(--dark-bg-primary) !important; color: var(--dark-text-primary) !important; } -[data-theme='dark'] .docusaurus-wrapper { +[data-theme='dark'] body:not(:has(.community-page)) .docusaurus-wrapper { background-color: var(--dark-bg-primary) !important; } -/* Documentation content area */ -[data-theme='dark'] .container { +/* Documentation content area - EXCLUDE community page */ +[data-theme='dark'] body:not(:has(.community-page)) .container { background-color: var(--dark-bg-primary) !important; } -[data-theme='dark'] .row { +[data-theme='dark'] body:not(:has(.community-page)) .row { background-color: var(--dark-bg-primary) !important; } -[data-theme='dark'] .col { +[data-theme='dark'] body:not(:has(.community-page)) .col { background-color: var(--dark-bg-primary) !important; } diff --git a/src/pages/badges/github-badges.module.css b/src/pages/badges/github-badges.module.css index afe449a7..3c139175 100644 --- a/src/pages/badges/github-badges.module.css +++ b/src/pages/badges/github-badges.module.css @@ -1,12 +1,4 @@ -body{ - background-color: #fff; -} - -/* Dark theme body override */ -[data-theme='dark'] body { - background-color: var(--dark-bg-primary) !important; - color: var(--dark-text-primary) !important; -} +/* GitHub badges page styling - light theme */ .github-badges-page { background: #f6f5f5; border-radius: 18px; @@ -15,6 +7,12 @@ body{ margin-top: 24px; } +/* Dark theme body override - EXCLUDE community page */ +[data-theme='dark'] body:not(:has(.community-page)) { + background-color: var(--dark-bg-primary) !important; + color: var(--dark-text-primary) !important; +} + /* Dark theme for main page container */ [data-theme='dark'] .github-badges-page { background: var(--dark-bg-secondary) !important; diff --git a/src/pages/community/community.css b/src/pages/community/community.css index 0288b454..d722d320 100644 --- a/src/pages/community/community.css +++ b/src/pages/community/community.css @@ -6,8 +6,9 @@ transition: background-color 0.3s ease; } +/* Community page should maintain its own background regardless of theme */ [data-theme='dark'] .community-page { - background: var(--dark-bg-primary); + background: transparent; } /* CSS Custom Properties for better browser support */