import { z } from 'zod';

export const updateMapSettingsSchema = z.object({
  latitude: z.number().min(-90).max(90).optional(),
  longitude: z.number().min(-180).max(180).optional(),
  zoom: z.number().int().min(2).max(19).optional(),
  walkSheetTitle: z.string().nullable().optional(),
  walkSheetSubtitle: z.string().nullable().optional(),
  walkSheetFooter: z.string().nullable().optional(),
  qrCode1Url: z.string().url().nullable().optional().or(z.literal('')),
  qrCode1Label: z.string().nullable().optional(),
  qrCode2Url: z.string().url().nullable().optional().or(z.literal('')),
  qrCode2Label: z.string().nullable().optional(),
  qrCode3Url: z.string().url().nullable().optional().or(z.literal('')),
  qrCode3Label: z.string().nullable().optional(),
  publicMapEnabled: z.boolean().optional(),
  publicShowLocations: z.boolean().optional(),
  publicShowSupportLevels: z.boolean().optional(),
  publicShowCuts: z.boolean().optional(),
  publicShowEvents: z.boolean().optional(),
  publicShowAddresses: z.boolean().optional(),
  publicShowSignInfo: z.boolean().optional(),
});

export type UpdateMapSettingsInput = z.infer<typeof updateMapSettingsSchema>;
