import { z } from 'zod';
import type { LocalizedText } from '@/server/page-layout/types';

export interface Config {
  title: LocalizedText;
  vendorIds: string[];
  mode: 'featured' | 'pinned';
}

export const configSchema: z.ZodType<Config> = z.object({
  title: z.object({ he: z.string().min(1), en: z.string().min(1) }),
  vendorIds: z.array(z.uuid()).min(1).max(10),
  mode: z.enum(['featured', 'pinned']),
});

export const defaultConfig: Config = {
  title: { he: 'עסקים מומלצים', en: 'Featured Vendors' },
  vendorIds: [],
  mode: 'featured',
};

export const type = 'vendor-spotlight' as const;
export const category = 'vendor-spotlight' as const;
export const labelKey = 'module_labels.vendor-spotlight' as const;
