feat: add LMS web client

This commit is contained in:
2026-07-15 13:41:00 +09:00
commit 05ff2644e8
308 changed files with 487923 additions and 0 deletions
@@ -0,0 +1,27 @@
import type { CurriculumWeek } from '../curriculum/types'
import type { ModuleRow } from './types'
export const compareModulePriority = (a: ModuleRow, b: ModuleRow): number => a.sortOrder - b.sortOrder
export const compareModuleShutdownPriority = (a: ModuleRow, b: ModuleRow): number => b.sortOrder - a.sortOrder
export function makeUninstalledModuleRows(curriculumModules: CurriculumWeek['modules']): ModuleRow[] {
return (curriculumModules ?? [])
.map((module) => ({
state: 'uninstalled' as const,
sortOrder: module.sortOrder,
category: module.category,
name: module.name,
folderName: module.folderName,
sourcePath: module.templateRepositoryUrl ?? '',
workspacePath: null,
templateRepositoryUrl: module.templateRepositoryUrl ?? null,
sourceType: module.sourceType ?? null,
prebuiltArtifacts: module.prebuiltArtifacts ?? null,
parameters: [],
cpu: null,
memory: null,
runtime: '-'
}))
.sort(compareModulePriority)
}