diff --git a/src/lib/curriculum.ts b/src/lib/curriculum.ts index 9d6eb1a..e0ad2ad 100644 --- a/src/lib/curriculum.ts +++ b/src/lib/curriculum.ts @@ -9,6 +9,7 @@ export type CurriculumWeek = { duration: string; github: string; detail: { + camera?: { url: string; password: string }; overview: string; learningSteps?: Array<{ title: string; @@ -145,6 +146,8 @@ export async function updateInstructorCurriculum( title?: string; duration?: string; overview?: string; + cameraViewUrl?: string; + cameraPassword?: string; deliverable?: string; isTeamProject?: boolean; topics?: string[]; diff --git a/src/lib/platforms.ts b/src/lib/platforms.ts index b989864..15215de 100644 --- a/src/lib/platforms.ts +++ b/src/lib/platforms.ts @@ -1,5 +1,4 @@ export type InstructorPlatform = { - camera?: { url: string; password: string }; id: string; masterPlatformId: string; name: string; @@ -191,8 +190,6 @@ export async function updateInstructorPlatform( algorithms: PlatformAlgorithms, controlDurationMinutes: number, controlWarningMinutes: number, - cameraViewUrl: string, - cameraPassword: string, ): Promise { const response = await fetch(`${LMS_API_BASE_URL}/instructor/platforms/${platformId}`, { method: 'PUT', @@ -210,8 +207,6 @@ export async function updateInstructorPlatform( algorithms, controlDurationMinutes, controlWarningMinutes, - cameraViewUrl, - cameraPassword, }), }); diff --git a/src/pages/curriculum/CurriculumPage.tsx b/src/pages/curriculum/CurriculumPage.tsx index 675a949..b489ed4 100644 --- a/src/pages/curriculum/CurriculumPage.tsx +++ b/src/pages/curriculum/CurriculumPage.tsx @@ -116,6 +116,8 @@ export function CurriculumPage({ session, selectedCourseId }: { session: AuthSes const [draftTitle, setDraftTitle] = useState(''); const [draftDuration, setDraftDuration] = useState(''); const [draftOverview, setDraftOverview] = useState(''); + const [draftCameraUrl, setDraftCameraUrl] = useState(''); + const [draftCameraPassword, setDraftCameraPassword] = useState(''); const [draftDeliverable, setDraftDeliverable] = useState(''); const [draftIsTeamProject, setDraftIsTeamProject] = useState(false); const [draftTopics, setDraftTopics] = useState([]); @@ -274,6 +276,8 @@ export function CurriculumPage({ session, selectedCourseId }: { session: AuthSes setDraftTitle(selectedWeek.title); setDraftDuration(selectedWeek.duration); setDraftOverview(selectedWeek.detail.overview); + setDraftCameraUrl(selectedWeek.detail.camera?.url ?? ''); + setDraftCameraPassword(selectedWeek.detail.camera?.password ?? ''); setDraftDeliverable(selectedWeek.detail.deliverable); setDraftIsTeamProject(Boolean(selectedWeek.isTeamProject)); setDraftTopics(selectedWeek.topics.length ? selectedWeek.topics : ['']); @@ -350,6 +354,8 @@ export function CurriculumPage({ session, selectedCourseId }: { session: AuthSes title: draftTitle, duration: draftDuration, overview: draftOverview, + cameraViewUrl: draftCameraUrl, + cameraPassword: draftCameraPassword, deliverable: draftDeliverable, isTeamProject: draftIsTeamProject, topics: draftTopics.map((topic) => topic.trim()).filter(Boolean), @@ -398,6 +404,8 @@ export function CurriculumPage({ session, selectedCourseId }: { session: AuthSes title: draftTitle, duration: draftDuration, overview: draftOverview, + cameraViewUrl: draftCameraUrl, + cameraPassword: draftCameraPassword, deliverable: draftDeliverable, isTeamProject: draftIsTeamProject, topics, @@ -439,6 +447,8 @@ export function CurriculumPage({ session, selectedCourseId }: { session: AuthSes title: draftTitle, duration: draftDuration, overview: draftOverview, + cameraViewUrl: draftCameraUrl, + cameraPassword: draftCameraPassword, deliverable: draftDeliverable, isTeamProject: draftIsTeamProject, topics: draftTopics.map((topic) => topic.trim()).filter(Boolean), @@ -1205,6 +1215,19 @@ export function CurriculumPage({ session, selectedCourseId }: { session: AuthSes +
+ + +