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' },