From fdfd1e98fca31857d2aeb3455e34a7a1e6a3b368 Mon Sep 17 00:00:00 2001 From: Roland Date: Wed, 28 Sep 2022 09:38:05 -0600 Subject: [PATCH] Moving main ThemeContext.Provider into Theme module. Using live elapsed timers on Downloads page. --- app/src/App.js | 44 ++-------------- app/src/components/Admin.js | 21 ++++---- app/src/components/Archive.js | 2 +- app/src/components/Common.js | 84 +++++++++++++++++++++++++------ app/src/components/Files.js | 4 +- app/src/components/Theme.js | 44 +++++++++++++++- app/src/components/VideoPlayer.js | 30 ++++++----- app/src/components/Videos.js | 5 +- app/src/hooks/customHooks.js | 20 ++++++-- 9 files changed, 163 insertions(+), 91 deletions(-) diff --git a/app/src/App.js b/app/src/App.js index 9f325a60..1e8c224f 100644 --- a/app/src/App.js +++ b/app/src/App.js @@ -1,4 +1,4 @@ -import React, {useContext, useEffect, useState} from 'react'; +import React, {useContext, useState} from 'react'; import './App.css'; import {NavBar} from "./components/Nav"; import {Link, Route, Routes} from "react-router-dom"; @@ -16,8 +16,8 @@ import {LoadStatistic, PageContainer, SearchInput, useTitle} from "./components/ import {FilesRoute, FilesSearchView} from "./components/Files"; import {useSearchFiles, useSettingsInterval, useStatus} from "./hooks/customHooks"; import {MapRoute} from "./components/Map"; -import {darkTheme, lightTheme, SettingsContext, ThemeContext} from "./contexts/contexts"; -import {Header, Segment, Statistic, StatisticGroup} from "./components/Theme"; +import {SettingsContext, ThemeContext} from "./contexts/contexts"; +import {Header, Segment, Statistic, StatisticGroup, ThemeWrapper} from "./components/Theme"; function Dashboard() { useTitle('Dashboard'); @@ -119,42 +119,8 @@ function Footer() { export default function App() { const {settings} = useSettingsInterval(); - const [i, setI] = useState({}); - const [s, setS] = useState({}); - const [t, setT] = useState({}); - const [theme, setTheme] = useState(); - - const setDarkTheme = () => { - console.debug('setDarkTheme'); - setI({inverted: true}); - setS({style: {backgroundColor: '#1B1C1D', color: '#dddddd'}}); - setT({style: {color: '#dddddd'}}); - setTheme(darkTheme); - document.body.style.background = '#1B1C1D'; - } - - const setLightTheme = () => { - console.debug('setLightTheme'); - setI({inverted: undefined}); - setS({}); - setT({}); - setTheme(lightTheme); - document.body.style.background = '#FFFFFF'; - } - - useEffect(() => { - window.matchMedia('(prefers-color-scheme: dark)').matches && setDarkTheme(); - - window.matchMedia('(prefers-color-scheme: dark)').addEventListener( - 'change', (e) => e.matches && setDarkTheme()); - window.matchMedia('(prefers-color-scheme: light)').addEventListener( - 'change', (e) => e.matches && setLightTheme()); - }, []); - - const themeValue = {i, s, t, theme, setDarkTheme, setLightTheme}; - return ( - +
@@ -177,6 +143,6 @@ export default function App() {