-
{{ $t('discovery.title') }}
+
{{ $t('discovery.title') }}
@@ -203,17 +203,17 @@ onMounted(async () => {
@@ -229,7 +229,7 @@ onMounted(async () => {
-
+
![]()
@@ -240,7 +240,7 @@ onMounted(async () => {
-
{{ getLocalizedText(course.title) }}
+
{{ getLocalizedText(course.title) }}
@@ -248,7 +248,8 @@ onMounted(async () => {
{{ course.formatted_price }}
-
@@ -258,7 +259,7 @@ onMounted(async () => {
-
+
@@ -267,14 +268,14 @@ onMounted(async () => {
-
{{ getLocalizedText(course.title) }}
+ {{ getLocalizedText(course.title) }}
{{ course.formatted_price }}
-
+
{{ $t('discovery.viewDetails') }}
@@ -289,9 +290,9 @@ onMounted(async () => {
-
+
-
{{ $t("discovery.emptyTitle") }}
+
{{ $t("discovery.emptyTitle") }}
{{ $t("discovery.emptyDesc") }}
{{ $t("discovery.showAll") }}
diff --git a/frontend_management/components/course/AnnouncementsTab.vue b/frontend_management/components/course/AnnouncementsTab.vue
index ab094e2f..aa529d46 100644
--- a/frontend_management/components/course/AnnouncementsTab.vue
+++ b/frontend_management/components/course/AnnouncementsTab.vue
@@ -449,7 +449,10 @@ const deleteAttachment = async (attachmentId: number) => {
}
};
-// Date formatting function is auto-imported from utils/date.ts
+const formatDate = (dateStr: string) => {
+ const date = new Date(dateStr);
+ return date.toLocaleDateString('th-TH', { day: 'numeric', month: 'short', year: 'numeric' });
+};
const formatFileSize = (bytes: number) => {
if (bytes < 1024) return bytes + ' B';
diff --git a/frontend_management/components/course/ApprovalHistoryTab.vue b/frontend_management/components/course/ApprovalHistoryTab.vue
index 335845b3..f1dd8942 100644
--- a/frontend_management/components/course/ApprovalHistoryTab.vue
+++ b/frontend_management/components/course/ApprovalHistoryTab.vue
@@ -20,7 +20,7 @@
v-for="item in history"
:key="item.id"
:title="titleMap[item.action] || item.action"
- :subtitle="formatDateTime(item.created_at)"
+ :subtitle="formatDate(item.created_at)"
:color="colorMap[item.action] || 'grey'"
:icon="iconMap[item.action] || 'circle'"
>
@@ -91,7 +91,12 @@ const getActorName = (item: ApprovalHistory) => {
return actor.username || actor.email || 'Unknown User';
};
-// Date formatting function is auto-imported from utils/date.ts
+const formatDate = (dateString: string) => {
+ return new Date(dateString).toLocaleString('th-TH', {
+ dateStyle: 'medium',
+ timeStyle: 'short'
+ });
+};
onMounted(() => {
fetchHistory();
diff --git a/frontend_management/components/course/QuizResultsTab.vue b/frontend_management/components/course/QuizResultsTab.vue
index c69ebe97..eef37e63 100644
--- a/frontend_management/components/course/QuizResultsTab.vue
+++ b/frontend_management/components/course/QuizResultsTab.vue
@@ -450,7 +450,14 @@ const openStudentDetail = async (studentId: number) => {
const formatDate = (dateStr: string) => {
if (!dateStr) return '-';
- return formatDateTime(dateStr);
+ const date = new Date(dateStr);
+ return date.toLocaleDateString('th-TH', {
+ day: 'numeric',
+ month: 'short',
+ year: 'numeric',
+ hour: '2-digit',
+ minute: '2-digit'
+ });
};
// Lifecycle
diff --git a/frontend_management/components/course/StudentsTab.vue b/frontend_management/components/course/StudentsTab.vue
index 1cd742b1..9a8f4416 100644
--- a/frontend_management/components/course/StudentsTab.vue
+++ b/frontend_management/components/course/StudentsTab.vue
@@ -404,7 +404,8 @@ const getStudentStatusLabel = (status: string) => {
};
const formatEnrollDate = (dateStr: string) => {
- return formatDate(dateStr);
+ const date = new Date(dateStr);
+ return date.toLocaleDateString('th-TH', { day: 'numeric', month: 'short', year: 'numeric' });
};
const getLessonTypeIcon = (type: string) => {
@@ -435,7 +436,8 @@ const formatVideoTime = (seconds: number) => {
const formatCompletedDate = (dateStr: string | null) => {
if (!dateStr) return '-';
- return formatDate(dateStr);
+ const date = new Date(dateStr);
+ return date.toLocaleDateString('th-TH', { day: 'numeric', month: 'short' });
};
// Fetch on mount
diff --git a/frontend_management/pages/admin/audit-log/index.vue b/frontend_management/pages/admin/audit-log/index.vue
index 8038014e..1214298e 100644
--- a/frontend_management/pages/admin/audit-log/index.vue
+++ b/frontend_management/pages/admin/audit-log/index.vue
@@ -136,7 +136,7 @@
- {{ formatDateTime(props.value) }}
+ {{ formatDate(props.value) }}
@@ -169,7 +169,7 @@
Date & Time
-
{{ formatDateTime(selectedLog.created_at) }}
+
{{ formatDate(selectedLog.created_at) }}
@@ -241,7 +241,7 @@
diff --git a/frontend_management/pages/instructor/profile/index.vue b/frontend_management/pages/instructor/profile/index.vue
index 6a36b365..6a602a39 100644
--- a/frontend_management/pages/instructor/profile/index.vue
+++ b/frontend_management/pages/instructor/profile/index.vue
@@ -301,7 +301,7 @@