UNPKG

@r3l/app

Version:
157 lines (126 loc) 4.92 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _react = _interopRequireDefault(require("react")); var _reactNativeWeb = require("react-native-web"); var _redux = require("redux"); var _reactRedux = require("react-redux"); var _propTypes = _interopRequireDefault(require("prop-types")); var _Ionicons = _interopRequireDefault(require("react-native-vector-icons/Ionicons")); var _navigation = require("../navigation.actions"); var _hooks = require("../../community/hooks"); var _styled = require("../../styled"); var _global = require("../../../styles/global"); function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } var styles; HeaderLeft.propTypes = { navigation: _propTypes.default.object, screenProps: _propTypes.default.object }; function HeaderLeft(_ref) { var navigation = _ref.navigation, screenProps = _ref.screenProps; // console.log(screenProps, navigation.state); var parent = navigation.dangerouslyGetParent() || navigation; var index = parent.state.index; var state = navigation.state; var params = state.params || {}; var back; var backEl; var goBack = function goBack() { // Go back on next tick because button ripple effect needs to happen on Android requestAnimationFrame(function () { navigation.goBack(navigation.state.key); _reactNativeWeb.Keyboard.dismiss(); }); }; if (state.routeName === 'createPostUrl' || state.routeName === 'shareAuth') { if (params.share) { goBack = function goBack() { screenProps.close(); _reactNativeWeb.Keyboard.dismiss(); }; } else goBack = function goBack() { _reactNativeWeb.Keyboard.dismiss(); navigation.navigate('main'); }; } if (index > 0 || params.left) { back = /*#__PURE__*/_react.default.createElement(_Ionicons.default, { name: "ios-arrow-back", size: 28, color: _global.darkGrey }); if (params.left) { back = /*#__PURE__*/_react.default.createElement(_reactNativeWeb.Text, { style: [{ fontSize: 17 }, styles.active] }, params.left); } backEl = /*#__PURE__*/_react.default.createElement(_reactNativeWeb.TouchableOpacity, { onPress: goBack, style: { justifyContent: 'center', padding: 0, paddingHorizontalLeft: 10 } }, back); } var unread = (0, _hooks.useTotalUnread)(); var options = /*#__PURE__*/_react.default.createElement(_reactNativeWeb.TouchableOpacity, { onPress: function onPress() { return navigation.openDrawer(); }, style: { padding: 0, paddingHorizontal: 10 } }, /*#__PURE__*/_react.default.createElement(_reactNativeWeb.View, null, /*#__PURE__*/_react.default.createElement(_Ionicons.default, { name: "ios-options", size: 23, style: { height: 26 }, color: _global.darkGrey }), /*#__PURE__*/_react.default.createElement(_styled.Badge, { sx: { position: 'absolute', bottom: 0, right: -4.001, marginRight: -8.0001, zIndex: 1 }, number: unread }))); return /*#__PURE__*/_react.default.createElement(_reactNativeWeb.View, { style: [styles.leftButton, { flexDirection: 'row' }] }, backEl, options); } var localStyles = { leftButton: { flex: 1, marginLeft: _global.mainPadding - 10, justifyContent: 'flex-start', alignItems: 'center' } }; styles = _reactNativeWeb.StyleSheet.create(_objectSpread(_objectSpread({}, localStyles), _global.colors)); var _default = (0, _reactRedux.connect)(function () { return {}; }, function (dispatch) { return { actions: (0, _redux.bindActionCreators)({ toggleTopics: _navigation.toggleTopics }, dispatch) }; })(HeaderLeft); exports.default = _default; //# sourceMappingURL=headerLeft.component.js.map