From 20dd5079c17a1716c9477b673fe791c4b499918f Mon Sep 17 00:00:00 2001 From: Andreas Ellewsen <ae@uio.no> Date: Thu, 3 Feb 2022 17:16:15 +0100 Subject: [PATCH] Fix visual bug in role info page date fields Values of fields now show the current dates of the role after data has been fetched, instead of the placeholders. --- .../sponsor/guest/guestRoleInfo/index.tsx | 20 +++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/frontend/src/routes/sponsor/guest/guestRoleInfo/index.tsx b/frontend/src/routes/sponsor/guest/guestRoleInfo/index.tsx index 7dc14253..50506ecc 100644 --- a/frontend/src/routes/sponsor/guest/guestRoleInfo/index.tsx +++ b/frontend/src/routes/sponsor/guest/guestRoleInfo/index.tsx @@ -109,13 +109,6 @@ export default function GuestRoleInfo({ guest }: GuestRoleInfoProps) { contact_person_unit: null, comments: null, }) - // Find the role info relevant for this page - const getRoleInfo = () => { - const roleInfo = guest.roles.filter((ro) => ro.id.toString() === id)[0] - if (roleInfo) { - setRole(roleInfo) - } - } // Prepare min and max date values const today = new Date() const todayPlusMaxDays = addDays(role.max_days)(today) @@ -154,10 +147,21 @@ export default function GuestRoleInfo({ guest }: GuestRoleInfoProps) { const { control, handleSubmit, + setValue, formState: { isDirty, isValid }, - } = useForm({ mode: 'onChange' }) + } = useForm<RoleFormData>({ mode: 'onChange' }) const onSubmit = handleSubmit(submit) + // Find the role info relevant for this page + const getRoleInfo = () => { + const roleInfo = guest.roles.filter((ro) => ro.id.toString() === id)[0] + if (roleInfo) { + setRole(roleInfo) + // Set values of date fields to current dates if role exists + setValue('end_date', roleInfo.end_date) + setValue('start_date', roleInfo.start_date) + } + } useEffect(() => { getRoleInfo() }, [guest]) -- GitLab