import { z } from 'zod';

export const ProfileSchema = z.object({
  name: z.string(),
  title: z.string(),
  tagline: z.string(),
  bio: z.string(),
  available: z.boolean().default(false),
  availableLabel: z.string().optional(),
  hero: z.object({
    photo: z.string(),
    photos: z.array(z.string()).default([]),
    roles: z.array(z.string()).default([]),
    cta: z
      .array(
        z.object({
          label: z.string(),
          href: z.string(),
          variant: z.enum(['primary', 'ghost']).default('primary'),
          external: z.boolean().default(false),
        }),
      )
      .default([]),
  }),
  socials: z.object({
    email: z.email().optional(),
    github: z.url().optional(),
    gitea: z.url().optional(),
    linkedin: z.url().optional(),
    website: z.url().optional(),
  }),
  cv: z.string().optional(),
});

export type Profile = z.infer<typeof ProfileSchema>;
