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:
54
types/schema.ts
Normal file
54
types/schema.ts
Normal file
@@ -0,0 +1,54 @@
|
||||
export interface Category {
|
||||
uuid: string
|
||||
title: string
|
||||
color?: string
|
||||
}
|
||||
|
||||
export interface Step {
|
||||
details: string
|
||||
done: boolean
|
||||
}
|
||||
|
||||
export interface Task {
|
||||
uuid: string
|
||||
title: string
|
||||
description?: string
|
||||
category?: string | null
|
||||
steps?: Step[]
|
||||
}
|
||||
|
||||
export interface Stage {
|
||||
uuid: string
|
||||
title: string
|
||||
tasks: string[]
|
||||
}
|
||||
|
||||
export interface Layout {
|
||||
columns: string[][]
|
||||
}
|
||||
|
||||
export interface HistoryEntry {
|
||||
id: string
|
||||
ts: string
|
||||
actor?: string
|
||||
type: string
|
||||
payload?: any
|
||||
}
|
||||
|
||||
export interface Meta {
|
||||
id: 'open-kanban'
|
||||
version: string
|
||||
createdAt: string
|
||||
modifiedAt: string
|
||||
actor?: string
|
||||
history: HistoryEntry[]
|
||||
}
|
||||
|
||||
export interface Board {
|
||||
categories: Category[]
|
||||
stages: Stage[]
|
||||
tasks: Task[]
|
||||
layout: Layout
|
||||
meta?: Meta
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user