diff --git a/week4/exercises/exercise 1 - context/src/App.jsx b/week4/exercises/exercise 1 - context/src/App.jsx index 5e58467..9b53a4f 100644 --- a/week4/exercises/exercise 1 - context/src/App.jsx +++ b/week4/exercises/exercise 1 - context/src/App.jsx @@ -1,6 +1,7 @@ import { useState } from 'react'; import Navbar from './components/Navbar.jsx'; import Page from './components/Page.jsx'; +import { ThemeContext } from './contexts/ThemeContext.jsx'; import './index.css'; export default function App() { @@ -11,12 +12,14 @@ export default function App() { } return ( -
- - -
+ +
+ + +
+
); } diff --git a/week4/exercises/exercise 1 - context/src/components/ArticleCard.jsx b/week4/exercises/exercise 1 - context/src/components/ArticleCard.jsx index cc090fa..9d9799d 100644 --- a/week4/exercises/exercise 1 - context/src/components/ArticleCard.jsx +++ b/week4/exercises/exercise 1 - context/src/components/ArticleCard.jsx @@ -1,6 +1,9 @@ +import { useContext } from 'react'; import Heading from './Heading.jsx'; +import { ThemeContext } from '../contexts/ThemeContext.jsx'; -export default function ArticleCard({ article, isDark }) { +export default function ArticleCard({ article }) { + const { isDark } = useContext(ThemeContext); const accent = isDark ? '#e94560' : '#4f46e5'; return ( @@ -14,7 +17,7 @@ export default function ArticleCard({ article, isDark }) { }} >
- {article.title} + {article.title} {article.tag}

{article.summary}

diff --git a/week4/exercises/exercise 1 - context/src/components/Heading.jsx b/week4/exercises/exercise 1 - context/src/components/Heading.jsx index 04de4e4..065df03 100644 --- a/week4/exercises/exercise 1 - context/src/components/Heading.jsx +++ b/week4/exercises/exercise 1 - context/src/components/Heading.jsx @@ -1,9 +1,13 @@ +import { useContext } from 'react'; +import { ThemeContext } from '../contexts/ThemeContext.jsx'; + const colors = { light: { color: '#111111' }, dark: { color: '#ffffff' }, }; -export default function Heading({ level = 2, isDark, children }) { +export default function Heading({ level = 2, children }) { + const { isDark } = useContext(ThemeContext); const Tag = `h${level}`; return ( diff --git a/week4/exercises/exercise 1 - context/src/components/Navbar.jsx b/week4/exercises/exercise 1 - context/src/components/Navbar.jsx index 6fff7f4..6b0c3de 100644 --- a/week4/exercises/exercise 1 - context/src/components/Navbar.jsx +++ b/week4/exercises/exercise 1 - context/src/components/Navbar.jsx @@ -1,4 +1,9 @@ -export default function Navbar({ isDark, onToggle }) { +import { useContext } from 'react'; +import { ThemeContext } from '../contexts/ThemeContext.jsx'; + +export default function Navbar() { + const { isDark, toggleTheme } = useContext(ThemeContext); + return (