UNPKG

@trycourier/courier-react-native

Version:

Inbox, Push Notifications, and Preferences for React Native

45 lines 1.82 kB
import React, { useEffect } from "react"; import { DeviceEventEmitter, Platform } from "react-native"; import { Modules } from "../Modules"; const CourierPreferences = Modules.getNativeComponent('CourierPreferencesView'); export const CourierPreferencesView = props => { let onScrollPreferencesListener = undefined; useEffect(() => { return () => { var _onScrollPreferencesL; (_onScrollPreferencesL = onScrollPreferencesListener) === null || _onScrollPreferencesL === void 0 ? void 0 : _onScrollPreferencesL.remove(); }; }, []); useEffect(() => { var _onScrollPreferencesL2; (_onScrollPreferencesL2 = onScrollPreferencesListener) === null || _onScrollPreferencesL2 === void 0 ? void 0 : _onScrollPreferencesL2.remove(); if (Platform.OS === 'android' && props.onScrollPreferences) { onScrollPreferencesListener = DeviceEventEmitter.addListener('courierScrollPreferences', onScrollPreferences); } }, [props.onScrollPreferences]); const onScrollPreferences = event => { // Parse the native event data if (props.onScrollPreferences) { const contentOffset = event["contentOffset"]; props.onScrollPreferences(contentOffset["y"], contentOffset["x"]); } }; const onPreferenceError = event => { // Parse the native event data if (props.onPreferenceError) { const message = event["error"]; props.onPreferenceError(message); } }; return /*#__PURE__*/React.createElement(CourierPreferences, { mode: props.mode, theme: props.theme ?? { light: undefined, dark: undefined }, onScrollPreferences: event => onScrollPreferences(event.nativeEvent), onPreferenceError: event => onPreferenceError(event.nativeEvent), style: props.style }); }; //# sourceMappingURL=CourierPreferencesView.js.map