diff --git a/src/Pages/BasicPage.js b/src/Pages/BasicPage.js
index 8991085..c604791 100644
--- a/src/Pages/BasicPage.js
+++ b/src/Pages/BasicPage.js
@@ -1,17 +1,16 @@
import React, {useState, useEffect} from 'react';
import parse from 'html-react-parser'
+import { useTheme } from '../ThemeContext';
// import ScrollSpy from '../UI/ScrollSpy';
const BasicPage = (props) => {
- const [theme, setTheme] = useState(
- localStorage.getItem('theme') || 'light'
- );
-
const [error, setError] = useState(null);
const [isLoaded, setIsLoaded] = useState(false);
const [items, setItems] = useState([]);
+ const { theme } = useTheme();
+
useEffect(() => {
fetch("http://localhost:5218/page/" + props.id)
.then(res => res.json())
diff --git a/src/ThemeContext.js b/src/ThemeContext.js
new file mode 100644
index 0000000..e5d1e8d
--- /dev/null
+++ b/src/ThemeContext.js
@@ -0,0 +1,20 @@
+import React, { createContext, useContext, useState } from 'react';
+
+const ThemeContext = createContext();
+
+export function ThemeProvider({ children }) {
+ const [theme, setTheme] = useState(
+ localStorage.getItem('theme') || 'dark'
+ // document.body.className = theme;
+ );
+
+ return (
+
+ {children}
+
+ );
+}
+
+export function useTheme() {
+ return useContext(ThemeContext);
+}
diff --git a/src/UI/Footer.js b/src/UI/Footer.js
index fa482f7..49f263b 100644
--- a/src/UI/Footer.js
+++ b/src/UI/Footer.js
@@ -1,17 +1,10 @@
-import React, {useEffect, useState} from 'react';
-
+import React from 'react';
+import { useTheme } from '../ThemeContext';
import './Footer.css';
-const Footer = (props) => {
- const [theme, setTheme] = useState(
- localStorage.getItem('theme') || 'light'
- );
-
- useEffect(() => {
- localStorage.setItem('theme', theme);
- document.body.className = theme;
- }, [theme]);
+const Footer = () => {
+ const { theme } = useTheme();
return (