123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- // @flow
-
- import { WELCOME_PAGE_ENABLED, getFeatureFlag } from '../base/flags';
- import { toState } from '../base/redux';
-
- declare var APP: Object;
-
- /**
- * Determines whether the {@code WelcomePage} is enabled by the app itself
- * (e.g. Programmatically via the Jitsi Meet SDK for Android and iOS). Not to be
- * confused with {@link isWelcomePageUserEnabled}.
- *
- * @param {Function|Object} stateful - The redux state or {@link getState}
- * function.
- * @returns {boolean} If the {@code WelcomePage} is enabled by the app, then
- * {@code true}; otherwise, {@code false}.
- */
- export function isWelcomePageAppEnabled(stateful: Function | Object) {
- if (navigator.product === 'ReactNative') {
- // We introduced the welcomePageEnabled prop on App in Jitsi Meet SDK
- // for Android and iOS. There isn't a strong reason not to introduce it
- // on Web but there're a few considerations to be taken before I go
- // there among which:
- // - Enabling/disabling the Welcome page on Web historically
- // automatically redirects to a random room and that does not make sense
- // on mobile (right now).
- return Boolean(getFeatureFlag(stateful, WELCOME_PAGE_ENABLED));
- }
-
- return true;
- }
-
- /**
- * Determines whether the {@code WelcomePage} is enabled by the user either
- * herself or through her deployment config(uration). Not to be confused with
- * {@link isWelcomePageAppEnabled}.
- *
- * @param {Function|Object} stateful - The redux state or {@link getState}
- * function.
- * @returns {boolean} If the {@code WelcomePage} is enabled by the user, then
- * {@code true}; otherwise, {@code false}.
- */
- export function isWelcomePageUserEnabled(stateful: Function | Object) {
- return (
- typeof APP === 'undefined'
- ? true
- : toState(stateful)['features/base/config'].enableWelcomePage);
- }
|