@r3l/app
Version:
279 lines (229 loc) • 12.5 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
var _typeof = require("@babel/runtime/helpers/typeof");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _react = _interopRequireWildcard(require("react"));
var _reactNativeWeb = require("react-native-web");
var _propTypes = _interopRequireDefault(require("prop-types"));
var _reactNativeCodePush = _interopRequireDefault(require("react-native-code-push"));
var _reactNativeDismissKeyboard = _interopRequireDefault(require("react-native-dismiss-keyboard"));
var _global = require("../../../styles/global");
var _styles = require("../../../styles");
var _CustomSpinner = _interopRequireDefault(require("../../ui/mobile/CustomSpinner.component"));
var _TwitterButton = _interopRequireDefault(require("./TwitterButton.component"));
var _socialButtons = require("../socialButtons");
var _mobile = require("../../../utils/recaptcha/mobile");
var _apple = require("../apple");
var _styled = require("../../styled");
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
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; }
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
var styles;
var Login = /*#__PURE__*/function (_Component) {
(0, _inherits2.default)(Login, _Component);
var _super = _createSuper(Login);
function Login(props, context) {
var _this;
(0, _classCallCheck2.default)(this, Login);
_this = _super.call(this, props, context);
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "reCaptchaRef", /*#__PURE__*/(0, _react.createRef)());
_this.login = _this.login.bind((0, _assertThisInitialized2.default)(_this));
_this.state = {
bool: false,
notifText: null,
username: '',
password: '',
recaptcha: null
};
return _this;
} // userInput = createRef();
(0, _createClass2.default)(Login, [{
key: "componentDidMount",
value: function componentDidMount() {
// this.userInput.focus();
_reactNativeCodePush.default.disallowRestart();
}
}, {
key: "componentWillUnmount",
value: function componentWillUnmount() {
this.props.actions.setAuthStatusText();
}
}, {
key: "login",
value: function login() {
var _this$props$auth;
if (!this.state.username) {
_reactNativeWeb.Alert.alert('must enter username');
return;
}
if (!this.state.password) {
_reactNativeWeb.Alert.alert('must enter password');
return;
}
(0, _reactNativeDismissKeyboard.default)();
this.props.actions.loginUser({
name: this.state.username,
password: this.state.password,
twitter: (_this$props$auth = this.props.auth) === null || _this$props$auth === void 0 ? void 0 : _this$props$auth.twitter
}, this.state.recaptcha);
}
}, {
key: "render",
value: function render() {
var _this$props$auth2,
_this$props$auth3,
_this2 = this,
_this$props,
_this$props$auth4;
var actions = this.props.actions;
var local = this.state.username && this.state.password && this.state.username.length && this.state.password.length;
if ((_this$props$auth2 = this.props.auth) !== null && _this$props$auth2 !== void 0 && _this$props$auth2.twitter) local = true;
var twitterConnect = /*#__PURE__*/_react.default.createElement(_reactNativeWeb.View, {
style: [{
justifyContent: 'center',
alignItems: 'center'
}]
}, /*#__PURE__*/_react.default.createElement(_reactNativeWeb.Text, {
style: styles.signInText
}, "Sign in with your Relevant account to finish"));
var signIn = /*#__PURE__*/_react.default.createElement(_reactNativeWeb.TouchableOpacity, {
onPress: this.login,
style: [styles.largeButton]
}, /*#__PURE__*/_react.default.createElement(_reactNativeWeb.Text, {
style: styles.largeButtonText
}, "sign in"));
if ((_this$props$auth3 = this.props.auth) !== null && _this$props$auth3 !== void 0 && _this$props$auth3.loading) {
return /*#__PURE__*/_react.default.createElement(_CustomSpinner.default, null);
}
return /*#__PURE__*/_react.default.createElement(_reactNativeWeb.ScrollView, {
keyboardShouldPersistTaps: "allways",
keyboardDismissMode: "interactive",
contentContainerStyle: styles.authScrollContent
}, /*#__PURE__*/_react.default.createElement(_reactNativeWeb.View, {
style: styles.fieldsInner
}, /*#__PURE__*/_react.default.createElement(_reactNativeWeb.View, {
style: styles.fieldsInputParent
}, /*#__PURE__*/_react.default.createElement(_reactNativeWeb.TextInput, {
key: 'name',
underlineColorAndroid: 'transparent',
autoCorrect: false,
autoCapitalize: 'none',
clearTextOnFocus: false,
placeholderTextColor: _styles.colors.grey,
placeholder: "username or email",
onChangeText: function onChangeText(username) {
_this2.setState({
username: (username === null || username === void 0 ? void 0 : username.trim()) || ''
});
},
onBlur: function onBlur() {
return null;
},
value: this.state.username,
style: styles.fieldsInput
})), /*#__PURE__*/_react.default.createElement(_reactNativeWeb.View, {
style: styles.fieldsInputParent
}, /*#__PURE__*/_react.default.createElement(_reactNativeWeb.TextInput, {
key: 'pass',
ref: this.passInput,
underlineColorAndroid: 'transparent',
autoCapitalize: 'none',
autoCorrect: false,
secureTextEntry: true,
keyboardType: 'default',
clearTextOnFocus: false,
placeholderTextColor: _styles.colors.grey,
placeholder: "password",
onChangeText: function onChangeText(password) {
return _this2.setState({
password: (password === null || password === void 0 ? void 0 : password.trim()) || ''
});
},
onBlur: function onBlur() {
return null;
},
value: this.state.password,
style: styles.fieldsInput
})), local ? null : /*#__PURE__*/_react.default.createElement(_reactNativeWeb.View, null, /*#__PURE__*/_react.default.createElement(_reactNativeWeb.Text, {
style: styles.signInText
}, "or"), /*#__PURE__*/_react.default.createElement(_TwitterButton.default, {
auth: this.props.auth,
actions: this.props.actions
})), !local && /*#__PURE__*/_react.default.createElement(_reactNativeWeb.View, {
style: {
marginTop: 21
}
}, /*#__PURE__*/_react.default.createElement(_socialButtons.ConnectDesktopButton, {
text: 'Sign in with Desktop Browser',
onPress: function onPress() {
return actions.showModal('connectDesktop');
}
})), !local && _reactNativeWeb.Platform.OS === 'ios' && /*#__PURE__*/_react.default.createElement(_styled.Box, {
sx: {
mt: 3
}
}, /*#__PURE__*/_react.default.createElement(_apple.AppleLogin, {
isLogin: true
})), /*#__PURE__*/_react.default.createElement(_reactNativeWeb.View, {
style: {
flex: 1
}
}), (_this$props = this.props) !== null && _this$props !== void 0 && (_this$props$auth4 = _this$props.auth) !== null && _this$props$auth4 !== void 0 && _this$props$auth4.twitter ? twitterConnect : null), local ? signIn : null, /*#__PURE__*/_react.default.createElement(_reactNativeWeb.TouchableOpacity, {
onPress: function onPress() {
_this2.props.navigation.navigate({
routeName: 'forgot',
params: {
title: 'Forgot Password'
}
});
}
}, /*#__PURE__*/_react.default.createElement(_reactNativeWeb.Text, {
style: [styles.signInText, styles.active]
}, "Forgot your password?")), /*#__PURE__*/_react.default.createElement(_mobile.Captcha, {
reCaptchaRef: this.reCaptchaRef,
action: 'login',
setToken: function setToken(token) {
return _this2.setState({
recaptcha: token
});
}
}));
}
}]);
return Login;
}(_react.Component);
(0, _defineProperty2.default)(Login, "propTypes", {
actions: _propTypes.default.object,
auth: _propTypes.default.object,
navigation: _propTypes.default.object,
share: _propTypes.default.bool
});
Login.propTypes = {
auth: _propTypes.default.object,
actions: _propTypes.default.object,
navigation: _propTypes.default.object,
share: _propTypes.default.bool // flag for share extension
};
var localStyles = _reactNativeWeb.StyleSheet.create({
forgot: {
textAlign: 'center',
marginTop: 5
}
});
styles = _objectSpread(_objectSpread({}, localStyles), _global.globalStyles);
var _default = Login;
exports.default = _default;
//# sourceMappingURL=login.component.js.map