| 
1 | 1 | import {z, ZodLiteral} from "zod";  | 
2 |  | -import {type ISODatetime, ISOLocalDate, ISOZonedTime} from "../../../../shared/type-utils";  | 
3 |  | -import {ConferenceDescriptor} from "../../../../shared/conference-descriptor.firestore";  | 
4 |  | -import {RecordingPlatform, ScheduleTimeSlot} from "../../../../shared/daily-schedule.firestore";  | 
 | 2 | +import {type ISODatetime, ISOLocalDate, ISOZonedTime} from "@shared/type-utils";  | 
 | 3 | +import {ConferenceDescriptor} from "@shared/conference-descriptor.firestore";  | 
 | 4 | +import {RecordingPlatform, ScheduleTimeSlot} from "@shared/daily-schedule.firestore";  | 
5 | 5 | import {ISO_DATETIME_PARSER} from "../utils/zod-parsers";  | 
6 | 6 | 
 
  | 
7 | 7 | 
 
  | 
@@ -46,15 +46,23 @@ export const THEMABLE_LANGUAGE_PARSER = z.object({  | 
46 | 46 |     themeColor: HEX_COLOR_PARSER  | 
47 | 47 | })  | 
48 | 48 | 
 
  | 
 | 49 | +export const THEME_COLORS_PARSER = z.object({  | 
 | 50 | +  primaryHex: HEX_COLOR_PARSER,  | 
 | 51 | +  primaryContrastHex: HEX_COLOR_PARSER,  | 
 | 52 | +  secondaryHex: HEX_COLOR_PARSER,  | 
 | 53 | +  secondaryContrastHex: HEX_COLOR_PARSER,  | 
 | 54 | +  tertiaryHex: HEX_COLOR_PARSER,  | 
 | 55 | +  tertiaryContrastHex: HEX_COLOR_PARSER  | 
 | 56 | +})  | 
 | 57 | + | 
49 | 58 | export const EVENT_THEME_PARSER = z.object({  | 
50 |  | -    colors: z.object({  | 
51 |  | -        primaryHex: HEX_COLOR_PARSER,  | 
52 |  | -        primaryContrastHex: HEX_COLOR_PARSER,  | 
53 |  | -        secondaryHex: HEX_COLOR_PARSER,  | 
54 |  | -        secondaryContrastHex: HEX_COLOR_PARSER,  | 
55 |  | -        tertiaryHex: HEX_COLOR_PARSER,  | 
56 |  | -        tertiaryContrastHex: HEX_COLOR_PARSER  | 
57 |  | -    }),  | 
 | 59 | +    colors: z.union([  | 
 | 60 | +      THEME_COLORS_PARSER,  | 
 | 61 | +      z.object({  | 
 | 62 | +        light: THEME_COLORS_PARSER,  | 
 | 63 | +        dark: THEME_COLORS_PARSER,  | 
 | 64 | +      })  | 
 | 65 | +    ]),  | 
58 | 66 |     headingCustomStyles: z.object({  | 
59 | 67 |       title: z.string().nullable(),  | 
60 | 68 |       subTitle: z.string().nullable(),  | 
 | 
0 commit comments