jiti-meet/react/features/calendar-sync/constants.js

38 lines
959 B
JavaScript

// @flow
import { NativeModules } from 'react-native';
/**
* The indicator which determines whether the calendar feature is enabled by the
* app.
*
* @type {boolean}
*/
export const CALENDAR_ENABLED = _isCalendarEnabled();
/**
* The default state of the calendar.
*
* NOTE: This is defined here, to be reusable by functions.js as well (see file
* for details).
*/
export const DEFAULT_STATE = {
authorization: undefined,
events: []
};
/**
* Determines whether the calendar feature is enabled by the app. For
* example, Apple through its App Store requires
* {@code NSCalendarsUsageDescription} in the app's Info.plist or App Store
* rejects the app.
*
* @returns {boolean} If the app has enabled the calendar feature, {@code true};
* otherwise, {@code false}.
*/
function _isCalendarEnabled() {
const { calendarEnabled } = NativeModules.AppInfo;
return typeof calendarEnabled === 'undefined' ? true : calendarEnabled;
}