This commit replaces the original vanilla JavaScript implementation with a modern frontend stack. The entire application has been rewritten to improve maintainability, developer experience, and leverage modern web technologies. Key changes include: - Replaced plain HTML, CSS, and JS with a Nuxt 4 project structure. - Migrated state management from a global state object to a Pinia store for better organization and reactivity. - Rebuilt the UI with Vue 3 components and styled with TailwindCSS. - Changed the primary persistence mechanism from manual file I/O to automatic LocalStorage saving, while retaining import/export functionality. - All core features, including drag-and-drop, task management, and the import/merge diffing logic, have been ported to the new architecture.
37 lines
1019 B
JSON
37 lines
1019 B
JSON
{
|
|
"categories": [
|
|
{ "uuid": "c-urgent", "title": "Urgent", "color": "ff3b30" },
|
|
{ "uuid": "c-normal", "title": "Normal", "color": "34c759" }
|
|
],
|
|
"stages": [
|
|
{ "uuid": "s-todo", "title": "Todo", "tasks": ["t-sample-1"] },
|
|
{ "uuid": "s-doing", "title": "Doing", "tasks": [] },
|
|
{ "uuid": "s-done", "title": "Done", "tasks": ["t-sample-2"] }
|
|
],
|
|
"tasks": [
|
|
{
|
|
"uuid": "t-sample-1",
|
|
"title": "Example: Set up project",
|
|
"description": "Try adding a stage, a task, and drag it.",
|
|
"category": "c-normal",
|
|
"steps": [
|
|
{ "details": "Create repository", "done": true },
|
|
{ "details": "Add README", "done": false }
|
|
]
|
|
},
|
|
{
|
|
"uuid": "t-sample-2",
|
|
"title": "Example: Celebrate",
|
|
"description": "Mark a task done to see step stats.",
|
|
"category": "c-urgent",
|
|
"steps": [
|
|
{ "details": "Share with team", "done": true }
|
|
]
|
|
}
|
|
],
|
|
"layout": {
|
|
"columns": [["s-todo"], ["s-doing"], ["s-done"]]
|
|
}
|
|
}
|
|
|