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",
},
];