diff --git a/src/pages/More.tsx b/src/pages/More.tsx index eac4ca39..305ff4ad 100644 --- a/src/pages/More.tsx +++ b/src/pages/More.tsx @@ -20,6 +20,7 @@ const MorePage: React.FC = () => { const [pagesByCategory, setPagesByCategory] = useState< Record >({}); + const [isDarkMode, setIsDarkMode] = useState(false); const [activeCategory, setActiveCategory] = useState('All'); const [notFoundSlug, setNotFoundSlug] = useState(null); const [zoomableImages, setZoomableImages] = useState([]); @@ -28,6 +29,20 @@ const MorePage: React.FC = () => { alt: string; } | null>(null); + useEffect(() => { + const dark = document.documentElement.classList.contains('dark'); + setIsDarkMode(dark); + + const observer = new MutationObserver(() => { + const updatedDark = document.documentElement.classList.contains('dark'); + setIsDarkMode(updatedDark); + }); + + observer.observe(document.documentElement, { attributes: true }); + + return () => observer.disconnect(); + }, []); + useEffect(() => { const loadPage = async () => { setIsLoading(true); @@ -45,7 +60,7 @@ const MorePage: React.FC = () => { if (fetchedPage) { setPage(fetchedPage); setNotFoundSlug(null); - document.title = fetchedPage.title + ' - Sugar Labs'; + document.title = `${fetchedPage.title} - Sugar Labs`; if (fetchedPage.category) { setActiveCategory(fetchedPage.category); @@ -132,7 +147,11 @@ const MorePage: React.FC = () => { className="text-blue-600 hover:underline mb-2 inline-block" > @@ -184,7 +203,7 @@ const MorePage: React.FC = () => {

{activeCategory === 'All' ? 'All Pages' - : activeCategory + ' Pages'} + : `${activeCategory} Pages`}

    {pagesByCategory[activeCategory]?.map((linkPage) => ( @@ -213,7 +232,11 @@ const MorePage: React.FC = () => { transition={{ duration: 0.5 }} key={page?.slug} > -
    +
    {page ? (
    {