Open Edqe14 opened 2 years ago
interface Collection {
id: string;
name: string;
}
interface Task {
id: string; // Snowflake
name: string; // Simple & short task name (e.g. "Clean the house")
description: object; // Longer description of the task, tiptap's JSON output
collections: Collection['id'][]; // Task collections (prefixed by @)
order: number; // Order of the task in the collection
starred: boolean; // Whether the task is starred
deadline?: Date; // Deadline of the task, optional
}
type AllTasks = Record<string, Task[]>;
interface RoutineSchedule {
days: number[]; // 0-6, 0 is Sunday
times: string[]; // HH:MM
}
interface Routine {
name: string;
schedule: RoutineSchedule;
important: boolean;
}
interface Configuration {
colorScheme: number; // Index of the color scheme to use
task: {
deadline: {
enabled: boolean; // Whether to check for deadlines
threshold: number[]; // In miliseconds, threshold to test for near deadlines
};
};
routine: {
hour12: boolean;
defaultImportant: boolean;
};
focusMode: {
pomodoroLength: number; // In minutes
shortBreakLength: number; // In minutes
longBreakLength: number; // In minutes
longBreakAfter: number; // In pomodoros
automaticallyMarkAsDone: boolean;
};
notifications: {
enabled: boolean;
deadline: boolean;
routine: boolean;
focusMode: boolean;
sound: {
enabled: boolean;
deadline: boolean;
routine: boolean;
focusMode: boolean;
};
};
}
v1 Features š
grouped list
Pomodoro style
Idea š¤
Task š
It's possible to have multiple tasks in a day.(Change: just make the tasks grouped by category)prefixed by @
.customizable for how near it will count as 'near'
will take the highest position/priority.Routine šāāļø
Monday - Sunday
Hour : Minute (12/24h format, configurable)
default: true
. Will show a notification if not in focus and show a modal or else just show a toast on the corner.Focus-mode ā
25mins
for apomodoro
,5mins
for a short break,15mins
for a long break.all is customizable
.pomodoro
.