From 758c166f279e64ec42b3b96a7b217d40144231c1 Mon Sep 17 00:00:00 2001 From: William Petit Date: Thu, 16 Jul 2020 20:21:58 +0200 Subject: [PATCH] Simple page de modification de profil --- client/src/components/App.tsx | 2 + client/src/components/HomePage/HomePage.tsx | 4 +- client/src/components/Navbar.tsx | 44 +++++++--- client/src/components/Page.tsx | 2 +- .../components/ProfilePage/ProfilePage.tsx | 38 +++++++++ client/src/components/UserForm.tsx | 80 +++++++++++++++++++ client/src/store/actions/profile.ts | 21 +++++ client/src/store/reducers/auth.ts | 18 ++++- .../src/store/sagas/{users.ts => profile.ts} | 21 ++++- client/src/store/sagas/root.ts | 4 +- client/src/types/user.ts | 1 + client/src/util/daddy.ts | 36 ++++++++- internal/graph/user_profile.go | 25 +++++- internal/model/user_repository.go | 17 ++++ 14 files changed, 284 insertions(+), 29 deletions(-) create mode 100644 client/src/components/ProfilePage/ProfilePage.tsx create mode 100644 client/src/components/UserForm.tsx rename client/src/store/sagas/{users.ts => profile.ts} (57%) diff --git a/client/src/components/App.tsx b/client/src/components/App.tsx index 3bea7f4..ec0367f 100644 --- a/client/src/components/App.tsx +++ b/client/src/components/App.tsx @@ -3,6 +3,7 @@ import { BrowserRouter, Route, Redirect, Switch } from "react-router-dom"; import { HomePage } from './HomePage/HomePage'; import { store } from '../store/store'; import { Provider } from 'react-redux'; +import { ProfilePage } from './ProfilePage/ProfilePage'; export class App extends React.Component { render() { @@ -11,6 +12,7 @@ export class App extends React.Component { + } /> diff --git a/client/src/components/HomePage/HomePage.tsx b/client/src/components/HomePage/HomePage.tsx index cae00e9..7607cee 100644 --- a/client/src/components/HomePage/HomePage.tsx +++ b/client/src/components/HomePage/HomePage.tsx @@ -7,7 +7,7 @@ export function HomePage() { const currentUser = useSelector((state: RootState) => state.auth.currentUser); return ( - +
@@ -15,7 +15,7 @@ export function HomePage() {
{ currentUser && currentUser.email ? -

Bonjour {currentUser.email} !

: +

Bonjour {currentUser.name ? currentUser.name : currentUser.email} !

:

Veuillez vous authentifier.

}
diff --git a/client/src/components/Navbar.tsx b/client/src/components/Navbar.tsx index def6d3b..aebbf99 100644 --- a/client/src/components/Navbar.tsx +++ b/client/src/components/Navbar.tsx @@ -1,44 +1,62 @@ -import React from 'react'; +import React, { Fragment, useState } from 'react'; import logo from '../resources/logo.svg'; import { useSelector } from 'react-redux'; import { RootState } from '../store/reducers/root'; import { Config } from '../config'; +import { Link } from 'react-router-dom'; export function Navbar() { const isAuthenticated = useSelector(state => state.auth.isAuthenticated); + + const [ isActive, setActive ] = useState(false); + + const toggleMenu = () => { + setActive(active => !active); + }; return (