Files
kanban/types/schema.ts
xiaomai 2384e42933 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.
2025-10-22 17:08:31 +08:00

55 lines
769 B
TypeScript

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
}