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.
26 lines
487 B
TypeScript
26 lines
487 B
TypeScript
// 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'
|
|
}
|
|
}
|
|
});
|
|
|