feat: add utils/date.ts and stores api/user/me
All checks were successful
Build and Deploy Frontend Management to Dev Server / Build Frontend Management Docker Image (push) Successful in 56s
Build and Deploy Frontend Management to Dev Server / Deploy E-learning Frontend Management to Dev Server (push) Successful in 4s
Build and Deploy Frontend Management to Dev Server / Notify Deployment Status (push) Successful in 1s
All checks were successful
Build and Deploy Frontend Management to Dev Server / Build Frontend Management Docker Image (push) Successful in 56s
Build and Deploy Frontend Management to Dev Server / Deploy E-learning Frontend Management to Dev Server (push) Successful in 4s
Build and Deploy Frontend Management to Dev Server / Notify Deployment Status (push) Successful in 1s
This commit is contained in:
parent
ea442d7815
commit
ae32cfebe4
17 changed files with 199 additions and 275 deletions
|
|
@ -449,10 +449,7 @@ const deleteAttachment = async (attachmentId: number) => {
|
|||
}
|
||||
};
|
||||
|
||||
const formatDate = (dateStr: string) => {
|
||||
const date = new Date(dateStr);
|
||||
return date.toLocaleDateString('th-TH', { day: 'numeric', month: 'short', year: 'numeric' });
|
||||
};
|
||||
// Date formatting function is auto-imported from utils/date.ts
|
||||
|
||||
const formatFileSize = (bytes: number) => {
|
||||
if (bytes < 1024) return bytes + ' B';
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@
|
|||
v-for="item in history"
|
||||
:key="item.id"
|
||||
:title="titleMap[item.action] || item.action"
|
||||
:subtitle="formatDate(item.created_at)"
|
||||
:subtitle="formatDateTime(item.created_at)"
|
||||
:color="colorMap[item.action] || 'grey'"
|
||||
:icon="iconMap[item.action] || 'circle'"
|
||||
>
|
||||
|
|
@ -91,12 +91,7 @@ const getActorName = (item: ApprovalHistory) => {
|
|||
return actor.username || actor.email || 'Unknown User';
|
||||
};
|
||||
|
||||
const formatDate = (dateString: string) => {
|
||||
return new Date(dateString).toLocaleString('th-TH', {
|
||||
dateStyle: 'medium',
|
||||
timeStyle: 'short'
|
||||
});
|
||||
};
|
||||
// Date formatting function is auto-imported from utils/date.ts
|
||||
|
||||
onMounted(() => {
|
||||
fetchHistory();
|
||||
|
|
|
|||
|
|
@ -450,14 +450,7 @@ const openStudentDetail = async (studentId: number) => {
|
|||
|
||||
const formatDate = (dateStr: string) => {
|
||||
if (!dateStr) return '-';
|
||||
const date = new Date(dateStr);
|
||||
return date.toLocaleDateString('th-TH', {
|
||||
day: 'numeric',
|
||||
month: 'short',
|
||||
year: 'numeric',
|
||||
hour: '2-digit',
|
||||
minute: '2-digit'
|
||||
});
|
||||
return formatDateTime(dateStr);
|
||||
};
|
||||
|
||||
// Lifecycle
|
||||
|
|
|
|||
|
|
@ -404,8 +404,7 @@ const getStudentStatusLabel = (status: string) => {
|
|||
};
|
||||
|
||||
const formatEnrollDate = (dateStr: string) => {
|
||||
const date = new Date(dateStr);
|
||||
return date.toLocaleDateString('th-TH', { day: 'numeric', month: 'short', year: 'numeric' });
|
||||
return formatDate(dateStr);
|
||||
};
|
||||
|
||||
const getLessonTypeIcon = (type: string) => {
|
||||
|
|
@ -436,8 +435,7 @@ const formatVideoTime = (seconds: number) => {
|
|||
|
||||
const formatCompletedDate = (dateStr: string | null) => {
|
||||
if (!dateStr) return '-';
|
||||
const date = new Date(dateStr);
|
||||
return date.toLocaleDateString('th-TH', { day: 'numeric', month: 'short' });
|
||||
return formatDate(dateStr);
|
||||
};
|
||||
|
||||
// Fetch on mount
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue