export type CardType = 'INFO_PAGE' | 'EXTERNAL_LINK' | 'IMAGE_GALLERY' | 'SERVICE_REQUEST' | 'BOOK';

export type MediaItem = {
  url: string;
  autoplay?: boolean; // videos only — start playing as soon as the slide is shown
  muted?: boolean;    // videos only — start muted (default: unmuted)
};

export interface Card {
  id: string;
  portalId: string;
  title: string;
  imageUrl: string;
  extraMedia?: MediaItem[];
  shortDescription: string;
  fullContent: string;
  cardType: CardType;
  actionUrl?: string;
  displayOrder: number;
  autoFullscreen?: boolean; // open the fullscreen viewer immediately when this card is clicked
  skipPreview?: boolean;    // skip the modal preview AND exclude the cover image from the swipe sequence
  redirectOnClick?: boolean; // EXTERNAL_LINK only — click card to open the URL directly without showing the modal
}

export interface Portal {
  id: string;
  tenantId: string;
  title: string;
  welcomeText: string;
  heroImageUrl: string;
  logoUrl: string;
  themeColor: string;
  fadeHeroImage?: boolean;
  maxGridColumns?: number;
  externalLinkEnabled?: boolean; // se false, l'admin nasconde il tipo "External Link" nel dropdown
  fontFamily?: string;           // nome del file in data/fonts/ (es. "Geist-Variable.woff2"). "" o undefined = Sistema (Arial)
}