refactor(app): rewrite application with Nuxt 4, Pinia, and TailwindCSS

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.
This commit is contained in:
xiaomai
2025-10-22 17:08:31 +08:00
parent 00dc568576
commit 2384e42933
27 changed files with 8609 additions and 1331 deletions

36
public/sample-board.json Normal file
View File

@@ -0,0 +1,36 @@
{
"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"]]
}
}