feat: Implement instructor course management, including student progress tracking and course content views, alongside admin user management.

This commit is contained in:
Missez 2026-02-05 09:31:24 +07:00
parent c9381b9385
commit be5b9756be
11 changed files with 2116 additions and 1386 deletions

View file

@ -12,7 +12,7 @@
@click="exportExcel"
/>
<!-- <q-btn
color="primary"
color="primary"
label="+ เพิ่มผู้ใช้ใหม่"
@click="showAddModal = true"
/> -->
@ -82,8 +82,14 @@
<template v-slot:body-cell-user="props">
<q-td :props="props">
<div class="flex items-center gap-3">
<div class="w-10 h-10 bg-primary-100 rounded-full flex items-center justify-center">
<q-icon name="person" color="primary" />
<div class="w-10 h-10 rounded-full overflow-hidden flex items-center justify-center bg-primary-100">
<img
v-if="props.row.avatar_url || props.row.profile?.avatar_url"
:src="props.row.avatar_url || props.row.profile?.avatar_url"
class="w-full h-full object-cover"
alt="Avatar"
/>
<q-icon v-else name="person" color="primary" />
</div>
<div>
<div class="font-medium text-primary-600 hover:underline cursor-pointer">
@ -158,8 +164,14 @@
<q-card-section v-if="selectedUser">
<!-- Avatar & Name -->
<div class="flex items-center gap-4 mb-6">
<div class="w-20 h-20 bg-primary-100 rounded-full flex items-center justify-center text-3xl">
<q-icon name="person" color="primary" size="40px" />
<div class="w-20 h-20 rounded-full overflow-hidden flex items-center justify-center bg-primary-100 text-3xl">
<img
v-if="selectedUser.avatar_url || selectedUser.profile?.avatar_url"
:src="selectedUser.avatar_url || selectedUser.profile?.avatar_url"
class="w-full h-full object-cover"
alt="Avatar"
/>
<q-icon v-else name="person" color="primary" size="40px" />
</div>
<div>
<div class="text-xl font-bold text-gray-900">