feat: auto create empty schedule when deleted all schedules (#552)
* feat: enhance schedule deletion to create a new schedule if none remain * feat: set active index to new schedule if only one exists * chore: run lint * feat: enhance schedule deletion to create a new schedule if none remain * feat: set active index to new schedule if only one exists * chore: run lint * feat: reset schedules on update, refactor invariant to within deleteSchedule * chore: pnpm lint --------- Co-authored-by: Samuel Gunter <29130894+Samathingamajig@users.noreply.github.com> Co-authored-by: Samuel Gunter <sgunter@utexas.edu>
This commit is contained in:
@@ -1,4 +1,7 @@
|
||||
import { ExtensionStore } from '@shared/storage/ExtensionStore';
|
||||
import { UserScheduleStore } from '@shared/storage/UserScheduleStore';
|
||||
|
||||
import createSchedule from '../lib/createSchedule';
|
||||
|
||||
/**
|
||||
* Called when the extension is updated (or when the extension is reloaded in development mode)
|
||||
@@ -8,4 +11,11 @@ export default async function onUpdate() {
|
||||
version: chrome.runtime.getManifest().version,
|
||||
lastUpdate: Date.now(),
|
||||
});
|
||||
|
||||
const schedules = await UserScheduleStore.get('schedules');
|
||||
|
||||
// By invariant, there must always be at least one schedule
|
||||
if (schedules.length === 0) {
|
||||
createSchedule('Schedule 1');
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user