Implemented registering

This commit is contained in:
Alex Holliday committed 2024-06-06 13:10:13 -07:00
1 parent e442f8be64
commit 31a18d042d
6 files changed
+66 -11

No files matched your search

+17 -5
View File
@@ -1,17 +1,29 @@
import NavBar from '../../Components/NavBar';
import { Outlet } from 'react-router';
import DashboardSidebar from '../../Components/DashboardSidebar';
import './index.css';
import NavBar from "../../Components/NavBar";
import { Outlet } from "react-router";
import DashboardSidebar from "../../Components/DashboardSidebar";
import "./index.css";
// Demo, remove me
import { jwtDecode } from "jwt-decode";
// Emd Demo
const HomeLayout = () => {
const token = localStorage.getItem("token");
const decodedToken = token && jwtDecode(token);
return (
<div className="home-layout">
<DashboardSidebar />
<div className="main-content">
<NavBar />
{/* Remove me later */}
{token && <p>You are logged in</p>}
{token && <p>First Name: {decodedToken.firstname}</p>}
{token && <p>Last Name: {decodedToken.lastname}</p>}
{token && <p>Email: {decodedToken.email}</p>}
{/* I am a demo */}
</div>
</div>
);
}
};
export default HomeLayout;
+1
View File
@@ -5,6 +5,7 @@ import DashboardMenu from "../../Components/DashboardMenu";
import Integrations from "../../Components/Integrations";
const Home = () => {
const token = localStorage.getItem("token");
return (
<>
<div>Home</div>
+26 -1
View File
@@ -1,4 +1,7 @@
import React, { useState } from "react";
import { useNavigate } from "react-router-dom";
import axios from "axios";
import "./index.css";
import BackgroundPattern from "../../Components/BackgroundPattern/BackgroundPattern";
import Logomark from "../../assets/Images/Logomark.png";
@@ -9,7 +12,11 @@ import Check from "../../Components/Check/Check";
import Button from "../../Components/Button";
import Google from "../../assets/Images/Google.png";
const BASE_URL = import.meta.env.VITE_APP_API_BASE_URL;
const Register = () => {
const navigate = useNavigate();
const idMap = {
"register-firstname-input": "firstname",
"register-lastname-input": "lastname",
@@ -32,6 +39,19 @@ const Register = () => {
});
};
const handleSubmit = async () => {
//TODO input validation
try {
const result = await axios.post(`${BASE_URL}/auth/register`, form);
const token = result.data.data;
localStorage.setItem("token", token);
navigate("/"); // Redirect to home page
} catch (error) {
// TODO error handlign
alert(`Something went wrong: ${error.response.data.msg}`);
}
};
return (
<div className="register-page">
<BackgroundPattern></BackgroundPattern>
@@ -88,7 +108,12 @@ const Register = () => {
</div>
<div className="login-form-v2-spacing" />
<div className="register-form-actions">
<Button level="primary" label="Get started" sx={{ width: "100%" }} />
<Button
onClick={handleSubmit}
level="primary"
label="Get started"
sx={{ width: "100%" }}
/>
<div className="login-form-v-spacing" />
<Button
disabled={true}