// Feature flags compilati nel bundle. Modifica e ricostruisci (npm run build) per applicare.

export const EXTERNAL_LINK_ENABLED = true;

// Mostra la sezione "Factory Preset" (salva preset + factory reset) nell'admin.
// Funzione developer: tienila a false in produzione, true solo quando serve
// preparare/distribuire un preset standard. Gli endpoint API restano comunque attivi.
export const FACTORY_RESET_ENABLED = false;

// Font di default se il portale non ne ha impostato uno.
// Lascia stringa vuota per usare il font di sistema (Arial).
// Per usare un font, scrivi il nome esatto del file presente in data/fonts/ (es. "Geist-Variable.woff2").
export const DEFAULT_FONT = '';

// Limiti caratteri per tutti i campi testuali compilabili dall'admin.
// Validati lato server (app/api/cards/route.ts, app/api/portals/route.ts) e
// usati lato client come maxLength + contatore (app/admin/page.tsx).
export const TEXT_LIMITS = {
  card: {
    title: 200,
    shortDescription: 500,
    fullContent: 20_000,
    actionUrl: 2000,
  },
  portal: {
    title: 200,
    welcomeText: 1000,
  },
} as const;

// Dimensioni massime upload per famiglia di file (in byte).
// Usati lato server in app/api/upload/route.ts; sforare → 413.
// Nota: i video grandi vengono comunque transcodificati (può durare minuti).
const MB = 1024 * 1024;
export const UPLOAD_LIMITS = {
  image: 25 * MB,         // 25 MB
  pdf:   20 * MB,         // 20 MB (pdfjs lato browser non regge bene molto di più)
  video: 1024 * MB,       // 1 GB
} as const;
