From 440d389f1615ba3323300fe947b5a0a2a49c8c78 Mon Sep 17 00:00:00 2001 From: Tanner Collin Date: Tue, 15 Sep 2020 19:42:09 +0000 Subject: [PATCH] Disable buttons while loading --- webclient/src/AdminMembers.js | 2 ++ webclient/src/Classes.js | 2 ++ webclient/src/InstructorClasses.js | 1 + 3 files changed, 5 insertions(+) diff --git a/webclient/src/AdminMembers.js b/webclient/src/AdminMembers.js index 9c16d56..7b81b3c 100644 --- a/webclient/src/AdminMembers.js +++ b/webclient/src/AdminMembers.js @@ -541,6 +541,7 @@ export function AdminCert(props) { const handleCert = (e) => { e.preventDefault(); + if (loading) return; setLoading(true); let data = Object(); data[field] = moment.utc().tz('America/Edmonton').format('YYYY-MM-DD'); @@ -555,6 +556,7 @@ export function AdminCert(props) { const handleUncert = (e) => { e.preventDefault(); + if (loading) return; setLoading(true); let data = Object(); data[field] = null; diff --git a/webclient/src/Classes.js b/webclient/src/Classes.js index 5dea796..42098ec 100644 --- a/webclient/src/Classes.js +++ b/webclient/src/Classes.js @@ -109,6 +109,7 @@ export function ClassDetail(props) { }, [refreshCount]); const handleSignup = () => { + if (loading) return; setLoading(true); const data = { attendance_status: 'Waiting for payment', session: id }; requester('/training/', 'POST', token, data) @@ -122,6 +123,7 @@ export function ClassDetail(props) { }; const handleToggle = (newStatus) => { + if (loading) return; setLoading(true); const data = { attendance_status: newStatus, session: id }; requester('/training/'+userTraining.id+'/', 'PUT', token, data) diff --git a/webclient/src/InstructorClasses.js b/webclient/src/InstructorClasses.js index 836f067..ea382a1 100644 --- a/webclient/src/InstructorClasses.js +++ b/webclient/src/InstructorClasses.js @@ -71,6 +71,7 @@ function AttendanceRow(props) { const [loading, setLoading] = useState(false); const handleMark = (newStatus) => { + if (loading) return; setLoading(newStatus); const data = { ...student, attendance_status: newStatus }; requester('/training/'+student.id+'/', 'PATCH', token, data)