From 623bca5e68bd0b9f399b662b9d3a2ab42c48c23e Mon Sep 17 00:00:00 2001 From: Hangzhi Yu <hangzhi@protonmail.com> Date: Wed, 3 Apr 2024 22:12:19 +0200 Subject: [PATCH] Also set status timeout when lesson has already started but is not yet finished --- .../documentation/DocumentationStatus.vue | 21 +++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/aleksis/apps/alsijil/frontend/components/coursebook/documentation/DocumentationStatus.vue b/aleksis/apps/alsijil/frontend/components/coursebook/documentation/DocumentationStatus.vue index 5531c1e7e..a797465e9 100644 --- a/aleksis/apps/alsijil/frontend/components/coursebook/documentation/DocumentationStatus.vue +++ b/aleksis/apps/alsijil/frontend/components/coursebook/documentation/DocumentationStatus.vue @@ -112,14 +112,23 @@ export default { }, mounted() { this.updateStatus(); - this.statusTimeout = setTimeout( - this.updateStatus, - this.documentationDateTimeStart.diff(DateTime.now(), "seconds").toObject() - .seconds, - ); + + if (DateTime.now() < this.documentationDateTimeStart) { + this.statusTimeout = setTimeout( + this.updateStatus, + this.documentationDateTimeStart.diff(DateTime.now(), "seconds").toObject(), + ); + } else if (DateTime.now() < this.documentationDateTimeEnd) { + this.statusTimeout = setTimeout( + this.updateStatus, + this.documentationDateTimeEnd.diff(DateTime.now(), "seconds").toObject(), + ); + } }, beforeDestroy() { - clearTimeout(this.statusTimeout); + if (this.statusTimeout) { + clearTimeout(this.statusTimeout); + } }, }; </script> -- GitLab