diff --git a/bun.lockb b/bun.lockb new file mode 100755 index 0000000..005bfad Binary files /dev/null and b/bun.lockb differ diff --git a/package.json b/package.json index b0aed5c..bd9cc91 100644 --- a/package.json +++ b/package.json @@ -48,6 +48,7 @@ "@supabase/supabase-js": "^2.44.4", "bits-ui": "^0.21.12", "clsx": "^2.1.1", + "mode-watcher": "^0.4.1", "tailwind-merge": "^2.4.0", "tailwind-variants": "^0.2.1" } diff --git a/src/lib/engineer.ts b/src/lib/engineer.ts index b596a71..0e48720 100644 --- a/src/lib/engineer.ts +++ b/src/lib/engineer.ts @@ -1,7 +1,7 @@ // Implements the schedule engineering algorithm import { sum } from 'lodash-es'; -import { type VirtualSchedule, PERIODS, type UnfinishedSchedule } from './InfoInput'; +import { type VirtualSchedule, PERIODS, type UnfinishedSchedule } from './InfoInput.d'; import { setDifference, type ArrElement } from './utils'; function scheduleToClassSet(schedule: VirtualSchedule) { const classSet = new Set(); @@ -16,7 +16,7 @@ function scheduleToClassSet(schedule: VirtualSchedule) { function findCommonClasses(schedules: VirtualSchedule[]) { const classSets = schedules.map(scheduleToClassSet); const commonClasses = new Set(); - for (const className of classSets[0]) { + for (const className of classSets) { if (classSets.every((classSet) => classSet.has(className))) { commonClasses.add(className); } @@ -35,7 +35,7 @@ function scheduleMovementHeuristic(a: VirtualSchedule, b: VirtualSchedule) { // still move the D&A class to the same time as he does. // TODO: In the future, we will respect the restrictions of which // periods each class can be in -function findOptimumSchedules(schedules: VirtualSchedule[]): VirtualSchedule[] { +export function findOptimumSchedules(schedules: VirtualSchedule[]): VirtualSchedule[] { const commonClasses = findCommonClasses(schedules); function cost(schedule: VirtualSchedule) { return sum(schedules.map((x) => scheduleMovementHeuristic(schedule, x))); diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index 61fa188..faca673 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -1,6 +1,17 @@
@@ -9,8 +20,11 @@ learn more)
+
+ + +
-