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

25
nuxt.config.ts Normal file
View File

@@ -0,0 +1,25 @@
// Nuxt 4 configuration
export default defineNuxtConfig({
modules: ['@pinia/nuxt', '@nuxtjs/tailwindcss'],
css: ['~/assets/css/tailwind.css'],
typescript: {
strict: true
},
app: {
head: {
title: 'Kanban'
}
},
tailwindcss: {
viewer: false
},
runtimeConfig: {
public: {
appTitle: 'Kanban',
localStorageKey: 'open-kanban-board',
defaultFilename: 'kanban.json',
autoLoadFile: '' // e.g. '/sample-board.json'
}
}
});