export type DossierStatus = 'draft' | 'scheduled' | 'live';

export interface Dossier {
  id: string;
  title: string;
  leakDate: string; // display date
  summary: string;
  classification: 'UNCLASSIFIED' | 'CLASSIFIED' | 'EYES-ONLY';
  status: DossierStatus;

  previewImageUrl: string; // cover/thumbnail (data URI recommended)

  /**
   * Paths are preferred over absolute URLs for pre-launch staging.
   * When deployed, VITE_PUBLIC_BASE_URL can be set to prefix these paths.
   */
  pdfPath?: string;       // e.g. /static/hosted/snyk-shadow-dossier.pdf
  evidencePath?: string;  // e.g. /static/hosted/evidence/index.html

  /** Optional, for live deployments or external destinations (e.g. Gumroad). */
  gumroadUrl?: string;
  contactEmail?: string;

  /** Optional verifiability fields; only render when populated with real values. */
  sha256?: string; // preferred hash
  bytes?: number;  // file size
}

export interface PricingTier {
  name: string;
  price: string;
  description: string;
  features: string[];
  cta: string;
  variant: 'free' | 'premium' | 'enterprise';

  /**
   * If actionUrl is empty or enabled=false, the CTA renders disabled.
   * Use this for pre-launch staging so the site does not feel like a mockup.
   */
  actionUrl?: string;
  enabled?: boolean;
  disabledHint?: string;
}
