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

export interface Config {
  imageUrl: string;
  alt: LocalizedText;
  href: string;
  aspect: '16:9' | '21:9';
  mode: 'featured' | 'pinned';
}

export const configSchema: z.ZodType<Config> = z.object({
  imageUrl: z.string(),
  alt: z.object({ he: z.string(), en: z.string() }),
  href: z.string(),
  aspect: z.enum(['16:9', '21:9']),
  mode: z.enum(['featured', 'pinned']),
});

export const defaultConfig: Config = {
  imageUrl: '',
  alt: { he: '', en: '' },
  href: '',
  aspect: '16:9',
  mode: 'featured',
};

export const type = 'banner' as const;
export const category = 'banner' as const;
export const labelKey = 'module_labels.banner' as const;
