From 6ae389b7f5a53a46a7010ee5891416e62239df37 Mon Sep 17 00:00:00 2001 From: Veneiro <50624734+Veneiro@users.noreply.github.com> Date: Mon, 29 Apr 2024 14:48:16 +0200 Subject: [PATCH 1/6] dark mode --- package-lock.json | 12 +-- webapp/public/KaWD.png | Bin 0 -> 35060 bytes webapp/public/KaWDark.png | Bin 0 -> 23571 bytes webapp/public/KaW_D.png | Bin 0 -> 23009 bytes webapp/src/components/Header/Header.css | 8 +- webapp/src/components/Header/Header.js | 17 +++- webapp/src/context/SettingsContext.js | 21 ++++- webapp/src/index.css | 107 +++++++++++++++++++++++- webapp/src/pages/Game/Game.css | 2 +- webapp/src/pages/Home/Home.css | 10 +++ webapp/src/pages/Home/Home.js | 7 +- 11 files changed, 159 insertions(+), 25 deletions(-) create mode 100644 webapp/public/KaWD.png create mode 100644 webapp/public/KaWDark.png create mode 100644 webapp/public/KaW_D.png diff --git a/package-lock.json b/package-lock.json index e3e9bf88..0416f71d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2,15 +2,5 @@ "name": "wiq_en3b", "lockfileVersion": 3, "requires": true, - "packages": { - "node_modules/nvm": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/nvm/-/nvm-0.0.4.tgz", - "integrity": "sha512-jvmyELykYcdyd0VCGY0E8Aqe5MngEasVvlPvrcJHbwBMUbVqa72mPdQuPzyTcykEtEx7jDrMY0QA5MoV+8EhgA==", - "deprecated": "This is NOT the correct nvm. Visit https://nvm.sh and use the curl command to install it.", - "bin": { - "nvm": "bin/nvm" - } - } - } + "packages": {} } diff --git a/webapp/public/KaWD.png b/webapp/public/KaWD.png new file mode 100644 index 0000000000000000000000000000000000000000..ab665115817462030737f7b84c70c4ca47743046 GIT binary patch literal 35060 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 literal 0 HcmV?d00001 diff --git a/webapp/public/KaW_D.png b/webapp/public/KaW_D.png new file mode 100644 index 0000000000000000000000000000000000000000..7cf282738c9c59d7a034eb66f547f2949cae2e2a GIT binary patch literal 23009 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 { // const {t} = useTranslation(); + const { toggleTheme } = useContext(SettingsContext); const languages = [ @@ -35,15 +37,24 @@ const Header = props => { const [showVolumeSlider, setShowVolumeSlider] = useState(false); + useEffect(() => { + localStorage.setItem('theme', props.theme); + }, [props.theme]); + + const handleClick = (event) => { + props.onChangeTheme(); + toggleTheme(); + } + return (
- Logo of Know and Win APP + Logo of Know and Win APP
-
{ if (event.key === 'Enter' || event.key === ' ') { props.onChangeTheme(); diff --git a/webapp/src/context/SettingsContext.js b/webapp/src/context/SettingsContext.js index de63abe7..56f9a5e4 100644 --- a/webapp/src/context/SettingsContext.js +++ b/webapp/src/context/SettingsContext.js @@ -7,23 +7,36 @@ export const SettingsContext = createContext() export function SettingsProvider({ children }) { const [settings, setSettings] = useLocalStorage('settings', { time: DEFAULT_TIME, + theme: 'light', }) const changeTimeTo = useCallback( newTime => { - setSettings({ + const newSettings = { + ...settings, time: newTime, - }) + }; + setSettings(newSettings); }, - [setSettings] + [settings, setSettings] ) + + const toggleTheme = useCallback(() => { + const newSettings = { + ...settings, + theme: settings.theme === 'light' ? 'dark' : 'light', + }; + setSettings(newSettings); + }, [settings, setSettings]) const value = useMemo( () => ({ time: settings.time, + theme: settings.theme, changeTimeTo, + toggleTheme, }), - [settings.time, changeTimeTo] + [settings.time, settings.theme, changeTimeTo, toggleTheme] ) return ( diff --git a/webapp/src/index.css b/webapp/src/index.css index 5bb2fa68..e147053d 100644 --- a/webapp/src/index.css +++ b/webapp/src/index.css @@ -10,6 +10,8 @@ --dark-gray: #121212; --black: #000; --gray: #252525; + --light-gray: #252525; + --almost-dark-gray: #1c1c1c; } #root > div { @@ -51,11 +53,23 @@ main { } .dark .selected-language{ - background-color: var(--dark-gray); + background-color: var(--almost-dark-gray); + color: #747ae7; +} + +.dark .selected-language:hover{ + background-color: var(--light-gray); + color: #747ae7; } .dark .language-options { - background-color: var(--dark-gray); + background-color: var(--almost-dark-gray); + color: #747ae7; +} + +.dark .language-option:hover { + background-color: var(--light-gray); + color: #747ae7; } .dark .volume-slider-container { @@ -67,13 +81,28 @@ main { } .dark .nav-link:hover { - color: #4f6fdd; + background-color: var(--light-gray); } .dark .nav-link-icon { fill: #fff; } +.dark .button:hover { + background-color: #fff; + color: #747ae7; +} + +.dark .sound:hover { + background-color: var(--light-gray); + color: #747ae7; +} + +.dark .theme:hover { + background-color: var(--light-gray); + color: #747ae7; +} + .dark .answer-item:hover { background-color: var(--dark-gray); border-color: var(--dark-gray); @@ -118,6 +147,54 @@ main { color: #747ae7; } +.dark .swipe { + background-color: var(--dark-gray); + color: #747ae7; +} + +.dark .swipe:hover { + background-color: var(--dark-gray); + color: red; +} + +.dark .profile-title { + color: #747ae7; +} + +.dark .bio-textarea { + background-color: var(--light-gray); + color: #fff; +} + +.dark .profile-header{ + border: 2px solid #fff; +} + +.dark tr { + background-color: var(--dark-gray); + color: #fff; +} + +.dark tr th { + background-color: var(--dark-gray); + color: #fff; +} + +.dark td { + background-color: var(--dark-gray); + color: #fff; +} + +.dark td a{ + background-color: var(--dark-gray); + color: #fff; +} + +.dark td a:hover{ + background-color: var(--dark-gray); + color: #747ae7; +} + .app-layout-container > div:first-child { position: absolute; bottom: 20px; @@ -130,3 +207,27 @@ main { right: -5px; } } + +.dark input[type=range]{ + background: transparent; +} + +.dark input[type=range]::-webkit-slider-thumb{ + background: #747ae7; +} + +.dark input[type=range]::-webkit-slider-runnable-track{ + background: #747ae7; +} + +.dark strong { + color: #747ae7; +} + +.dark h1 { + color: #747ae7; +} + +.dark h2 { + color: #747ae7; +} diff --git a/webapp/src/pages/Game/Game.css b/webapp/src/pages/Game/Game.css index b1d9a49b..8e7298c0 100644 --- a/webapp/src/pages/Game/Game.css +++ b/webapp/src/pages/Game/Game.css @@ -21,4 +21,4 @@ h2 { .quiz-mode-description { max-width: 50ch; text-align: center; -} +} \ No newline at end of file diff --git a/webapp/src/pages/Home/Home.css b/webapp/src/pages/Home/Home.css index 2b168f32..f7e267ed 100644 --- a/webapp/src/pages/Home/Home.css +++ b/webapp/src/pages/Home/Home.css @@ -119,4 +119,14 @@ .btn:-webkit-any-link { text-decoration: none !important; +} + +.swipe { + color: #747ae7; + font-weight: bold; +} + +.swipe:hover { + color: red; + font-weight: bold; } \ No newline at end of file diff --git a/webapp/src/pages/Home/Home.js b/webapp/src/pages/Home/Home.js index 3850de84..71467eba 100644 --- a/webapp/src/pages/Home/Home.js +++ b/webapp/src/pages/Home/Home.js @@ -1,10 +1,11 @@ -import { useEffect } from 'react' +import { useEffect, useContext } from 'react' import { useAuth } from '../../hooks/useAuth' import { useNavigate } from 'react-router-dom' import { Link } from 'react-router-dom' import './Home.css' import { useTranslation } from 'react-i18next' +import { SettingsContext } from '../../context/SettingsContext' function Home() { const navigate = useNavigate() @@ -12,6 +13,8 @@ function Home() { const { t } = useTranslation() + const { theme } = useContext(SettingsContext) + useEffect(() => { if (!user) { navigate('/login') @@ -22,7 +25,7 @@ function Home() {
{user ? ( <> - Logo of Know and Win APP + Logo of Know and Win APP
{t("home.welcome")} {user.username}
From a7164dc015c05311967bd3097477f2f4fffa117c Mon Sep 17 00:00:00 2001 From: Veneiro <50624734+Veneiro@users.noreply.github.com> Date: Mon, 29 Apr 2024 16:34:23 +0200 Subject: [PATCH 2/6] fix, still a problem with an image --- webapp/src/App.js | 2 +- webapp/src/components/Header/Header.js | 15 ++------------- webapp/src/pages/Home/Home.js | 10 +++++----- 3 files changed, 8 insertions(+), 19 deletions(-) diff --git a/webapp/src/App.js b/webapp/src/App.js index fdf9317b..029a1a9e 100644 --- a/webapp/src/App.js +++ b/webapp/src/App.js @@ -27,7 +27,7 @@ function App() { }> - }> + }> }> }> } /> diff --git a/webapp/src/components/Header/Header.js b/webapp/src/components/Header/Header.js index 0409fdc5..9b690e89 100644 --- a/webapp/src/components/Header/Header.js +++ b/webapp/src/components/Header/Header.js @@ -1,4 +1,4 @@ -import React, { useState, useEffect, useContext } from 'react'; +import React, { useState } from 'react'; import { Link } from 'react-router-dom'; import { ReactComponent as BarIcon } from "../../assets/bars-solid.svg"; import { ReactComponent as SunIcon } from "../../assets/sun-solid.svg"; @@ -8,12 +8,10 @@ import Slider from "../../components/Slider/ContinuousSlider"; import "./Header.css"; import LanguageSelector from '../../components/LanguageSelector/LanguageSelector'; // import { useTranslation } from 'react-i18next'; -import { SettingsContext } from '../../context/SettingsContext'; const Header = props => { // const {t} = useTranslation(); - const { toggleTheme } = useContext(SettingsContext); const languages = [ @@ -37,15 +35,6 @@ const Header = props => { const [showVolumeSlider, setShowVolumeSlider] = useState(false); - useEffect(() => { - localStorage.setItem('theme', props.theme); - }, [props.theme]); - - const handleClick = (event) => { - props.onChangeTheme(); - toggleTheme(); - } - return (
@@ -54,7 +43,7 @@ const Header = props => {
-
{ if (event.key === 'Enter' || event.key === ' ') { props.onChangeTheme(); diff --git a/webapp/src/pages/Home/Home.js b/webapp/src/pages/Home/Home.js index 71467eba..70c5f96d 100644 --- a/webapp/src/pages/Home/Home.js +++ b/webapp/src/pages/Home/Home.js @@ -1,31 +1,31 @@ -import { useEffect, useContext } from 'react' +import { useEffect } from 'react' import { useAuth } from '../../hooks/useAuth' import { useNavigate } from 'react-router-dom' import { Link } from 'react-router-dom' import './Home.css' import { useTranslation } from 'react-i18next' -import { SettingsContext } from '../../context/SettingsContext' +import { useTheme } from '../../hooks/useTheme'; function Home() { const navigate = useNavigate() const { user } = useAuth() const { t } = useTranslation() - - const { theme } = useContext(SettingsContext) + const { theme } = useTheme(); useEffect(() => { if (!user) { navigate('/login') } }, [user, navigate]) + return (
{user ? ( <> - Logo of Know and Win APP + Logo of Know and Win APP
{t("home.welcome")} {user.username}
From b587cae3036fef94d5a5f5540363bf872846233f Mon Sep 17 00:00:00 2001 From: Veneiro <50624734+Veneiro@users.noreply.github.com> Date: Mon, 29 Apr 2024 17:38:46 +0200 Subject: [PATCH 3/6] Update Game.css --- webapp/src/pages/Game/Game.css | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/webapp/src/pages/Game/Game.css b/webapp/src/pages/Game/Game.css index 8e7298c0..9c36de1d 100644 --- a/webapp/src/pages/Game/Game.css +++ b/webapp/src/pages/Game/Game.css @@ -21,4 +21,8 @@ h2 { .quiz-mode-description { max-width: 50ch; text-align: center; +} + +.question-text { + font-size: 1.5rem; } \ No newline at end of file From f3d031ec5d18be7ca4f7cc1a49f163b2231603fe Mon Sep 17 00:00:00 2001 From: Veneiro <50624734+Veneiro@users.noreply.github.com> Date: Mon, 29 Apr 2024 17:46:08 +0200 Subject: [PATCH 4/6] Update index.css --- webapp/src/index.css | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/webapp/src/index.css b/webapp/src/index.css index e147053d..d6179c64 100644 --- a/webapp/src/index.css +++ b/webapp/src/index.css @@ -54,22 +54,22 @@ main { .dark .selected-language{ background-color: var(--almost-dark-gray); - color: #747ae7; + color: #fff; } .dark .selected-language:hover{ background-color: var(--light-gray); - color: #747ae7; + color: #fff; } .dark .language-options { background-color: var(--almost-dark-gray); - color: #747ae7; + color: #fff; } .dark .language-option:hover { background-color: var(--light-gray); - color: #747ae7; + color: #fff; } .dark .volume-slider-container { @@ -95,12 +95,12 @@ main { .dark .sound:hover { background-color: var(--light-gray); - color: #747ae7; + color: #fff; } .dark .theme:hover { background-color: var(--light-gray); - color: #747ae7; + color: #fff; } .dark .answer-item:hover { @@ -139,12 +139,12 @@ main { .dark .theme { background-color: var(--dark-gray); - color: #747ae7; + color: #fff; } .dark .sound { background-color: var(--dark-gray); - color: #747ae7; + color: #fff; } .dark .swipe { From 4fcbf5de3c48c8590f3c7b2c56ae5b267901d04a Mon Sep 17 00:00:00 2001 From: carlosmndzg Date: Mon, 29 Apr 2024 18:10:55 +0200 Subject: [PATCH 5/6] Fixed logo in dark mode --- webapp/src/hooks/useTheme.js | 1 + webapp/src/pages/Home/Home.js | 23 +++++++++++++++++------ 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/webapp/src/hooks/useTheme.js b/webapp/src/hooks/useTheme.js index fceefff1..074b4991 100644 --- a/webapp/src/hooks/useTheme.js +++ b/webapp/src/hooks/useTheme.js @@ -6,6 +6,7 @@ const useTheme = () => { useEffect(() => { if (localStorage.getItem("theme")) { setTheme(localStorage.getItem("theme")) + window.dispatchEvent(new Event('theme-changed')) } }, [theme]) diff --git a/webapp/src/pages/Home/Home.js b/webapp/src/pages/Home/Home.js index 70c5f96d..8b1c2888 100644 --- a/webapp/src/pages/Home/Home.js +++ b/webapp/src/pages/Home/Home.js @@ -1,18 +1,29 @@ -import { useEffect } from 'react' +import { useEffect, useState } from 'react' import { useAuth } from '../../hooks/useAuth' import { useNavigate } from 'react-router-dom' import { Link } from 'react-router-dom' import './Home.css' import { useTranslation } from 'react-i18next' -import { useTheme } from '../../hooks/useTheme'; function Home() { const navigate = useNavigate() const { user } = useAuth() const { t } = useTranslation() - const { theme } = useTheme(); + const [theme, setTheme] = useState(localStorage.getItem('theme')) + + useEffect(() => { + const handler = () => { + setTheme(localStorage.getItem('theme')) + } + + window.addEventListener('theme-changed', handler) + + return () => { + window.removeEventListener('theme-changed', handler) + } + }, []) useEffect(() => { if (!user) { @@ -34,9 +45,9 @@ function Home() {
Please, login to play the game
)} - -
{t("play.nav_title")} - + +
{t("play.nav_title")} + From 79e5dc95b7fa1648ef5410f141c548d6026412b3 Mon Sep 17 00:00:00 2001 From: Veneiro <50624734+Veneiro@users.noreply.github.com> Date: Mon, 29 Apr 2024 18:19:13 +0200 Subject: [PATCH 6/6] fix slider --- webapp/src/pages/Home/Home.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/webapp/src/pages/Home/Home.js b/webapp/src/pages/Home/Home.js index 8b1c2888..13e96e1f 100644 --- a/webapp/src/pages/Home/Home.js +++ b/webapp/src/pages/Home/Home.js @@ -47,7 +47,7 @@ function Home() {
{t("play.nav_title")} - +