Add a unified event editor that works in two modes: - Calendar mode: Create/edit events directly via EventService API - Chat mode: Edit AI-proposed events before confirming them The chat mode allows users to modify proposed events (title, time, recurrence) and persists changes both locally and to the server. New components: DateTimePicker, ScrollableDropdown, useDropdownPosition New API: PUT /api/chat/messages/:messageId/proposal
61 lines
1.4 KiB
TypeScript
61 lines
1.4 KiB
TypeScript
export type Theme = {
|
|
chatBot: string;
|
|
primeFg: string;
|
|
primeBg: string;
|
|
secondaryBg: string;
|
|
messageBorderBg: string;
|
|
placeholderBg: string;
|
|
calenderBg: string;
|
|
confirmButton: string;
|
|
rejectButton: string;
|
|
disabledButton: string;
|
|
buttonText: string;
|
|
textPrimary: string;
|
|
textSecondary: string;
|
|
textMuted: string;
|
|
eventIndicator: string;
|
|
borderPrimary: string;
|
|
shadowColor: string;
|
|
};
|
|
|
|
export const THEMES = {
|
|
defaultLight: {
|
|
chatBot: "#DE6C20",
|
|
primeFg: "#3B3329",
|
|
primeBg: "#FFEEDE",
|
|
secondaryBg: "#FFFFFF",
|
|
messageBorderBg: "#FFFFFF",
|
|
placeholderBg: "#D9D9D9",
|
|
calenderBg: "#FBD5B2",
|
|
confirmButton: "#22c55e",
|
|
rejectButton: "#ef4444",
|
|
disabledButton: "#ccc",
|
|
buttonText: "#000000",
|
|
textPrimary: "#000000",
|
|
textSecondary: "#666",
|
|
textMuted: "#888",
|
|
eventIndicator: "#DE6C20",
|
|
borderPrimary: "#000000",
|
|
shadowColor: "#000000",
|
|
},
|
|
defaultDark: {
|
|
chatBot: "#DE6C20",
|
|
primeFg: "#F5E6D3",
|
|
primeBg: "#1A1512",
|
|
secondaryBg: "#2A2420",
|
|
messageBorderBg: "#3A3430",
|
|
placeholderBg: "#4A4440",
|
|
calenderBg: "#3D2A1A",
|
|
confirmButton: "#136e34",
|
|
rejectButton: "#bd1010",
|
|
disabledButton: "#555",
|
|
buttonText: "#FFFFFF",
|
|
textPrimary: "#FFFFFF",
|
|
textSecondary: "#AAA",
|
|
textMuted: "#777",
|
|
eventIndicator: "#DE6C20",
|
|
borderPrimary: "#FFFFFF",
|
|
shadowColor: "#FFFFFF",
|
|
},
|
|
} as const satisfies Record<string, Theme>;
|