diff --git a/src/components/molecules/NavBar.tsx b/src/components/molecules/NavBar.tsx
index d8831ea6..d7cb726c 100644
--- a/src/components/molecules/NavBar.tsx
+++ b/src/components/molecules/NavBar.tsx
@@ -258,4 +258,4 @@ const ControlsContainer = styled.div`
display: flex;
align-items: center;
justify-content: flex-end;
-`;
\ No newline at end of file
+`;
diff --git a/src/pages/Login.tsx b/src/pages/Login.tsx
index de5f4838..12f49e57 100644
--- a/src/pages/Login.tsx
+++ b/src/pages/Login.tsx
@@ -1,22 +1,21 @@
import axios from "axios";
-import { useState, useContext, useEffect, FormEvent } from "react";
+import { useState, useContext, useEffect } from "react";
import { useNavigate, Link } from "react-router-dom";
import { AuthContext } from "../context/auth";
-import { Box, Typography, TextField, Button, CircularProgress, Grid } from "@mui/material";
+import { Box, Typography, TextField, Button, CircularProgress } from "@mui/material";
import { useGlobalInfoStore } from "../context/globalInfo";
import { apiUrl } from "../apiConfig";
+import { useThemeMode } from "../context/theme-provider";
const Login = () => {
- const [form, setForm] = useState({
- email: "",
- password: "",
- });
+ const [form, setForm] = useState({ email: "", password: "" });
const [loading, setLoading] = useState(false);
const { notify } = useGlobalInfoStore();
const { email, password } = form;
const { state, dispatch } = useContext(AuthContext);
const { user } = state;
+ const { darkMode } = useThemeMode();
const navigate = useNavigate();
@@ -35,10 +34,11 @@ const Login = () => {
e.preventDefault();
setLoading(true);
try {
- const { data } = await axios.post(`${apiUrl}/auth/login`, {
- email,
- password,
- }, { withCredentials: true });
+ const { data } = await axios.post(
+ `${apiUrl}/auth/login`,
+ { email, password },
+ { withCredentials: true }
+ );
dispatch({ type: "LOGIN", payload: data });
notify("success", "Welcome to Maxun!");
window.localStorage.setItem("user", JSON.stringify(data));
@@ -58,76 +58,112 @@ const Login = () => {
maxHeight: "100vh",
mt: 6,
padding: 4,
+ backgroundColor: darkMode ? "#121212" : "#ffffff",
+
}}
>
-
-
+
+
+ Welcome Back!
+
+
+
+
-
-
+ {loading ? (
+ <>
+
+ Loading
+ >
+ ) : (
+ "Login"
+ )}
+
+
+ Don’t have an account?{" "}
+
+ Register
+
+
+
+
);
};
diff --git a/src/pages/PageWrappper.tsx b/src/pages/PageWrappper.tsx
index 87157349..5a00cc4a 100644
--- a/src/pages/PageWrappper.tsx
+++ b/src/pages/PageWrappper.tsx
@@ -12,6 +12,7 @@ import Login from './Login';
import Register from './Register';
import UserRoute from '../routes/userRoute';
import { Routes, Route, useNavigate } from 'react-router-dom';
+import { AppBar } from '@mui/material';
export const PageWrapper = () => {
const [open, setOpen] = useState(false);
@@ -50,7 +51,9 @@ export const PageWrapper = () => {
+
{!browserId && }
+
}>
} />
diff --git a/src/pages/Register.tsx b/src/pages/Register.tsx
index ad7fb89f..474f0182 100644
--- a/src/pages/Register.tsx
+++ b/src/pages/Register.tsx
@@ -5,18 +5,17 @@ import { AuthContext } from "../context/auth";
import { Box, Typography, TextField, Button, CircularProgress } from "@mui/material";
import { useGlobalInfoStore } from "../context/globalInfo";
import { apiUrl } from "../apiConfig";
+import { useThemeMode } from "../context/theme-provider";
const Register = () => {
- const [form, setForm] = useState({
- email: "",
- password: "",
- });
+ const [form, setForm] = useState({ email: "", password: "" });
const [loading, setLoading] = useState(false);
const { notify } = useGlobalInfoStore();
const { email, password } = form;
const { state, dispatch } = useContext(AuthContext);
const { user } = state;
+ const { darkMode } = useThemeMode();
const navigate = useNavigate();
@@ -35,18 +34,14 @@ const Register = () => {
e.preventDefault();
setLoading(true);
try {
- const { data } = await axios.post(`${apiUrl}/auth/register`, {
- email,
- password,
- });
-
- console.log(data)
+ const { data } = await axios.post(`${apiUrl}/auth/register`, { email, password });
+ console.log(data);
dispatch({ type: "LOGIN", payload: data });
notify("success", "Registration Successful!");
window.localStorage.setItem("user", JSON.stringify(data));
navigate("/");
- } catch (error:any) {
- notify("error", error.response.data || "Registration Failed. Please try again.");
+ } catch (error: any) {
+ notify("error", error.response?.data || "Registration Failed. Please try again.");
setLoading(false);
}
};
@@ -60,25 +55,38 @@ const Register = () => {
maxHeight: "100vh",
mt: 6,
padding: 4,
+ backgroundColor: darkMode ? "#121212" : "#ffffff",
+
}}
>
-
+
Create an Account
@@ -91,6 +99,15 @@ const Register = () => {
margin="normal"
variant="outlined"
required
+ sx={{
+ input: { color: darkMode ? "#ffffff" : "#000000" },
+ label: { color: darkMode ? "#bbbbbb" : "#000000" },
+ "& .MuiOutlinedInput-root": {
+ "& fieldset": { borderColor: darkMode ? "#555555" : "#cccccc" },
+ "&:hover fieldset": { borderColor: darkMode ? "#ffffff" : "#000000" },
+ "&.Mui-focused fieldset": { borderColor: "#ff33cc" },
+ },
+ }}
/>
{
margin="normal"
variant="outlined"
required
+ sx={{
+ input: { color: darkMode ? "#ffffff" : "#000000" },
+ label: { color: darkMode ? "#bbbbbb" : "#000000" },
+ "& .MuiOutlinedInput-root": {
+ "& fieldset": { borderColor: darkMode ? "#555555" : "#cccccc" },
+ "&:hover fieldset": { borderColor: darkMode ? "#ffffff" : "#000000" },
+ "&.Mui-focused fieldset": { borderColor: "#ff33cc" },
+ },
+ }}
/>
{loading ? (
<>
-
+
Loading
>
) : (
"Register"
)}
-
+
Already have an account?{" "}
Login