restructurize app and add header component

This commit is contained in:
Guillaume Dorce 2022-09-09 12:08:15 +02:00
parent ba0d353588
commit 8f0a604042
4 changed files with 39 additions and 4 deletions

View File

@ -0,0 +1,26 @@
import logo from '@assets/images/logo.svg';
const AppHeader = () => {
return (
<div className="min-h-80 flex items-center justify-between bg-grey-dark p-2">
<div className="app-header__logo">
<img src={logo} alt="logo" />
</div>
<div className="right">
<div className="flex items-center space-x-6">
<div className="rounded-full w-24 overflow-hidden">
<img src="https://randomuser.me/api/portraits/women/72.jpg" alt="avatar" />
</div>
<div className="app-header__user__name">
<span className="text-white">John Doe</span>
</div>
<button className="group relative flex w-auto justify-center rounded-md border border-red bg-red py-2 px-2 text-sm font-medium text-white hover:bg-white hover:text-red focus:outline-none focus:ring-2 focus:ring-red focus:ring-offset-2">
Deonnexion
</button>
</div>
</div>
</div>
);
};
export default AppHeader;

View File

@ -1,5 +1,6 @@
import { useCookies } from "react-cookie"; import { useCookies } from "react-cookie";
import { Navigate } from "react-router-dom"; import { Navigate } from "react-router-dom";
import AppHeader from "@components/AppHeader";
const Home = () => { const Home = () => {
const [cookie, setCookie] = useCookies(["token"]); const [cookie, setCookie] = useCookies(["token"]);
@ -9,9 +10,9 @@ const Home = () => {
} }
return ( return (
<div> <>
<h1>Home</h1> <AppHeader />
</div> </>
); );
} }

View File

@ -3,6 +3,7 @@ import logo from '@assets/images/logo.svg';
import { useQuery } from '@tanstack/react-query'; import { useQuery } from '@tanstack/react-query';
import { useState } from 'react'; import { useState } from 'react';
import { useCookies } from 'react-cookie'; import { useCookies } from 'react-cookie';
import type { Token } from '../types';
const Login = () => { const Login = () => {
const [cookie, setCookie] = useCookies(['token']); const [cookie, setCookie] = useCookies(['token']);
@ -23,7 +24,7 @@ const Login = () => {
return response.json(); return response.json();
}, },
{ {
onSuccess: (data) => { onSuccess: (data: Token) => {
setCookie('token', data.token, { path: '/', expires: new Date(data.expiresAt) }); setCookie('token', data.token, { path: '/', expires: new Date(data.expiresAt) });
return <Navigate to="/home" />; return <Navigate to="/home" />;
}, },

View File

@ -0,0 +1,7 @@
type Token = {
userId: number;
token: string;
expiresAt: Date;
};
export { Token };