* refactor(UserSchedule): index by a unique id rather than name * refactor: Update parameter names in schedule function jsdocs * refactor: change more instances of .name to .id * refactor: Fix typo in variable name and update references * refactor: Remove console.log statement * fix(chromatic): Update ScheduleListItem story * refactor: remove unused eslint rule
28 lines
724 B
TypeScript
28 lines
724 B
TypeScript
import { UserSchedule } from '@shared/types/UserSchedule';
|
|
import { createLocalStore, debugStore } from 'chrome-extension-toolkit';
|
|
|
|
import { generateRandomId } from '../util/random';
|
|
|
|
interface IUserScheduleStore {
|
|
schedules: UserSchedule[];
|
|
activeIndex: number;
|
|
}
|
|
|
|
/**
|
|
* A store that is used for storing user schedules (and the active schedule)
|
|
*/
|
|
export const UserScheduleStore = createLocalStore<IUserScheduleStore>({
|
|
schedules: [
|
|
new UserSchedule({
|
|
courses: [],
|
|
id: generateRandomId(),
|
|
name: 'Schedule 1',
|
|
hours: 0,
|
|
updatedAt: Date.now(),
|
|
}),
|
|
],
|
|
activeIndex: 0,
|
|
});
|
|
|
|
debugStore({ userScheduleStore: UserScheduleStore });
|