import React, { useState } from "react"; import { useForm } from "react-hook-form"; import * as BS from "react-bootstrap"; import moment from "moment"; import "moment-timezone"; import API_URL from "../../../Constants/constants.js"; const EditSystem = ({ name, tag, timezone, avatar, editDesc, setEditMode, setErrorAlert, setUser, user, }) => { const [invalidTimezone, setInvalidTimezone] = useState(false); const { register: registerEdit, handleSubmit: handleSubmitEdit } = useForm(); const submitEdit = (data) => { if (data.tz) { if (!moment.tz.zone(data.tz)) { setInvalidTimezone(true); return; } } fetch(`${API_URL}s`, { method: "PATCH", body: JSON.stringify(data), headers: { "Content-Type": "application/json", Authorization: localStorage.getItem("token"), }, }) .then((res) => res.json()) .then(() => { setUser((prevState) => { return { ...prevState, ...data }; }); localStorage.setItem("user", JSON.stringify(user)); setEditMode(false); }) .catch((error) => { console.error(error); setErrorAlert(true); }); }; return ( Note: if you refresh the page, the old data might show up again, this is due to the bot caching data.
Try editing a member to clear the cache, or wait a few minutes before refreshing.
Name: Tag: Timezone: {invalidTimezone ? ( Please enter a valid timezone ) : ( "" )} Avatar url: Description: setEditMode(false)}> Cancel {" "} Submit
); }; export default EditSystem;