feat: kan opdracht aanmaken met deadline

This commit is contained in:
Joyelle Ndagijimana 2025-05-11 17:18:01 +02:00
parent ca4254bd67
commit 2180425323
4 changed files with 27 additions and 7 deletions

View file

@ -58,7 +58,7 @@ export const deadlineRules = [
return "Invalid date or time.";
}
if (selectedDateTime <= now) {
if (selectedDateTime < now) {
return "The deadline must be in the future.";
}

View file

@ -48,7 +48,7 @@
// Disable combobox when learningPath prop is passed
const lpIsSelected = route.query.hruid !== undefined;
const deadline = ref(null);
const deadline = ref(new Date());
const description = ref("");
const groups = ref<string[][]>([]);
@ -86,6 +86,7 @@
title: assignmentTitle.value,
description: description.value,
learningPath: lp || "",
deadline: deadline.value,
language: language.value,
groups: groups.value,
};

View file

@ -108,6 +108,21 @@
});
}
function getDeadlineClass(deadline?: string | Date): string {
if (!deadline) return "";
const date = new Date(deadline);
const now = new Date();
const isToday =
date.getDate() === now.getDate() &&
date.getMonth() === now.getMonth() &&
date.getFullYear() === now.getFullYear();
if (date.getTime() < now.getTime()) return "deadline-passed";
if (isToday) return "deadline-today";
return "deadline-upcoming";
}
onMounted(async () => {
@ -147,14 +162,13 @@
</div>
<div
class="assignment-deadline"
:class="{ 'deadline-passed': isPastDeadline(assignment.deadline) }"
:class="getDeadlineClass(assignment.deadline)"
>
{{ t("deadline") }}:
<span>
{{ formatDate(assignment.deadline) }}
</span>
<span>{{ formatDate(assignment.deadline) }}</span>
</div>
</div>
<div class="spacer"></div>
@ -259,6 +273,11 @@
font-weight: bold;
}
.assignment-deadline.deadline-today {
color: #f57c00;
font-weight: bold;
}
.spacer {
flex: 1;
}