diff --git a/frontend/src/components/ui/DataTable.vue b/frontend/src/components/ui/DataTable.vue index 152d395..e75fdb1 100644 --- a/frontend/src/components/ui/DataTable.vue +++ b/frontend/src/components/ui/DataTable.vue @@ -1,15 +1,15 @@ diff --git a/frontend/src/views/admin/AdminLecturesView.vue b/frontend/src/views/admin/AdminLecturesView.vue index 17f4616..92c4231 100644 --- a/frontend/src/views/admin/AdminLecturesView.vue +++ b/frontend/src/views/admin/AdminLecturesView.vue @@ -17,9 +17,10 @@ import EmptyState from '@/components/ui/EmptyState.vue' import CreateLectureModal from '@/components/admin/CreateLectureModal.vue' type TabKey = 'lectures' | 'courses' | 'rooms' | 'tags' +type DataTableColumn = { key: string; label: string; align?: 'left' | 'center' | 'right' } type TabConfig = { title: string - columns: Array<{ key: string; label: string; align?: string }> + columns: DataTableColumn[] rows: Record[] } diff --git a/frontend/src/views/admin/AdminReviewsView.vue b/frontend/src/views/admin/AdminReviewsView.vue index aef782a..132521e 100644 --- a/frontend/src/views/admin/AdminReviewsView.vue +++ b/frontend/src/views/admin/AdminReviewsView.vue @@ -7,7 +7,9 @@ import EmptyState from '@/components/ui/EmptyState.vue' import { reviewsApi } from '@/api' import type { ApiReviewLlmStatus, ApiReviewSentiment, ReviewDto } from '@/api/types' -const columns = [ +type DataTableColumn = { key: string; label: string; align?: 'left' | 'center' | 'right' } + +const columns: DataTableColumn[] = [ { key: 'id', label: 'ID' }, { key: 'lecture', label: 'Лекция' }, { key: 'student', label: 'Студент' }, diff --git a/frontend/src/views/admin/AdminUsersView.vue b/frontend/src/views/admin/AdminUsersView.vue index e0580fd..78e4890 100644 --- a/frontend/src/views/admin/AdminUsersView.vue +++ b/frontend/src/views/admin/AdminUsersView.vue @@ -13,7 +13,9 @@ const users = ref([]) const loading = ref(false) const error = ref('') -const columns = [ +type DataTableColumn = { key: string; label: string; align?: 'left' | 'center' | 'right' } + +const columns: DataTableColumn[] = [ { key: 'name', label: 'Имя' }, { key: 'email', label: 'Email' }, { key: 'role', label: 'Роль', align: 'center' }, diff --git a/frontend/src/views/student/CatalogView.vue b/frontend/src/views/student/CatalogView.vue index e309f17..b2ed462 100644 --- a/frontend/src/views/student/CatalogView.vue +++ b/frontend/src/views/student/CatalogView.vue @@ -11,6 +11,8 @@ import ModalDialog from '@/components/ui/ModalDialog.vue' import EnrollmentLimitModal from '@/components/ui/EnrollmentLimitModal.vue' const lecturesStore = useLecturesStore() +type DataTableColumn = { key: string; label: string; align?: 'left' | 'center' | 'right' } + const search = ref('') const viewMode = ref<'cards' | 'list' | 'calendar'>('cards') const dateFilter = ref('Любая дата') @@ -102,7 +104,7 @@ const appliedFilters = computed(() => { return filters }) -const tableColumns = [ +const tableColumns: DataTableColumn[] = [ { key: 'title', label: 'Лекция' }, { key: 'teacher', label: 'Преподаватель' }, { key: 'date', label: 'Дата' }, diff --git a/frontend/src/views/teacher/TeacherLecturesView.vue b/frontend/src/views/teacher/TeacherLecturesView.vue index 15e3bb0..5a0c89c 100644 --- a/frontend/src/views/teacher/TeacherLecturesView.vue +++ b/frontend/src/views/teacher/TeacherLecturesView.vue @@ -8,8 +8,9 @@ import StatusBadge from '@/components/ui/StatusBadge.vue' import EmptyState from '@/components/ui/EmptyState.vue' const auth = useAuthStore() const lecturesStore = useLecturesStore() +type DataTableColumn = { key: string; label: string; align?: 'left' | 'center' | 'right' } -const columns = [ +const columns: DataTableColumn[] = [ { key: 'title', label: 'Лекция' }, { key: 'date', label: 'Дата' }, { key: 'status', label: 'Статус', align: 'center' },