From 1927887992e0618b3de09f38356b6d85adef04b2 Mon Sep 17 00:00:00 2001 From: daniyal Date: Mon, 26 Aug 2024 18:44:00 +0500 Subject: [PATCH] fix: reset mod form when route changes from edit to submit --- src/components/ModForm.tsx | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/components/ModForm.tsx b/src/components/ModForm.tsx index 394351d..aa7b19b 100644 --- a/src/components/ModForm.tsx +++ b/src/components/ModForm.tsx @@ -25,8 +25,8 @@ import { } from '../utils' import { CheckboxField, InputError, InputField } from './Inputs' import { RelayController } from '../controllers' -import { useNavigate } from 'react-router-dom' -import { getModsInnerPageRoute } from '../routes' +import { useLocation, useNavigate } from 'react-router-dom' +import { appRoutes, getModsInnerPageRoute } from '../routes' import { DownloadUrl, ModFormState, ModDetails } from '../types' import { LoadingSpinner } from './LoadingSpinner' import { T_TAG_VALUE } from '../constants' @@ -55,6 +55,7 @@ type ModFormProps = { } export const ModForm = ({ existingModData }: ModFormProps) => { + const location = useLocation() const navigate = useNavigate() const userState = useAppSelector((state) => state.user) @@ -64,6 +65,12 @@ export const ModForm = ({ existingModData }: ModFormProps) => { initializeFormState(existingModData) ) + useEffect(() => { + if (location.pathname === appRoutes.submitMod) { + setFormState(initializeFormState()) + } + }, [location.pathname]) // Only trigger when the pathname changes to submit-mod + const [formErrors, setFormErrors] = useState({}) useEffect(() => {