todolibformobileapp
Version:
A comprehensive ToDo library for managing categories and tasks with priority, recurring schedules, and automatic cleanup
56 lines (46 loc) • 1.31 kB
JavaScript
// Example usage of ToDoLib
import ToDoLib from "./index.js";
// Initialize empty data
let todoData = [];
// Add categories
todoData = ToDoLib.addCategory(todoData, "work_001", "Work Tasks", "#FF5733");
todoData = ToDoLib.addCategory(
todoData,
"personal_001",
"Personal Tasks",
"#33FF57"
);
// Add tasks to work category
todoData = ToDoLib.addTask(todoData, "work_001", {
name: "Complete project proposal",
notes: "Need to finalize budget and timeline",
canBeRepeated: false,
});
todoData = ToDoLib.addTask(todoData, "work_001", {
name: "Weekly team meeting",
notes: "Discuss progress and blockers",
canBeRepeated: true,
when: "Monday",
});
// Add tasks to personal category
todoData = ToDoLib.addTask(todoData, "personal_001", {
name: "Grocery shopping",
notes: "Buy fruits and vegetables",
canBeRepeated: true,
when: "Saturday,Sunday",
});
// Toggle a task as done
todoData = ToDoLib.toggleTaskDone(
todoData,
"work_001",
"Complete project proposal",
true
);
// Sort the data
todoData = ToDoLib.sortToDos(todoData);
// Process recurring tasks (call this daily)
const chronResult = ToDoLib.chron(todoData);
console.log("Updated data:", chronResult.update);
console.log("Deleted categories:", chronResult.delete);
// Export for other modules
export default todoData;