// @flow import { TOOLBAR_BUTTONS } from './constants'; export * from './functions.any'; /** * Removes all analytics related options from the given configuration, in case of a libre build. * * @param {*} config - The configuration which needs to be cleaned up. * @returns {void} */ export function _cleanupConfig(config: Object) { // eslint-disable-line no-unused-vars } /** * Returns the dial out url. * * @param {Object} state - The state of the app. * @returns {string} */ export function getDialOutStatusUrl(state: Object): string { return state['features/base/config'].guestDialOutStatusUrl; } /** * Returns the dial out status url. * * @param {Object} state - The state of the app. * @returns {string} */ export function getDialOutUrl(state: Object): string { return state['features/base/config'].guestDialOutUrl; } /** * Returns the replaceParticipant config. * * @param {Object} state - The state of the app. * @returns {boolean} */ export function getReplaceParticipant(state: Object): string { return state['features/base/config'].replaceParticipant; } /** * Returns the list of enabled toolbar buttons. * * @param {Object} state - The redux state. * @returns {Array} - The list of enabled toolbar buttons. */ export function getToolbarButtons(state: Object): Array { const { toolbarButtons } = state['features/base/config']; return Array.isArray(toolbarButtons) ? toolbarButtons : TOOLBAR_BUTTONS; } /** * Curried selector to check if the specified button is enabled. * * @param {string} buttonName - The name of the button. * {@link interfaceConfig}. * @returns {Function} - Selector that returns a boolean. */ export const isToolbarButtonEnabled = (buttonName: string) => (state: Object): boolean => getToolbarButtons(state).includes(buttonName);