@r3l/app
Version:
74 lines (61 loc) • 2.62 kB
JavaScript
"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