v1.1.0: Add cancelled course, duplicate prevention, and credit bar ticks
- Mark "Managing Growing Companies" as cancelled with visual indicator and solver exclusion - Prevent selecting duplicate courses across elective sets (e.g., same course in Spring and Summer) - Add 2.5-credit interval tick marks to specialization progress bars - Bump version to 1.1.0 with date display in UI header
This commit is contained in:
@@ -110,6 +110,7 @@ export const COURSES: Course[] = [
|
||||
// === Summer Elective Set 2 ===
|
||||
{
|
||||
id: 'sum2-managing-growing', name: 'Managing Growing Companies', setId: 'sum2',
|
||||
cancelled: true,
|
||||
qualifications: [
|
||||
{ specId: 'ENT', marker: 'standard' }, { specId: 'LCM', marker: 'standard' },
|
||||
{ specId: 'MGT', marker: 'standard' }, { specId: 'STR', marker: 'S1' },
|
||||
|
||||
@@ -38,3 +38,15 @@ export const setIdByCourse: Record<string, string> = {};
|
||||
for (const course of COURSES) {
|
||||
setIdByCourse[course.id] = course.setId;
|
||||
}
|
||||
|
||||
// Cancelled course IDs
|
||||
export const cancelledCourseIds = new Set(
|
||||
COURSES.filter((c) => c.cancelled).map((c) => c.id),
|
||||
);
|
||||
|
||||
// Course IDs indexed by course name (for detecting duplicates across sets)
|
||||
export const courseIdsByName: Record<string, string[]> = {};
|
||||
for (const course of COURSES) {
|
||||
if (course.cancelled) continue;
|
||||
(courseIdsByName[course.name] ??= []).push(course.id);
|
||||
}
|
||||
|
||||
@@ -19,6 +19,7 @@ export interface Course {
|
||||
name: string;
|
||||
setId: string;
|
||||
qualifications: Qualification[];
|
||||
cancelled?: boolean;
|
||||
}
|
||||
|
||||
export interface Specialization {
|
||||
|
||||
Reference in New Issue
Block a user