므하
This commit is contained in:
@@ -9,7 +9,7 @@ type Lesson = {
|
||||
id: string;
|
||||
title: string;
|
||||
durationMin: number;
|
||||
progressPct: number; // 0~100
|
||||
progressPct: number;
|
||||
isCompleted: boolean;
|
||||
};
|
||||
|
||||
@@ -23,41 +23,41 @@ type Course = {
|
||||
lessons: Lesson[];
|
||||
};
|
||||
|
||||
const MOCK_COURSES: Course[] = [
|
||||
const COURSES: Course[] = [
|
||||
{
|
||||
id: "c1",
|
||||
title: "원자재 출입 전 계동",
|
||||
title: "원자로 운전 및 계통",
|
||||
description:
|
||||
"원자재 이송/보관 기준을 기반으로 가이드하며, 일련의 단계 별 강의에서 세부적인 작업 지침을 다룹니다.",
|
||||
"원자로 운전 원리와 주요 계통의 구조 및 기능을 이해하고, 일련 단계 가이드 기반의 현업에서 배워야 할 핵심을 익힙니다.",
|
||||
thumbnail: "/imgs/talk.png",
|
||||
status: "수강중",
|
||||
progressPct: 80,
|
||||
lessons: [
|
||||
{ id: "c1l1", title: "1. 운반과 기준 및 방출 절차", durationMin: 12, progressPct: 100, isCompleted: true },
|
||||
{ id: "c1l2", title: "2. 라벨링 원칙과 현장 케어", durationMin: 9, progressPct: 100, isCompleted: true },
|
||||
{ id: "c1l3", title: "3. 배치/현황 기록 및 문서 관리", durationMin: 15, progressPct: 60, isCompleted: false },
|
||||
{ id: "c1l4", title: "4. 보관 적재 기준 점검", durationMin: 8, progressPct: 0, isCompleted: false },
|
||||
{ id: "c1l5", title: "5. 입고 검사 방법 (AQL) 및 유의점", durationMin: 11, progressPct: 0, isCompleted: false },
|
||||
{ id: "c1l6", title: "6. 장비 사용, 손질 및 일지 필기", durationMin: 13, progressPct: 0, isCompleted: false },
|
||||
{ id: "c1l1", title: "1. 원자로 기초 및 핵분열 원리", durationMin: 12, progressPct: 100, isCompleted: true },
|
||||
{ id: "c1l2", title: "2. 제어봉 및 원자로 출력 제어", durationMin: 18, progressPct: 100, isCompleted: true },
|
||||
{ id: "c1l3", title: "3. 터빈-발전기 계통 및 전력 생산", durationMin: 13, progressPct: 60, isCompleted: false },
|
||||
{ id: "c1l4", title: "4. 보조 계통 및 안전 계통", durationMin: 13, progressPct: 0, isCompleted: false },
|
||||
{ id: "c1l5", title: "5. 원자로 냉각재 계통 (RCS) 및 열수력", durationMin: 8, progressPct: 0, isCompleted: false },
|
||||
{ id: "c1l6", title: "6. 원자로 시동, 운전 및 정지 절차", durationMin: 13, progressPct: 0, isCompleted: false },
|
||||
],
|
||||
},
|
||||
{
|
||||
id: "c2",
|
||||
title: "학점과 평가",
|
||||
title: "확률론",
|
||||
description:
|
||||
"학점과 평가 항목 기준을 가이드하며, 일과 관련된 기본 평가 체계와 피드백 처리 방법에 대해 배웁니다.",
|
||||
"확률과 통계의 주요 개념을 가이드하며, 일련 단계 실습을 기반으로 문제 해결력을 기릅니다.",
|
||||
thumbnail: "/imgs/talk.png",
|
||||
status: "수강 완료",
|
||||
progressPct: 100,
|
||||
lessons: [
|
||||
{ id: "c2l1", title: "평가 기준 이해", durationMin: 10, progressPct: 100, isCompleted: true },
|
||||
{ id: "c2l1", title: "기초 개념", durationMin: 10, progressPct: 100, isCompleted: true },
|
||||
],
|
||||
},
|
||||
{
|
||||
id: "c3",
|
||||
title: "부서간 연협",
|
||||
title: "부서간 협업",
|
||||
description:
|
||||
"부서간 협업 절차와 기록 기준을 가이드하며, 일련 단계 별 협업에서 생길 수 있는 리스크 관리법을 다룹니다.",
|
||||
"부서간 협업 절차와 기록 기준을 가이드하며, 협업 중 생길 수 있는 리스크 관리법을 다룹니다.",
|
||||
thumbnail: "/imgs/talk.png",
|
||||
status: "수강중",
|
||||
progressPct: 60,
|
||||
@@ -68,15 +68,13 @@ const MOCK_COURSES: Course[] = [
|
||||
},
|
||||
{
|
||||
id: "c4",
|
||||
title: "작업별 방사선의 이해",
|
||||
title: "방사선의 이해",
|
||||
description:
|
||||
"작업별 방사선 안전 기준을 가이드하며, 일과 관련된 위험과 보호 장비 선택법을 배웁니다.",
|
||||
"방사선 안전 기준을 가이드하며, 일과 관련된 위험과 보호 장비 선택법을 배웁니다.",
|
||||
thumbnail: "/imgs/talk.png",
|
||||
status: "수강 예정",
|
||||
progressPct: 0,
|
||||
lessons: [
|
||||
{ id: "c4l1", title: "기초 이론", durationMin: 12, progressPct: 0, isCompleted: false },
|
||||
],
|
||||
lessons: [{ id: "c4l1", title: "기초 이론", durationMin: 12, progressPct: 0, isCompleted: false }],
|
||||
},
|
||||
];
|
||||
|
||||
@@ -87,16 +85,16 @@ export default function CoursesPage() {
|
||||
|
||||
const countsByStatus = useMemo(() => {
|
||||
return {
|
||||
전체: MOCK_COURSES.length,
|
||||
"수강 예정": MOCK_COURSES.filter((c) => c.status === "수강 예정").length,
|
||||
수강중: MOCK_COURSES.filter((c) => c.status === "수강중").length,
|
||||
"수강 완료": MOCK_COURSES.filter((c) => c.status === "수강 완료").length,
|
||||
전체: COURSES.length,
|
||||
"수강 예정": COURSES.filter((c) => c.status === "수강 예정").length,
|
||||
수강중: COURSES.filter((c) => c.status === "수강중").length,
|
||||
"수강 완료": COURSES.filter((c) => c.status === "수강 완료").length,
|
||||
};
|
||||
}, []);
|
||||
|
||||
const filtered = useMemo(() => {
|
||||
if (activeTab === "전체") return MOCK_COURSES;
|
||||
return MOCK_COURSES.filter((c) => c.status === activeTab);
|
||||
if (activeTab === "전체") return COURSES;
|
||||
return COURSES.filter((c) => c.status === activeTab);
|
||||
}, [activeTab]);
|
||||
|
||||
return (
|
||||
@@ -176,4 +174,3 @@ export default function CoursesPage() {
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user