From 901f5b47e077ebcdaf250242ab6a4c5386ea09ca Mon Sep 17 00:00:00 2001 From: Spencer Anderson Date: Fri, 15 Nov 2024 16:43:36 -0500 Subject: [PATCH 1/3] did frontend --- src/components/Dropdown/LanguageDropdown.jsx | 9 +++++++-- src/components/PageRoutes.jsx | 2 ++ src/pages/Login.jsx | 1 + 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/components/Dropdown/LanguageDropdown.jsx b/src/components/Dropdown/LanguageDropdown.jsx index 6883c31..331084f 100644 --- a/src/components/Dropdown/LanguageDropdown.jsx +++ b/src/components/Dropdown/LanguageDropdown.jsx @@ -10,6 +10,9 @@ const langMapping = { Türkçe: "tr", }; + + + const LanguageDropdown = () => { const [selectedLang, setSelectedLang] = useState(); const { i18n } = useTranslation(); @@ -17,10 +20,12 @@ const LanguageDropdown = () => { useEffect(() => { const savedLang = i18n.language; if (savedLang) { - const langName = Object.keys(langMapping).find(key => langMapping[key] === savedLang); + const langName = Object.keys(langMapping).find(key => langMapping[key] === savedLang); setSelectedLang(langName); + } - }, []); + + }, [selectedLang]); const handleSelectLang = (langName) => { const langCode = langMapping[langName]; diff --git a/src/components/PageRoutes.jsx b/src/components/PageRoutes.jsx index c0eed97..9bd3a65 100644 --- a/src/components/PageRoutes.jsx +++ b/src/components/PageRoutes.jsx @@ -7,6 +7,7 @@ import Login from '@/pages/Login' import Classes from '@/pages/Classes' import Levels from '@/pages/Levels' import StyleGuide from "@/pages/StyleGuide"; +import Welcome from "../pages/Welcome"; // TODO (John & Frank): add routes for Page Not Found and student and admin pages export default function PageRoutes() { @@ -20,6 +21,7 @@ export default function PageRoutes() { + ); }; \ No newline at end of file diff --git a/src/pages/Login.jsx b/src/pages/Login.jsx index 33524b0..28ce40f 100644 --- a/src/pages/Login.jsx +++ b/src/pages/Login.jsx @@ -6,6 +6,7 @@ import FormInput from '@/components/Form/FormInput'; import FormSubmit from "../components/Form/FormSubmit"; + // TODO (Spencer & Claire): implement the Welcome page and check for if it should be displayed export default function Login() { const [formData, setFormData] = useState({ From cbbc2b7e7a241e86e8220717a2148caf443d1df8 Mon Sep 17 00:00:00 2001 From: Spencer Anderson Date: Sun, 24 Nov 2024 20:21:10 -0500 Subject: [PATCH 2/3] everything we did --- src/pages/Welcome.jsx | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 src/pages/Welcome.jsx diff --git a/src/pages/Welcome.jsx b/src/pages/Welcome.jsx new file mode 100644 index 0000000..419db07 --- /dev/null +++ b/src/pages/Welcome.jsx @@ -0,0 +1,33 @@ +import Button from '../components/Button'; +import LanguageDropdown from '../components/Dropdown/LanguageDropdown'; +import NavLink from '../components/NavBar/NavLink'; +import { Link, useLocation } from 'wouter'; + +const Welcome = () => { + const [location, setLocation] = useLocation(); + return ( + <> +
+
+

Dillar Academy

+

Free English education for Uyghurs around the world.

+
+ + +
+

Already have an account?

+ +
+
+ + ); +}; + +export default Welcome; From 1b10012452bfa1ae818eb9117540b9b593d299df Mon Sep 17 00:00:00 2001 From: Spencer Anderson Date: Tue, 3 Dec 2024 12:10:37 -0500 Subject: [PATCH 3/3] fixed the welcome local storage variable --- src/pages/Welcome.jsx | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/src/pages/Welcome.jsx b/src/pages/Welcome.jsx index 419db07..5a9af61 100644 --- a/src/pages/Welcome.jsx +++ b/src/pages/Welcome.jsx @@ -1,10 +1,15 @@ import Button from '../components/Button'; import LanguageDropdown from '../components/Dropdown/LanguageDropdown'; +import { useState, useEffect } from 'react'; import NavLink from '../components/NavBar/NavLink'; import { Link, useLocation } from 'wouter'; const Welcome = () => { const [location, setLocation] = useLocation(); + const [seen, setSeen] = useState(false); + useEffect(() => { + localStorage.setItem('Welcomed', JSON.stringify(false)); + }, [seen]); return ( <>
@@ -16,13 +21,17 @@ const Welcome = () => { />
-

Already have an account?

+

{ + localStorage.setItem('Welcomed', JSON.stringify(true));}}> Already have an account?