services/presentationModes.jsjavascript
/**
 * Single source of truth for the 3 presentation modes/sales apps. `key`
 * doubles as the valid `defaultMode` config value (config-schema.js) and as
 * the route path segment (see Routes.jsx, AppSelection.jsx). `contentFile`
 * is the JSON this mode's route loads via ContentProvider
 * (services/content.jsx); `null` means the page doesn't fetch any content
 * (yet). `orientation` is the physical device orientation this app's kiosk
 * layout is built for - read by useRequiredOrientation (services/orientation.js)
 * to decide when to show the RotateOverlay; the `deviceType` config value
 * (config-schema.js) can override it per kiosk.
 *
 * @type {Array<{key: string, label: string, path: string, contentFile: string|null, orientation: "landscape"|"portrait"}>}
 */
export const PRESENTATION_MODES = [
  {
    key: "value-partnership",
    label: "Value Partnership",
    path: "/value-partnership",
    contentFile: null,
    orientation: "landscape",
  },
  {
    key: "value-advisory-services",
    label: "Value Advisory Services",
    path: "/value-advisory-services",
    contentFile: "/data/vas-content.json",
    orientation: "landscape",
  },
  {
    key: "rad-enablement",
    label: "Rad Enablement",
    path: "/rad-enablement",
    contentFile: "/data/rad-content.json",
    orientation: "portrait",
  },
];