Add support for new ribbon timeline.

This commit is contained in:
Dermot Duffy
2023-04-14 16:44:39 -07:00
parent 86a8fcd7c1
commit e854187666
13 changed files with 154 additions and 71 deletions
+6
View File
@@ -832,6 +832,7 @@ const timelineCoreConfigDefault = {
media: 'all' as const,
window_seconds: 60 * 60,
show_recordings: true,
style: 'stack' as const,
};
const timelineMediaSchema = z.enum(['all', 'clips', 'snapshots']);
@@ -851,15 +852,20 @@ const timelineCoreConfigSchema = z.object({
.boolean()
.optional()
.default(timelineCoreConfigDefault.show_recordings),
style: z.enum(['stack', 'ribbon']).optional().default(timelineCoreConfigDefault.style),
});
export type TimelineCoreConfig = z.infer<typeof timelineCoreConfigSchema>;
const miniTimelineConfigDefault = {
...timelineCoreConfigDefault,
mode: 'none' as const,
// Mini-timeline defaults to ribbon style.
style: 'ribbon' as const,
};
const miniTimelineConfigSchema = timelineCoreConfigSchema.extend({
mode: z.enum(['none', 'above', 'below']).default(miniTimelineConfigDefault.mode),
style: timelineCoreConfigSchema.shape.style.default(miniTimelineConfigDefault.style),
});
export type MiniTimelineControlConfig = z.infer<typeof miniTimelineConfigSchema>;