This commit is contained in:
rgrgogu
2026-06-28 12:43:00 +08:00
parent 9e2eecf9df
commit fe47bdea3c
4 changed files with 17 additions and 16 deletions
@@ -36,7 +36,6 @@ export function buildRowActions({ onViewUnits, onView, onEdit, onArchive, onAsse
icon: <NotebookPen className="h-3.5 w-3.5" />,
className: "text-purple-700 hover:text-purple-600",
onClick: (row) => onAssessment(row),
separator: true,
},
{
key: "archive",
@@ -36,7 +36,6 @@ export function buildRowActions({ onViewLessons, onView, onEdit, onArchive, onQu
icon: <NotebookPen className="h-3.5 w-3.5" />,
className: "text-purple-700 hover:text-purple-600",
onClick: (row) => onQuiz(row),
separator: true,
},
{
key: "archive",
+14 -14
View File
@@ -431,20 +431,20 @@ const UnitList = () => {
(async () => {
const result = await upsertLessonProgress(courseId, selectedUnitId, selectedLessonId, lesson.uuid, 'completed');
if (!result) return;
toast.success(`"${lesson.title}" marked as read.`);
if (result.unit?.status === 'completed') {
const unitTitle = currentUnit?.title;
toast.success(
unitTitle ? `Unit "${unitTitle}" complete!` : 'Unit complete!',
{ duration: 4000 }
);
}
if (result.course?.status === 'completed') {
toast.success(
'All lessons read! Finish the quizzes & assessment to get certified.',
{ duration: 5000 }
);
}
// toast.success(`"${lesson.title}" marked as read.`);
// if (result.unit?.status === 'completed') {
// const unitTitle = currentUnit?.title;
// toast.success(
// unitTitle ? `Unit "${unitTitle}" complete!` : 'Unit complete!',
// { duration: 4000 }
// );
// }
// if (result.course?.status === 'completed') {
// toast.success(
// 'All lessons read! Finish the quizzes & assessment to get certified.',
// { duration: 5000 }
// );
// }
})();
}, [scrollProgress]);
+3
View File
@@ -45,6 +45,7 @@ export const BADGE_STYLES = {
"Not Active": "bg-rose-100 text-rose-700 border-rose-200",
"Verified": "bg-blue-100 text-blue-800 border-blue-200",
"Not Verified": "bg-amber-100 text-amber-700 border-amber-200",
"Banned": "bg-red-100 text-red-700 border-red-200",
// ── Registration / account type ───────────────
"system": "bg-violet-50 text-violet-700 border-violet-200",
@@ -107,6 +108,8 @@ function renderCell(attr, value) {
return <EnumBadge value={value ? "Verified" : "Not Verified"} />;
else if (attr.field === "is_public")
return <EnumBadge value={value ? "Public" : "Private"} />;
else if (attr.field === "is_banned")
return <EnumBadge value={value ? "Banned" : "Not Banned"} />;
else
return <EnumBadge value={value} />;
case "date": return <span className="text-xs text-muted-foreground">{formatDate(value)}</span>;