feat: Add initial e-learning frontend setup including admin and instructor services, layouts, and pages.
All checks were successful
Build and Deploy Frontend Management to Dev Server / Build Frontend Management Docker Image (push) Successful in 46s
Build and Deploy Frontend Management to Dev Server / Deploy E-learning Frontend Management to Dev Server (push) Successful in 6s
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 46s
Build and Deploy Frontend Management to Dev Server / Deploy E-learning Frontend Management to Dev Server (push) Successful in 6s
Build and Deploy Frontend Management to Dev Server / Notify Deployment Status (push) Successful in 1s
This commit is contained in:
parent
01d249c19a
commit
031ca5c984
12 changed files with 135 additions and 36 deletions
|
|
@ -218,7 +218,7 @@
|
|||
<p>เลือกระยะเวลาที่ต้องการเก็บไว้ (ลบข้อมูลที่เก่ากว่ากำหนด):</p>
|
||||
<q-select
|
||||
v-model="cleanupDays"
|
||||
:options="[30, 60, 90, 180, 365]"
|
||||
:options="[7, 15, 30, 60, 90, 180, 365]"
|
||||
label="จำนวนวัน"
|
||||
suffix="วัน"
|
||||
outlined
|
||||
|
|
@ -75,7 +75,7 @@
|
|||
<div class="space-y-4">
|
||||
<!-- Stats -->
|
||||
<div class="bg-white rounded-xl shadow-sm p-6">
|
||||
<h3 class="font-semibold text-gray-700 mb-4">สถิติ</h3>
|
||||
<h3 class="font-semibold text-gray-700 mb-4">รายละเอียด</h3>
|
||||
<div class="space-y-3">
|
||||
<div class="flex justify-between">
|
||||
<span class="text-gray-500">จำนวนบท</span>
|
||||
|
|
@ -93,6 +93,14 @@
|
|||
<span class="text-gray-500">แบบทดสอบ</span>
|
||||
<span class="font-medium">{{ quizCount }}</span>
|
||||
</div>
|
||||
<div class="flex justify-between">
|
||||
<span class="text-gray-500">สร้างเมื่อ</span>
|
||||
<span>{{ formatDate(course.created_at) }}</span>
|
||||
</div>
|
||||
<div class="flex justify-between">
|
||||
<span class="text-gray-500">อัพเดทล่าสุด</span>
|
||||
<span>{{ formatDate(course.updated_at) }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
@ -116,21 +124,6 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Timeline -->
|
||||
<div class="bg-white rounded-xl shadow-sm p-6">
|
||||
<h3 class="font-semibold text-gray-700 mb-4">ข้อมูลระบบ</h3>
|
||||
<div class="space-y-3 text-sm">
|
||||
<div class="flex justify-between">
|
||||
<span class="text-gray-500">สร้างเมื่อ</span>
|
||||
<span>{{ formatDate(course.created_at) }}</span>
|
||||
</div>
|
||||
<div class="flex justify-between">
|
||||
<span class="text-gray-500">อัพเดทล่าสุด</span>
|
||||
<span>{{ formatDate(course.updated_at) }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
|
|||
|
|
@ -146,7 +146,7 @@
|
|||
<div class="card bg-white rounded-lg shadow-sm">
|
||||
<div class="p-6 border-b flex justify-between items-center">
|
||||
<h2 class="text-lg font-semibold text-gray-900">กิจกรรมล่าสุด</h2>
|
||||
<q-btn flat color="primary" label="ดูทั้งหมด" to="/admin/audit-logs" size="sm" />
|
||||
<q-btn flat color="primary" label="ดูทั้งหมด" to="/admin/audit-log" size="sm" />
|
||||
</div>
|
||||
<div class="divide-y">
|
||||
<div v-if="loading" class="p-8 text-center text-gray-500">
|
||||
|
|
|
|||
|
|
@ -183,6 +183,34 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Course Structure -->
|
||||
<div v-if="selectedCourse.chapters && selectedCourse.chapters.length > 0" class="mt-6">
|
||||
<div class="font-bold text-lg mb-3">โครงสร้างหลักสูตร (Course Structure)</div>
|
||||
<div class="space-y-3">
|
||||
<q-expansion-item
|
||||
v-for="(chapter, index) in selectedCourse.chapters"
|
||||
:key="chapter.id"
|
||||
:label="`บทที่ ${index + 1}: ${chapter.title.th}`"
|
||||
:caption="`${chapter.lessons.length} บทเรียน`"
|
||||
header-class="bg-gray-50 rounded-lg"
|
||||
expand-icon-class="text-primary"
|
||||
>
|
||||
<div class="pl-4 pt-2">
|
||||
<div
|
||||
v-for="(lesson, lessonIndex) in chapter.lessons"
|
||||
:key="lesson.id"
|
||||
class="flex items-center gap-3 py-2 border-b last:border-b-0"
|
||||
>
|
||||
<q-icon name="article" color="primary" size="20px" />
|
||||
<span class="text-gray-700">{{ lessonIndex + 1 }}. {{ lesson.title.th }}</span>
|
||||
<span v-if="lesson.title.en" class="text-gray-400 text-xs ml-auto">{{ lesson.title.en }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</q-expansion-item>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</q-card-section>
|
||||
|
||||
<!-- Inner Loading -->
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue