Files
classroomio/apps/dashboard/src/lib/features/course/utils/settings-store.ts
T

53 lines
1.5 KiB
TypeScript

import type { TCourseType } from '@cio/db/types';
import type { TCourseCallout } from '@cio/utils/validation/course';
import { writable } from 'svelte/store';
type CourseSettings = {
logo: string;
courseTitle: string;
courseDescription: string;
grading: boolean;
type: TCourseType;
allowNewStudents: boolean;
tabs: { id: number; name: string }[];
lessonDownload: boolean;
isPublished: boolean;
isContentGroupingEnabled: boolean;
progressionMode: 'free' | 'sequential';
callout: TCourseCallout | null;
welcomeEmailMessage: string;
certificate: {
deadline: string | null;
threshold: number;
requiredExerciseId: string | null;
exerciseMinScorePercent: number | null;
};
};
export const settings = writable<CourseSettings>({
logo: '',
courseTitle: '',
courseDescription: '',
grading: false,
type: 'SELF_PACED' as TCourseType,
allowNewStudents: false,
tabs: [
{ id: 3, name: 'course.navItem.lessons.materials.tabs.video.title' },
{ id: 1, name: 'course.navItem.lessons.materials.tabs.note.title' },
{ id: 2, name: 'course.navItem.lessons.materials.tabs.slide.title' },
{ id: 4, name: 'course.navItem.lessons.materials.tabs.document.title' }
],
lessonDownload: false,
isPublished: false,
isContentGroupingEnabled: true,
progressionMode: 'free',
callout: null,
welcomeEmailMessage: '',
certificate: {
deadline: null,
threshold: 100,
requiredExerciseId: null,
exerciseMinScorePercent: null
}
});