add column color, card coverColor, and board background to data model
This commit is contained in:
@@ -18,7 +18,7 @@ export function createBoard(
|
||||
columns: [],
|
||||
cards: {},
|
||||
labels: [],
|
||||
settings: { attachmentMode: "link" },
|
||||
settings: { attachmentMode: "link" as const, background: "none" as const },
|
||||
};
|
||||
|
||||
const col = (t: string, w: ColumnWidth = "standard") => ({
|
||||
@@ -26,6 +26,7 @@ export function createBoard(
|
||||
title: t,
|
||||
cardIds: [] as string[],
|
||||
width: w,
|
||||
color: null as string | null,
|
||||
});
|
||||
|
||||
if (template === "kanban") {
|
||||
|
||||
@@ -153,6 +153,7 @@ export function importFromTrelloJson(jsonString: string): Board {
|
||||
title: list.name,
|
||||
cardIds: [],
|
||||
width: "standard" as const,
|
||||
color: null,
|
||||
};
|
||||
});
|
||||
|
||||
@@ -201,6 +202,7 @@ export function importFromTrelloJson(jsonString: string): Board {
|
||||
checklist,
|
||||
dueDate: tCard.due ?? null,
|
||||
attachments: [],
|
||||
coverColor: null,
|
||||
createdAt: ts,
|
||||
updatedAt: ts,
|
||||
};
|
||||
@@ -223,7 +225,7 @@ export function importFromTrelloJson(jsonString: string): Board {
|
||||
columns,
|
||||
cards,
|
||||
labels,
|
||||
settings: { attachmentMode: "link" },
|
||||
settings: { attachmentMode: "link", background: "none" },
|
||||
};
|
||||
|
||||
return board;
|
||||
|
||||
@@ -27,6 +27,7 @@ export const cardSchema = z.object({
|
||||
checklist: z.array(checklistItemSchema).default([]),
|
||||
dueDate: z.string().nullable().default(null),
|
||||
attachments: z.array(attachmentSchema).default([]),
|
||||
coverColor: z.string().nullable().default(null),
|
||||
createdAt: z.string(),
|
||||
updatedAt: z.string(),
|
||||
});
|
||||
@@ -36,10 +37,12 @@ export const columnSchema = z.object({
|
||||
title: z.string(),
|
||||
cardIds: z.array(z.string()).default([]),
|
||||
width: z.enum(["narrow", "standard", "wide"]).default("standard"),
|
||||
color: z.string().nullable().default(null),
|
||||
});
|
||||
|
||||
export const boardSettingsSchema = z.object({
|
||||
attachmentMode: z.enum(["link", "copy"]).default("link"),
|
||||
background: z.enum(["none", "dots", "grid", "gradient"]).default("none"),
|
||||
});
|
||||
|
||||
export const boardSchema = z.object({
|
||||
@@ -51,7 +54,7 @@ export const boardSchema = z.object({
|
||||
columns: z.array(columnSchema).default([]),
|
||||
cards: z.record(z.string(), cardSchema).default({}),
|
||||
labels: z.array(labelSchema).default([]),
|
||||
settings: boardSettingsSchema.default({ attachmentMode: "link" }),
|
||||
settings: boardSettingsSchema.default({ attachmentMode: "link", background: "none" }),
|
||||
});
|
||||
|
||||
export const appSettingsSchema = z.object({
|
||||
|
||||
Reference in New Issue
Block a user