feat(frontend): ScheduleConfig V2 types, weekday schema, export update

This commit is contained in:
2026-03-17 14:39:19 +01:00
parent 20e80ac28e
commit bd498b9bcb
8 changed files with 63 additions and 10 deletions

View File

@@ -1,4 +1,10 @@
import { z } from "zod";
import { WEEKDAYS } from "@/lib/types";
import type { Weekday } from "@/lib/types";
const weekdaySchema = z.enum([
'monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday', 'sunday',
]);
export const mediaFilterSchema = z.object({
content_type: z.enum(["movie", "episode", "short"]).nullable().optional(),
@@ -53,7 +59,10 @@ export const channelFormSchema = z.object({
name: z.string().min(1, "Name is required"),
timezone: z.string().min(1, "Timezone is required"),
description: z.string().optional(),
blocks: z.array(blockSchema),
day_blocks: z.record(weekdaySchema, z.array(blockSchema))
.default(() =>
Object.fromEntries(WEEKDAYS.map(d => [d, []])) as unknown as Record<Weekday, z.infer<typeof blockSchema>[]>
),
recycle_policy: z.object({
cooldown_days: z.number().int().min(0).nullable().optional(),
cooldown_generations: z.number().int().min(0).nullable().optional(),