diff --git a/media-store/app/src/components/Header.js b/media-store/app/src/components/Header.js index 266c1daf..495ef11b 100644 --- a/media-store/app/src/components/Header.js +++ b/media-store/app/src/components/Header.js @@ -24,7 +24,14 @@ const RELOAD_LOCATION_NUMBER = 0; const Header = () => { const history = useHistory(); const location = useLocation(); - const { user, invoicedItems, locale, setLocale, loading } = useAppState(); + const { + user, + invoicedItems, + setInvoicedItems, + locale, + setLocale, + loading, + } = useAppState(); const currentKey = [keys.find((key) => key === location.pathname)]; const haveInvoicedItems = !isEmpty(invoicedItems); const invoicedItemsLength = invoicedItems.length; @@ -48,7 +55,7 @@ const Header = () => { const onUserLogout = () => { emitter.emit("UPDATE_USER", undefined); - history.push("/"); + history.go(0); }; return ( diff --git a/media-store/app/src/pages/Login.js b/media-store/app/src/pages/Login.js index da856e84..a96de9d8 100644 --- a/media-store/app/src/pages/Login.js +++ b/media-store/app/src/pages/Login.js @@ -29,7 +29,6 @@ const Login = () => { const { handleError } = useErrors(); const onFinish = (values) => { - console.log("Validation Success:", values); setLoading(true); login({ email: values.email, password: values.password }) .then((response) => { diff --git a/media-store/app/src/pages/PersonPage.js b/media-store/app/src/pages/PersonPage.js index 40284c3a..102569d2 100644 --- a/media-store/app/src/pages/PersonPage.js +++ b/media-store/app/src/pages/PersonPage.js @@ -1,10 +1,9 @@ -import React, { useState, useMemo } from "react"; -import { Card, Button, message } from "antd"; -import { omit } from "lodash"; +import React, { useState } from "react"; +import { Form, Button, message, Input } from "antd"; +import { omit, map } from "lodash"; import { fetchPerson, confirmPerson } from "../api/calls"; import { useErrors } from "../hooks/useErrors"; import { useAppState } from "../hooks/useAppState"; -import { Editable } from "../components/Editable"; import { MESSAGE_TIMEOUT } from "../util/constants"; import { useAbortableEffect } from "../hooks/useAbortableEffect"; @@ -25,7 +24,7 @@ const PERSON_PROP = { const PersonPage = () => { const { setLoading } = useAppState(); const { handleError } = useErrors(); - const [initialPerson, setInitialPerson] = useState({}); + const [form] = Form.useForm(); const [person, setPerson] = useState({ lastName: "", firstName: "", @@ -47,7 +46,6 @@ const PersonPage = () => { .then(({ data: personData }) => { personData = omit(personData, "@odata.context", "ID"); if (!status.aborted) { - setInitialPerson(personData); setPerson(personData); } }) @@ -55,67 +53,58 @@ const PersonPage = () => { .finally(() => setLoading(false)); }, []); - const onConfirmChanges = () => { + const onConfirmChanges = (newPerson) => { setLoading(true); - confirmPerson(person) + confirmPerson(newPerson) .then(() => { - setInitialPerson(person); message.success("Person successfully updated", MESSAGE_TIMEOUT); }) .catch(handleError) .finally(() => setLoading(false)); }; - const isPersonChanged = useMemo(() => { - const keysOne = Object.keys(initialPerson); - const keysTwo = Object.keys(person); - if (keysOne.length !== keysTwo.length) { - return true; - } - for (let key of keysOne) { - if (initialPerson[key] !== person[key]) { - return true; - } - } + const personProperties = map(Object.keys(person), (currentKey) => ( +