Fix initial state values and handle empty input values in NewWeeklyReport component
This commit is contained in:
		
							parent
							
								
									b9b17bf229
								
							
						
					
					
						commit
						900797facc
					
				
					 1 changed files with 54 additions and 24 deletions
				
			
		|  | @ -12,12 +12,12 @@ import Button from "./Button"; | |||
|  */ | ||||
| export default function NewWeeklyReport(): JSX.Element { | ||||
|   const [week, setWeek] = useState<number>(0); | ||||
|   const [developmentTime, setDevelopmentTime] = useState<number>(); | ||||
|   const [meetingTime, setMeetingTime] = useState<number>(); | ||||
|   const [adminTime, setAdminTime] = useState<number>(); | ||||
|   const [ownWorkTime, setOwnWorkTime] = useState<number>(); | ||||
|   const [studyTime, setStudyTime] = useState<number>(); | ||||
|   const [testingTime, setTestingTime] = useState<number>(); | ||||
|   const [developmentTime, setDevelopmentTime] = useState<number>(0); | ||||
|   const [meetingTime, setMeetingTime] = useState<number>(0); | ||||
|   const [adminTime, setAdminTime] = useState<number>(0); | ||||
|   const [ownWorkTime, setOwnWorkTime] = useState<number>(0); | ||||
|   const [studyTime, setStudyTime] = useState<number>(0); | ||||
|   const [testingTime, setTestingTime] = useState<number>(0); | ||||
| 
 | ||||
|   const { projectName } = useParams(); | ||||
|   const token = localStorage.getItem("accessToken") ?? ""; | ||||
|  | @ -26,12 +26,12 @@ export default function NewWeeklyReport(): JSX.Element { | |||
|     const newWeeklyReport: NewWeeklyReport = { | ||||
|       projectName: projectName ?? "", | ||||
|       week: week, | ||||
|       developmentTime: developmentTime ?? 0, | ||||
|       meetingTime: meetingTime ?? 0, | ||||
|       adminTime: adminTime ?? 0, | ||||
|       ownWorkTime: ownWorkTime ?? 0, | ||||
|       studyTime: studyTime ?? 0, | ||||
|       testingTime: testingTime ?? 0, | ||||
|       developmentTime: developmentTime, | ||||
|       meetingTime: meetingTime, | ||||
|       adminTime: adminTime, | ||||
|       ownWorkTime: ownWorkTime, | ||||
|       studyTime: studyTime, | ||||
|       testingTime: testingTime, | ||||
|     }; | ||||
| 
 | ||||
|     await api.submitWeeklyReport(newWeeklyReport, token); | ||||
|  | @ -112,9 +112,14 @@ export default function NewWeeklyReport(): JSX.Element { | |||
|                       type="number" | ||||
|                       min="0" | ||||
|                       className="border-2 border-black rounded-md text-center w-1/2" | ||||
|                       value={developmentTime} | ||||
|                       value={developmentTime === 0 ? "" : developmentTime} | ||||
|                       onChange={(e) => { | ||||
|                         setDevelopmentTime(parseInt(e.target.value)); | ||||
|                         if (e.target.value === "") { | ||||
|                           setDevelopmentTime(0); | ||||
|                           return; | ||||
|                         } else { | ||||
|                           setDevelopmentTime(parseInt(e.target.value)); | ||||
|                         } | ||||
|                       }} | ||||
|                       onKeyDown={(event) => { | ||||
|                         const keyValue = event.key; | ||||
|  | @ -131,9 +136,14 @@ export default function NewWeeklyReport(): JSX.Element { | |||
|                       type="number" | ||||
|                       min="0" | ||||
|                       className="border-2 border-black rounded-md text-center w-1/2" | ||||
|                       value={meetingTime} | ||||
|                       value={meetingTime === 0 ? "" : meetingTime} | ||||
|                       onChange={(e) => { | ||||
|                         setMeetingTime(parseInt(e.target.value)); | ||||
|                         if (e.target.value === "") { | ||||
|                           setMeetingTime(0); | ||||
|                           return; | ||||
|                         } else { | ||||
|                           setMeetingTime(parseInt(e.target.value)); | ||||
|                         } | ||||
|                       }} | ||||
|                       onKeyDown={(event) => { | ||||
|                         const keyValue = event.key; | ||||
|  | @ -150,9 +160,14 @@ export default function NewWeeklyReport(): JSX.Element { | |||
|                       type="number" | ||||
|                       min="0" | ||||
|                       className="border-2 border-black rounded-md text-center w-1/2" | ||||
|                       value={adminTime} | ||||
|                       value={adminTime === 0 ? "" : adminTime} | ||||
|                       onChange={(e) => { | ||||
|                         setAdminTime(parseInt(e.target.value)); | ||||
|                         if (e.target.value === "") { | ||||
|                           setAdminTime(0); | ||||
|                           return; | ||||
|                         } else { | ||||
|                           setAdminTime(parseInt(e.target.value)); | ||||
|                         } | ||||
|                       }} | ||||
|                       onKeyDown={(event) => { | ||||
|                         const keyValue = event.key; | ||||
|  | @ -169,9 +184,14 @@ export default function NewWeeklyReport(): JSX.Element { | |||
|                       type="number" | ||||
|                       min="0" | ||||
|                       className="border-2 border-black rounded-md text-center w-1/2" | ||||
|                       value={ownWorkTime} | ||||
|                       value={ownWorkTime === 0 ? "" : ownWorkTime} | ||||
|                       onChange={(e) => { | ||||
|                         setOwnWorkTime(parseInt(e.target.value)); | ||||
|                         if (e.target.value === "") { | ||||
|                           setOwnWorkTime(0); | ||||
|                           return; | ||||
|                         } else { | ||||
|                           setOwnWorkTime(parseInt(e.target.value)); | ||||
|                         } | ||||
|                       }} | ||||
|                       onKeyDown={(event) => { | ||||
|                         const keyValue = event.key; | ||||
|  | @ -188,9 +208,14 @@ export default function NewWeeklyReport(): JSX.Element { | |||
|                       type="number" | ||||
|                       min="0" | ||||
|                       className="border-2 border-black rounded-md text-center w-1/2" | ||||
|                       value={studyTime} | ||||
|                       value={studyTime === 0 ? "" : studyTime} | ||||
|                       onChange={(e) => { | ||||
|                         setStudyTime(parseInt(e.target.value)); | ||||
|                         if (e.target.value === "") { | ||||
|                           setStudyTime(0); | ||||
|                           return; | ||||
|                         } else { | ||||
|                           setStudyTime(parseInt(e.target.value)); | ||||
|                         } | ||||
|                       }} | ||||
|                       onKeyDown={(event) => { | ||||
|                         const keyValue = event.key; | ||||
|  | @ -207,9 +232,14 @@ export default function NewWeeklyReport(): JSX.Element { | |||
|                       type="number" | ||||
|                       min="0" | ||||
|                       className="border-2 border-black rounded-md text-center w-1/2" | ||||
|                       value={testingTime} | ||||
|                       value={testingTime === 0 ? "" : testingTime} | ||||
|                       onChange={(e) => { | ||||
|                         setTestingTime(parseInt(e.target.value)); | ||||
|                         if (e.target.value === "") { | ||||
|                           setTestingTime(0); | ||||
|                           return; | ||||
|                         } else { | ||||
|                           setTestingTime(parseInt(e.target.value)); | ||||
|                         } | ||||
|                       }} | ||||
|                       onKeyDown={(event) => { | ||||
|                         const keyValue = event.key; | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Davenludd
						Davenludd