Added /me page

This commit is contained in:
strNophix 2022-06-19 22:12:30 +02:00
parent 449d91c1c9
commit cce376a703
2 changed files with 76 additions and 0 deletions

View File

@ -4,6 +4,7 @@ import SecretsPage from "./components/pages/secrets";
import ServicesPage from "./components/pages/services";
import LoginPage from "./components/pages/login";
import RequireAuth from "./components/layouts/RequireAuth";
import UserPage from "./components/pages/user";
export default function App() {
return (
@ -13,6 +14,7 @@ export default function App() {
<Route path="/services" element={<ServicesPage />} />
<Route path="/routers" element={<RoutersPage />} />
<Route path="/secrets" element={<SecretsPage />} />
<Route path="/me" element={<UserPage />} />
<Route path="/" element={<Navigate to="/services" />} />
</Route>
<Route path="/login" element={<LoginPage />} />

View File

@ -0,0 +1,74 @@
import { useFormik } from "formik";
import Button from "../../atoms/Button";
import Header1 from "../../atoms/Header1";
import Container from "../../layouts/Container";
import DashboardLayout from "../../layouts/Dashboard";
import TextField from "../../molecules/TextField";
const UserPage = () => {
const passwordUpdateForm = useFormik({
initialValues: { oldPassword: "", newPassword: "", confirmPassword: "" },
onSubmit: async (
{ oldPassword, newPassword, confirmPassword },
helpers
) => {
if (newPassword !== confirmPassword) {
helpers.setFieldError("confirmPassword", "Passwords do not match");
return;
}
helpers.resetForm();
},
});
return (
<DashboardLayout>
<Container>
<Header1>User settings</Header1>
<form
// onSubmit={serviceForm.handleSubmit}
>
<h1 className="mb-4">Update password</h1>
<div className="space-y-3">
<TextField
label="Old Password"
required={true}
id="oldPassword"
placeholder="*****"
inputClassName="shadow-none border border-gray-300 bg-white"
// onChange={serviceForm.handleChange}
// value={serviceForm.values.name}
/>
<TextField
label="Password"
required={true}
id="newPassword"
placeholder="*****"
inputClassName="shadow-none border border-gray-300 bg-white"
// onChange={serviceForm.handleChange}
// value={serviceForm.values.name}
/>
<TextField
label="Repeat Password"
required={true}
id="confirmPassword"
placeholder="*****"
inputClassName="shadow-none border border-gray-300 bg-white"
// onChange={serviceForm.handleChange}
// value={serviceForm.values.name}
/>
<div className="flex justify-end items-center">
<Button className="w-20 border border-sky-600">Update</Button>
{passwordUpdateForm.errors && (
<span>{JSON.stringify(passwordUpdateForm.errors)}</span>
)}
</div>
</div>
</form>
</Container>
</DashboardLayout>
);
};
export default UserPage;