diff --git a/assets/vue/components/course/CourseCard.vue b/assets/vue/components/course/CourseCard.vue index 2c9171d008e..612efb262b0 100644 --- a/assets/vue/components/course/CourseCard.vue +++ b/assets/vue/components/course/CourseCard.vue @@ -64,7 +64,7 @@
@@ -117,6 +117,11 @@ const props = defineProps({ required: false, default: false, }, + showSessionDisplayDate: { + type: Boolean, + required: false, + default: true, + }, }) const { t } = useI18n() @@ -128,12 +133,12 @@ const showRemainingDays = computed( ) const daysRemainingText = computed(() => { - if (!showRemainingDays.value || !props.session?.displayEndDate) { + if (!showRemainingDays.value || isCoach.value || !props.session?.displayEndDate) { return null } const endDate = new Date(props.session.displayEndDate) - if (isNaN(endDate)) { + if (isNaN(endDate.getTime())) { return null } @@ -166,7 +171,7 @@ const sessionDurationText = computed(() => { const start = new Date(props.session.displayStartDate) const end = new Date(props.session.displayEndDate) - if (isNaN(start) || isNaN(end)) { + if (isNaN(start.getTime()) || isNaN(end.getTime())) { return null } @@ -174,11 +179,7 @@ const sessionDurationText = computed(() => { const rawDiff = Math.floor((end - start) / msPerDay) + 1 const days = rawDiff > 0 ? rawDiff : 1 - if (days === 1) { - return "1 day duration" - } - - return `${days} days duration` + return days === 1 ? "1 day duration" : `${days} days duration` }) const showCourseDuration = computed(() => platformConfigStore.getSetting("course.show_course_duration") === "true") @@ -201,24 +202,12 @@ const teachers = computed(() => { }) const sessionDisplayDate = computed(() => { - // When setting is enabled, decide between duration (for coaches) and remaining days (for regular users) - if (sessionDurationText.value) { - return sessionDurationText.value - } + if (sessionDurationText.value) return sessionDurationText.value + if (daysRemainingText.value) return daysRemainingText.value - if (daysRemainingText.value) { - return daysRemainingText.value - } - - // Fallback: show the original date range const parts = [] - if (props.session?.displayStartDate) { - parts.push(abbreviatedDatetime(props.session.displayStartDate)) - } - if (props.session?.displayEndDate) { - parts.push(abbreviatedDatetime(props.session.displayEndDate)) - } - + if (props.session?.displayStartDate) parts.push(abbreviatedDatetime(props.session.displayStartDate)) + if (props.session?.displayEndDate) parts.push(abbreviatedDatetime(props.session.displayEndDate)) return parts.join(" — ") }) diff --git a/assets/vue/components/session/SessionCardSimple.vue b/assets/vue/components/session/SessionCardSimple.vue index 74b88227d9d..e8b19b731d0 100644 --- a/assets/vue/components/session/SessionCardSimple.vue +++ b/assets/vue/components/session/SessionCardSimple.vue @@ -38,6 +38,7 @@ function normalizeCourse(course) { :disabled="!isEnabled" :session="session" :session-id="session.id" + :show-session-display-date="false" />
diff --git a/assets/vue/components/session/SessionListView.vue b/assets/vue/components/session/SessionListView.vue index 40f354914d4..3fcb51d0087 100644 --- a/assets/vue/components/session/SessionListView.vue +++ b/assets/vue/components/session/SessionListView.vue @@ -18,9 +18,7 @@ {{ session.name || session.title || "Untitled Session" }}
- {{ session.displayStartDate ? formatDate(session.displayStartDate) : "" }} - - - {{ session.displayEndDate ? formatDate(session.displayEndDate) : "" }} + {{ getSessionDisplayLabel(session) }}
@@ -59,13 +57,15 @@