|
|
@@ -1,31 +1,22 @@
|
|
|
import { NextPage } from "next/types";
|
|
|
-import { useContext, useEffect } from "react";
|
|
|
+import { useEffect } from "react";
|
|
|
import Layout from "../components/Layout";
|
|
|
-import { UserContext } from "../context/UserContext";
|
|
|
+import { useAuth } from "../context/UserContext";
|
|
|
import useForm from "../hooks/useForm";
|
|
|
import api from "../utils/api";
|
|
|
|
|
|
const Settings: NextPage = () => {
|
|
|
- const { user, setUser } = useContext(UserContext);
|
|
|
+ const { updateUser, user } = useAuth();
|
|
|
|
|
|
const { error, submitHandler, success } = useForm(api.updateUser);
|
|
|
|
|
|
useEffect(() => {
|
|
|
if (success) {
|
|
|
- setUser(success.result);
|
|
|
+ updateUser(success.result);
|
|
|
}
|
|
|
- }, [success, setUser]);
|
|
|
+ }, [success, updateUser]);
|
|
|
|
|
|
- if (!user) {
|
|
|
- return (
|
|
|
- <Layout>
|
|
|
- <div className="form-alert-msg">
|
|
|
- There was an error, please reload the page
|
|
|
- </div>
|
|
|
- </Layout>
|
|
|
- );
|
|
|
- }
|
|
|
- return (
|
|
|
+ return user ? (
|
|
|
<Layout>
|
|
|
<form className="form" onSubmit={submitHandler}>
|
|
|
<div className="form-group">
|
|
|
@@ -38,6 +29,7 @@ const Settings: NextPage = () => {
|
|
|
id="name"
|
|
|
className="form-input"
|
|
|
defaultValue={user.name}
|
|
|
+ required
|
|
|
/>
|
|
|
</div>
|
|
|
<div className="form-group">
|
|
|
@@ -50,6 +42,7 @@ const Settings: NextPage = () => {
|
|
|
id="email"
|
|
|
className="form-input"
|
|
|
defaultValue={user.email}
|
|
|
+ required
|
|
|
/>
|
|
|
</div>
|
|
|
<div className="form-group">
|
|
|
@@ -63,6 +56,7 @@ const Settings: NextPage = () => {
|
|
|
className="form-input"
|
|
|
defaultValue={user.password}
|
|
|
minLength={6}
|
|
|
+ required
|
|
|
/>
|
|
|
</div>
|
|
|
<div className="form-group">
|
|
|
@@ -74,6 +68,7 @@ const Settings: NextPage = () => {
|
|
|
id="team"
|
|
|
name="team"
|
|
|
defaultValue={user.team}
|
|
|
+ required
|
|
|
>
|
|
|
<option value="Admins">Admins</option>
|
|
|
<option value="Users">Users</option>
|
|
|
@@ -96,7 +91,7 @@ const Settings: NextPage = () => {
|
|
|
)}
|
|
|
</form>
|
|
|
</Layout>
|
|
|
- );
|
|
|
+ ) : null;
|
|
|
};
|
|
|
|
|
|
export default Settings;
|