fix: лекции когда возвращались не говорили записан ли студент уже или нет
This commit is contained in:
@@ -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 {
|
||||
|
||||
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user