UNPKG

@r3l/app

Version:
74 lines (61 loc) 2.62 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.NotificationToggle = NotificationToggle; var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _react = _interopRequireDefault(require("react")); var _propTypes = _interopRequireDefault(require("prop-types")); var _styled = require("../../styled"); var _reactRedux = require("react-redux"); var _toggleswitch = _interopRequireDefault(require("../../ui/toggleswitch.component")); var _styles = require("../../../styles"); var _auth = require("../../auth/auth.actions"); var _settings = require("./settings.constants"); NotificationToggle.propTypes = { parent: _propTypes.default.string, label: _propTypes.default.string, notification: _propTypes.default.bool, togglePosition: _propTypes.default.string, text: _propTypes.default.shape({ label: _propTypes.default.string, description: _propTypes.default.description }), DescriptionComponent: _propTypes.default.object }; function NotificationToggle(_ref) { var parent = _ref.parent, label = _ref.label, notification = _ref.notification, text = _ref.text, togglePosition = _ref.togglePosition, DescriptionComponent = _ref.DescriptionComponent; var dispatch = (0, _reactRedux.useDispatch)(); var details = text || _settings.SETTING_DETAILS[parent][label]; var reverse = togglePosition === 'right'; if (!details) return null; var Description = DescriptionComponent || _styled.BodyText; return /*#__PURE__*/_react.default.createElement(_styled.View, { sx: { mt: 3, flexDirection: "row".concat(reverse ? '-reverse' : ''), alignItems: 'center' } }, /*#__PURE__*/_react.default.createElement(_toggleswitch.default, { isOn: !!notification, onColor: _styles.colors.green, offColor: _styles.colors.grey, size: "custom", onToggle: function onToggle(isOn) { return dispatch((0, _auth.updateNotificationSettings)((0, _defineProperty2.default)({}, parent, (0, _defineProperty2.default)({}, label, isOn)))); } }), /*#__PURE__*/_react.default.createElement(_styled.View, { sx: { ml: reverse ? 0 : 2, mr: reverse ? 1.5 : 0, flex: 1 } }, details.label ? /*#__PURE__*/_react.default.createElement(_styled.Title, null, details.label) : null, details.description ? /*#__PURE__*/_react.default.createElement(Description, null, details.description) : null)); } //# sourceMappingURL=settings.toggle.js.map