export interface CheckItem { id: string; text: string; checked: boolean; } export interface Label { id: string; name: string; color: LabelColorName; userId?: string | null; createdAt: Date; updatedAt: Date; } export interface Note { id: string; title: string | null; content: string; color: string; isPinned: boolean; isArchived: boolean; type: 'text' | 'checklist'; checkItems: CheckItem[] | null; labels: string[] | null; images: string[] | null; reminder: Date | null; reminderRecurrence: string | null; reminderLocation: string | null; isMarkdown: boolean; order: number; createdAt: Date; updatedAt: Date; } export interface LabelWithColor { name: string; color: LabelColorName; } export const LABEL_COLORS = { gray: { bg: 'bg-gray-100 dark:bg-gray-800', text: 'text-gray-700 dark:text-gray-300', border: 'border-gray-300 dark:border-gray-600' }, red: { bg: 'bg-red-100 dark:bg-red-900/30', text: 'text-red-700 dark:text-red-300', border: 'border-red-300 dark:border-red-600' }, orange: { bg: 'bg-orange-100 dark:bg-orange-900/30', text: 'text-orange-700 dark:text-orange-300', border: 'border-orange-300 dark:border-orange-600' }, yellow: { bg: 'bg-yellow-100 dark:bg-yellow-900/30', text: 'text-yellow-700 dark:text-yellow-300', border: 'border-yellow-300 dark:border-yellow-600' }, green: { bg: 'bg-green-100 dark:bg-green-900/30', text: 'text-green-700 dark:text-green-300', border: 'border-green-300 dark:border-green-600' }, teal: { bg: 'bg-teal-100 dark:bg-teal-900/30', text: 'text-teal-700 dark:text-teal-300', border: 'border-teal-300 dark:border-teal-600' }, blue: { bg: 'bg-blue-100 dark:bg-blue-900/30', text: 'text-blue-700 dark:text-blue-300', border: 'border-blue-300 dark:border-blue-600' }, purple: { bg: 'bg-purple-100 dark:bg-purple-900/30', text: 'text-purple-700 dark:text-purple-300', border: 'border-purple-300 dark:border-purple-600' }, pink: { bg: 'bg-pink-100 dark:bg-pink-900/30', text: 'text-pink-700 dark:text-pink-300', border: 'border-pink-300 dark:border-pink-600' }, } export type LabelColorName = keyof typeof LABEL_COLORS export const NOTE_COLORS = { default: { bg: 'bg-white dark:bg-zinc-900', hover: 'hover:bg-gray-50 dark:hover:bg-zinc-800', card: 'bg-white dark:bg-zinc-900 border-gray-200 dark:border-zinc-700' }, red: { bg: 'bg-red-50 dark:bg-red-950/30', hover: 'hover:bg-red-100 dark:hover:bg-red-950/50', card: 'bg-red-50 dark:bg-red-950/30 border-red-100 dark:border-red-900/50' }, orange: { bg: 'bg-orange-50 dark:bg-orange-950/30', hover: 'hover:bg-orange-100 dark:hover:bg-orange-950/50', card: 'bg-orange-50 dark:bg-orange-950/30 border-orange-100 dark:border-orange-900/50' }, yellow: { bg: 'bg-yellow-50 dark:bg-yellow-950/30', hover: 'hover:bg-yellow-100 dark:hover:bg-yellow-950/50', card: 'bg-yellow-50 dark:bg-yellow-950/30 border-yellow-100 dark:border-yellow-900/50' }, green: { bg: 'bg-green-50 dark:bg-green-950/30', hover: 'hover:bg-green-100 dark:hover:bg-green-950/50', card: 'bg-green-50 dark:bg-green-950/30 border-green-100 dark:border-green-900/50' }, teal: { bg: 'bg-teal-50 dark:bg-teal-950/30', hover: 'hover:bg-teal-100 dark:hover:bg-teal-950/50', card: 'bg-teal-50 dark:bg-teal-950/30 border-teal-100 dark:border-teal-900/50' }, blue: { bg: 'bg-blue-50 dark:bg-blue-950/30', hover: 'hover:bg-blue-100 dark:hover:bg-blue-950/50', card: 'bg-blue-50 dark:bg-blue-950/30 border-blue-100 dark:border-blue-900/50' }, purple: { bg: 'bg-purple-50 dark:bg-purple-950/30', hover: 'hover:bg-purple-100 dark:hover:bg-purple-950/50', card: 'bg-purple-50 dark:bg-purple-950/30 border-purple-100 dark:border-purple-900/50' }, pink: { bg: 'bg-pink-50 dark:bg-pink-950/30', hover: 'hover:bg-pink-100 dark:hover:bg-pink-950/50', card: 'bg-pink-50 dark:bg-pink-950/30 border-pink-100 dark:border-pink-900/50' }, gray: { bg: 'bg-gray-100 dark:bg-gray-800/50', hover: 'hover:bg-gray-200 dark:hover:bg-gray-700/50', card: 'bg-gray-100 dark:bg-gray-800/50 border-gray-200 dark:border-gray-700' }, } as const; export type NoteColor = keyof typeof NOTE_COLORS;