Something went wrong. Try again.
A simple to-do app focused on tasks that can be completed within a specific time span. taskline.tobinio.dev
Something went wrong. Try again.
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182export type Uuid = string;
export type TimeRange = { start: string; // ISO date end: string; // ISO date};
export type TimePoint = { time: string; // ISO datetime};
export type TimeRecurring = | { mode: "daily"; } | { mode: "weekly"; start?: number; end?: number; } | { mode: "yearly"; month?: number; day?: number; };
export type Time = | (TimeRange & { type: "range" }) | (TimePoint & { type: "point" }) | (TimeRecurring & { type: "recurring" });
export type ReminderTime = { time: string; // ISO datetime};
export type ReminderRelative = { offset: number;};
export type Reminder = | (ReminderTime & { type: "time" }) | (ReminderRelative & { type: "relative" });
export type CreateTodoData = { title: string; note: string; time?: Time; tags?: Uuid[]; category?: Uuid; reminders?: Reminder[];};
export type Todo = { uuid: Uuid; title: string; note: string; time?: Time; tags?: Tag[]; category?: Category; checks?: string[]; // ISO dates reminders?: Reminder[];};
export type Label = { uuid: Uuid; name: string; color: string; // "#RRGGBB"};
export type Category = Label & { icon: string;};
export type Tag = Label & { group: number;};
export type Organization = { uuid: Uuid; name: string;};