fix: лекции когда возвращались не говорили записан ли студент уже или нет

This commit is contained in:
2026-05-13 20:01:43 +03:00
parent 65e3d1bf18
commit d29b52f824
10 changed files with 79 additions and 13 deletions
+1 -1
View File
@@ -94,7 +94,7 @@ export const useLecturesStore = defineStore('lectures', () => {
}
function isRegistered(lectureId: string) {
return registered.value.includes(lectureId)
return registered.value.includes(lectureId) || Boolean(lectures.value.find(item => item.id === lectureId)?.registered)
}
return {
+7 -3
View File
@@ -109,6 +109,10 @@ async function registerLecture(id: string) {
addToast?.(err instanceof Error ? err.message : 'Не удалось записаться на лекцию.', 'error')
}
}
function isRegistered(id: string) {
return lecturesStore.isRegistered(id)
}
</script>
<template>
@@ -204,7 +208,7 @@ async function registerLecture(id: string) {
v-for="l in filtered"
:key="l.id"
:lecture="l"
:registered="lecturesStore.registeredIds.includes(l.id)"
:registered="isRegistered(l.id)"
:show-rating="false"
@register="registerLecture"
/>
@@ -231,10 +235,10 @@ async function registerLecture(id: string) {
<template #action="{ row }">
<button
class="btn-primary btn-sm"
:disabled="row.freeSeats === 0 || row.registrationClosed || lecturesStore.registeredIds.includes(row.id)"
:disabled="row.freeSeats === 0 || row.registrationClosed || isRegistered(row.id)"
@click="registerLecture(row.id)"
>
{{ lecturesStore.registeredIds.includes(row.id) ? 'Записан' : 'Записаться' }}
{{ isRegistered(row.id) ? 'Записан' : 'Записаться' }}
</button>
</template>
</DataTable>