Ajoute la base organisable par carnet (schéma, champs partagés, valeurs par note) avec activation guidée, tableau éditable, kanban et suppression de colonnes. Corrige le multiselect en vue tableau et enrichit sidebar, grille et i18n FR/EN. Inclut aussi les améliorations flashcards SM-2, l'audit consentement IA et la robustesse du serveur MCP (config, validation, rate-limit, métriques). Co-authored-by: Cursor <cursoragent@cursor.com>
40 lines
1.1 KiB
TypeScript
40 lines
1.1 KiB
TypeScript
import type { NotesLayoutMode } from '@/components/notes-list-views'
|
|
import type { PropertyType } from '@/lib/structured-views/types'
|
|
|
|
export type WizardGoal = 'tasks' | 'learning' | 'reading' | 'simple'
|
|
|
|
export type WizardFieldId = 'status' | 'dueDate' | 'level' | 'lastReview' | 'read' | 'source'
|
|
|
|
export type WizardFieldDef = {
|
|
id: WizardFieldId
|
|
type: PropertyType
|
|
hasOptions?: boolean
|
|
}
|
|
|
|
export const WIZARD_GOALS: WizardGoal[] = ['tasks', 'learning', 'reading', 'simple']
|
|
|
|
export const WIZARD_FIELDS_BY_GOAL: Record<WizardGoal, WizardFieldDef[]> = {
|
|
tasks: [
|
|
{ id: 'status', type: 'select', hasOptions: true },
|
|
{ id: 'dueDate', type: 'date' },
|
|
],
|
|
learning: [
|
|
{ id: 'level', type: 'select', hasOptions: true },
|
|
{ id: 'lastReview', type: 'date' },
|
|
],
|
|
reading: [
|
|
{ id: 'read', type: 'checkbox' },
|
|
{ id: 'source', type: 'text' },
|
|
],
|
|
simple: [],
|
|
}
|
|
|
|
export const WIZARD_DEFAULT_VIEW: Record<WizardGoal, NotesLayoutMode> = {
|
|
tasks: 'kanban',
|
|
learning: 'gallery',
|
|
reading: 'gallery',
|
|
simple: 'list',
|
|
}
|
|
|
|
export const KANBAN_GROUP_FIELD_ID: WizardFieldId = 'status'
|