Revamped routing system

This commit is contained in:
2024-07-26 14:49:40 +08:00
parent 4d1b623ec6
commit 9b293660bf
26 changed files with 666 additions and 601 deletions

View File

@@ -1,5 +1,4 @@
import React, { useState, useEffect } from 'react';
import DefaultLayout from "../layouts/default";
import React, { useState, useEffect } from "react";
import { Button } from "@nextui-org/react";
import { Formik, Form } from "formik";
import * as Yup from "yup";
@@ -33,8 +32,12 @@ const validationSchema = Yup.object({
time: Yup.string().required("Time is required"),
location: Yup.string().required("Location is required"),
category: Yup.string().required("Category is required"),
slotsAvailable: Yup.number().integer().required("Slots Available is required"),
imageUrl: Yup.string().url("Invalid URL format").required("Image URL is required")
slotsAvailable: Yup.number()
.integer()
.required("Slots Available is required"),
imageUrl: Yup.string()
.url("Invalid URL format")
.required("Image URL is required"),
});
const EditEventsPage = () => {
@@ -48,13 +51,15 @@ const EditEventsPage = () => {
location: "",
category: "",
slotsAvailable: "",
imageUrl: ""
imageUrl: "",
});
useEffect(() => {
const fetchEvent = async () => {
try {
const response = await axios.get(`${config.serverAddress}/events/${id}`);
const response = await axios.get(
`${config.serverAddress}/events/${id}`
);
console.log("Fetched event data:", response.data); // Debug log
setInitialValues(response.data);
} catch (error) {
@@ -71,12 +76,15 @@ const EditEventsPage = () => {
) => {
console.log("Submitting form with values:", values); // Debug log
try {
const response = await axios.put(`${config.serverAddress}/events/${id}`, values);
const response = await axios.put(
`${config.serverAddress}/events/${id}`,
values
);
console.log("Server response:", response); // Debug log
if (response.status === 200 || response.status === 201) {
console.log("Event updated successfully:", response.data);
resetForm(); // Clear form after successful submit
navigate("/manageEvent");
navigate(-1);
} else {
console.error("Error updating event:", response.statusText);
}
@@ -92,7 +100,7 @@ const EditEventsPage = () => {
};
return (
<DefaultLayout>
<div className="w-full h-full">
<section className="w-8/12 mx-auto">
<Button
variant="light"
@@ -179,7 +187,7 @@ const EditEventsPage = () => {
)}
</Formik>
</section>
</DefaultLayout>
</div>
);
};