import { z } from 'zod';

export const reminderPreferencesSchema = z.object({
  delivery: z.enum(['immediate', 'daily', 'weekly', 'off']).default('immediate'),
  digestTime: z
    .string()
    .regex(/^([01]\d|2[0-3]):[0-5]\d$/, 'Must be HH:MM')
    .optional(),
  digestDayOfWeek: z.number().int().min(0).max(6).optional(),
  timezone: z.string().min(1).max(64).optional(),
});

export const updateUserPreferencesSchema = z.object({
  darkMode: z.boolean().optional(),
  locale: z.string().optional(),
  timezone: z.string().optional(),
  reminders: reminderPreferencesSchema.optional(),
});

export type UpdateUserPreferencesInput = z.infer<typeof updateUserPreferencesSchema>;
export type ReminderPreferences = z.infer<typeof reminderPreferencesSchema>;
