UNPKG

@appsemble/types

Version:

TypeScript definitions reused within Appsemble internally

61 lines (60 loc) 1.33 kB
import { type ComponentType } from 'react'; export type TrainingStatus = 'available' | 'blocked' | 'completed' | 'in progress'; export interface TrainingChapter { /** * ID of the chapter. */ id: string; /** * Title of the chapter */ title: string; /** * List of trainings that make up this chapter. */ trainings: Training[]; /** * The ID of the chapter that has to be completed before this one can be accessed. */ blockedBy?: string; /** * The status of the chapter */ status: TrainingStatus; } export interface Training { /** * Id of the training. */ id: string; /** * Title of the training */ title: string; /** * The path of the training page to route to. */ path: string; /** * The content of the training to render. */ content?: ComponentType; /** * The status of the training */ status: TrainingStatus; } export interface TrainingChapterProperties { /** * The ID of the chapter that has to be completed before this one can be accessed. */ blockedBy: string; /** * Title of the chapter */ title: string; /** * The order in which the trainings must be completed */ trainingOrder: string[]; }