@stokr/components-library 0.8.0 → 0.8.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/Checklist/UserChecklist.js +24 -19
- package/dist/components/Checklist/UserChecklist.stories.js +31 -0
- package/dist/components/CryptoAddress/CryptoAddress.js +21 -17
- package/dist/components/CryptoAddress/CryptoAddress.stories.js +4 -2
- package/dist/components/CryptoAddress/CryptoAddress.styles.js +2 -2
- package/dist/components/Header/Header.js +5 -2
- package/dist/components/Header/Header.stories.js +31 -0
- package/dist/components/Input/Input.js +24 -7
- package/dist/components/Input/Input.styles.js +1 -1
- package/dist/components/LoginModal/LoginModal.js +150 -132
- package/dist/components/LoginModal/LoginModal.stories.js +70 -0
- package/dist/components/Modal/Modal.js +6 -2
- package/dist/components/Modal/Modal.styles.js +3 -1
- package/dist/constants/globalVariables.js +8 -2
- package/package.json +4 -2
|
@@ -53,7 +53,7 @@ var UserChecklist = function UserChecklist(props) {
|
|
|
53
53
|
setoptionalTasks = _useState10[1];
|
|
54
54
|
(0, _react.useEffect)(function () {
|
|
55
55
|
generateTodos(user);
|
|
56
|
-
}, []);
|
|
56
|
+
}, [user]);
|
|
57
57
|
(0, _react.useEffect)(function () {
|
|
58
58
|
//calculate mandatory count from tasks
|
|
59
59
|
if (mandatoryTasks.length > 0) {
|
|
@@ -97,15 +97,20 @@ var UserChecklist = function UserChecklist(props) {
|
|
|
97
97
|
var generateTodos = function generateTodos(userData) {
|
|
98
98
|
var country = user.country,
|
|
99
99
|
entity_name = user.entity_name,
|
|
100
|
-
investor_eth_addresses = user.investor_eth_addresses,
|
|
101
|
-
investor_algo_addresses = user.investor_algo_addresses,
|
|
102
100
|
countryObj = user.countryObj,
|
|
103
|
-
_user$liquid_network = user.liquid_network,
|
|
104
|
-
liquid_network = _user$liquid_network === void 0 ? {} : _user$liquid_network,
|
|
105
101
|
is_risk_questionnaire_finished = user.is_risk_questionnaire_finished,
|
|
106
102
|
kyc_status = user.kyc_status,
|
|
107
|
-
|
|
108
|
-
|
|
103
|
+
_user$wallets = user.wallets,
|
|
104
|
+
wallets = _user$wallets === void 0 ? [] : _user$wallets;
|
|
105
|
+
var liquidWallets = wallets.filter(function (wallet) {
|
|
106
|
+
return wallet.type === _globalVariables.walletTypes.LIQUID;
|
|
107
|
+
}) || [];
|
|
108
|
+
var algoWallets = wallets.filter(function (wallet) {
|
|
109
|
+
return wallet.type === _globalVariables.walletTypes.ALGORAND;
|
|
110
|
+
}) || [];
|
|
111
|
+
var ethWallets = wallets.filter(function (wallet) {
|
|
112
|
+
return wallet.type === _globalVariables.walletTypes.ETHEREUM;
|
|
113
|
+
}) || [];
|
|
109
114
|
var platformURL = useRelativePath === true ? '' : "https://signup.".concat(_globalVariables.platformDomain);
|
|
110
115
|
if (entity_name) {
|
|
111
116
|
setmandatoryTasks([{
|
|
@@ -121,20 +126,20 @@ var UserChecklist = function UserChecklist(props) {
|
|
|
121
126
|
}]);
|
|
122
127
|
setwalletTasks([{
|
|
123
128
|
title: 'Liquid Address',
|
|
124
|
-
message:
|
|
125
|
-
state:
|
|
129
|
+
message: liquidWallets.length > 0 ? 'Your address is registered' : 'Register a Liquid address where you will receive the securities',
|
|
130
|
+
state: liquidWallets.length > 0 ? _ToDoList.ToDoTaskState.APPROVED : _ToDoList.ToDoTaskState.SKIPPED,
|
|
126
131
|
link: "".concat(platformURL, "/register-liquid-securities")
|
|
127
132
|
}, {
|
|
128
133
|
title: 'Ethereum Address',
|
|
129
|
-
message:
|
|
130
|
-
state:
|
|
134
|
+
message: ethWallets.length > 0 ? 'Your address is registered' : 'Register an Ethereum address where you will receive the securities',
|
|
135
|
+
state: ethWallets.length > 0 ? _ToDoList.ToDoTaskState.APPROVED : _ToDoList.ToDoTaskState.SKIPPED,
|
|
131
136
|
//link: '', //`${platformURL}/register-ethereum`,
|
|
132
137
|
disabled: true,
|
|
133
138
|
tooltip: 'Connecting your ethereum wallet is currently disabled until we have a new offer using the ethereum network.'
|
|
134
139
|
}, {
|
|
135
140
|
title: 'Algorand Address',
|
|
136
|
-
message:
|
|
137
|
-
state:
|
|
141
|
+
message: algoWallets.length > 0 ? 'Opt-in into more assets' : 'Register an Algorand address and opt-in into a project you want to invest in ',
|
|
142
|
+
state: algoWallets.length > 0 ? _ToDoList.ToDoTaskState.APPROVED : _ToDoList.ToDoTaskState.SKIPPED,
|
|
138
143
|
//: '',
|
|
139
144
|
openModal: _ToDoList.ToDoModal.ALGO
|
|
140
145
|
}]);
|
|
@@ -164,19 +169,19 @@ var UserChecklist = function UserChecklist(props) {
|
|
|
164
169
|
}]);
|
|
165
170
|
setwalletTasks([{
|
|
166
171
|
title: 'Liquid Address',
|
|
167
|
-
message: !isFromAllowedCountry ? 'Sorry, you are living in a country where this is not available' :
|
|
168
|
-
state: !isFromAllowedCountry ? _ToDoList.ToDoTaskState.NOT_AVAILABLE :
|
|
172
|
+
message: !isFromAllowedCountry ? 'Sorry, you are living in a country where this is not available' : liquidWallets.length > 0 ? 'Your address is registered' : 'Register a Liquid address where you will receive the securities',
|
|
173
|
+
state: !isFromAllowedCountry ? _ToDoList.ToDoTaskState.NOT_AVAILABLE : liquidWallets.length > 0 ? _ToDoList.ToDoTaskState.APPROVED : _ToDoList.ToDoTaskState.SKIPPED,
|
|
169
174
|
link: isFromAllowedCountry && "".concat(platformURL, "/register-liquid-securities")
|
|
170
175
|
}, {
|
|
171
176
|
title: 'Ethereum Address',
|
|
172
|
-
message: !isFromAllowedCountry ? 'Sorry, you are living in a country where this is not available' :
|
|
173
|
-
state: !isFromAllowedCountry ? _ToDoList.ToDoTaskState.NOT_AVAILABLE :
|
|
177
|
+
message: !isFromAllowedCountry ? 'Sorry, you are living in a country where this is not available' : ethWallets.length > 0 ? 'Your address is registered' : 'Register an Ethereum address where you will receive the securities',
|
|
178
|
+
state: !isFromAllowedCountry ? _ToDoList.ToDoTaskState.NOT_AVAILABLE : ethWallets.length > 0 ? _ToDoList.ToDoTaskState.APPROVED : _ToDoList.ToDoTaskState.SKIPPED,
|
|
174
179
|
disabled: true,
|
|
175
180
|
tooltip: 'Connecting your ethereum wallet is currently disabled until we have a new offer using the ethereum network.'
|
|
176
181
|
}, {
|
|
177
182
|
title: 'Algorand Address',
|
|
178
|
-
message:
|
|
179
|
-
state:
|
|
183
|
+
message: algoWallets.length > 0 ? 'Opt-in into more assets' : 'Register an Algorand address and opt-in into a project you want to invest in ',
|
|
184
|
+
state: algoWallets.length > 0 ? _ToDoList.ToDoTaskState.APPROVED : _ToDoList.ToDoTaskState.SKIPPED,
|
|
180
185
|
openModal: _ToDoList.ToDoModal.ALGO
|
|
181
186
|
//link: '',
|
|
182
187
|
}]);
|
|
@@ -91,6 +91,37 @@ var userDev = {
|
|
|
91
91
|
address: 'U4EIZEMPRGC77P6HJSFCLWYE4NUMNILU5DBZCKV44QMJ3TQOADRETVVAZU',
|
|
92
92
|
whitelistedAssets: ['20918100', '92363258']
|
|
93
93
|
}],
|
|
94
|
+
wallets: [{
|
|
95
|
+
_id: '641dd681b08b7543f433af1e',
|
|
96
|
+
userId: '61851acd5b9a890013297b12',
|
|
97
|
+
type: 'liquid',
|
|
98
|
+
address: 'GA2skwb5v5nKaaAKNd61knuRJC47Jr',
|
|
99
|
+
name: 'GA2skwb5v5nKaaAKNd61knuRJC47Jr',
|
|
100
|
+
createdAt: '2021-11-19T16:19:33.390Z',
|
|
101
|
+
isPrimary: true
|
|
102
|
+
}, {
|
|
103
|
+
_id: '641dd681b08b7543f433af1f',
|
|
104
|
+
userId: '61851acd5b9a890013297b12',
|
|
105
|
+
type: 'liquid',
|
|
106
|
+
address: 'GA2skwb5v5nKaaAKNd61knuRJC47Jr',
|
|
107
|
+
assetIds: ['2812e39a-ad94-4368-9db4-9d98c1c00f38'],
|
|
108
|
+
liquidAccount: 'infinite-fleet',
|
|
109
|
+
registered_user: 6020,
|
|
110
|
+
name: 'GA2skwb5v5nKaaAKNd61knuRJC47Jr',
|
|
111
|
+
createdAt: '2021-11-19T16:19:33.390Z',
|
|
112
|
+
isPrimary: true
|
|
113
|
+
}, {
|
|
114
|
+
_id: '641dd681b08b7543f433af20',
|
|
115
|
+
userId: '61851acd5b9a890013297b12',
|
|
116
|
+
type: 'liquid',
|
|
117
|
+
address: 'GA2skwb5v5nKaaAKNd61knuRJC47Jr',
|
|
118
|
+
assetIds: ['35c3c8ed-59a3-4a87-9612-b48236aeab3b'],
|
|
119
|
+
liquidAccount: 'blockstream',
|
|
120
|
+
registered_user: 273,
|
|
121
|
+
name: 'GA2skwb5v5nKaaAKNd61knuRJC47Jr',
|
|
122
|
+
createdAt: '2021-11-19T16:19:33.390Z',
|
|
123
|
+
isPrimary: true
|
|
124
|
+
}],
|
|
94
125
|
liquid_network: {
|
|
95
126
|
GAID: 'GA2skwb5v5nKaaAKNd61knuRJC47Jr',
|
|
96
127
|
dt: '2021-11-19T16:19:33.390Z',
|
|
@@ -66,22 +66,7 @@ var CryptoAddress = function CryptoAddress(_ref) {
|
|
|
66
66
|
onClick: function onClick(e) {
|
|
67
67
|
return e.preventDefault();
|
|
68
68
|
}
|
|
69
|
-
}, /*#__PURE__*/_react.default.createElement(
|
|
70
|
-
position: "top",
|
|
71
|
-
title: copiedAddressToClipboard ? 'Copied to clipboard!' : 'Click to copy address to clipboard',
|
|
72
|
-
theme: "light",
|
|
73
|
-
arrow: true,
|
|
74
|
-
hideOnClick: false,
|
|
75
|
-
onHidden: function onHidden() {
|
|
76
|
-
return setCopiedAddressToClipboard(false);
|
|
77
|
-
},
|
|
78
|
-
duration: 200
|
|
79
|
-
}, /*#__PURE__*/_react.default.createElement(_reactCopyToClipboard.CopyToClipboard, {
|
|
80
|
-
text: address,
|
|
81
|
-
onCopy: function onCopy() {
|
|
82
|
-
return setCopiedAddressToClipboard(true);
|
|
83
|
-
}
|
|
84
|
-
}, /*#__PURE__*/_react.default.createElement(_CryptoAddress.CopyToClipboardButton, null))))), src && /*#__PURE__*/_react.default.createElement("img", {
|
|
69
|
+
}, copyToClipBoard(address, copiedAddressToClipboard, setCopiedAddressToClipboard))), src && /*#__PURE__*/_react.default.createElement("img", {
|
|
85
70
|
src: src,
|
|
86
71
|
alt: "project logo",
|
|
87
72
|
height: "50",
|
|
@@ -91,11 +76,30 @@ var CryptoAddress = function CryptoAddress(_ref) {
|
|
|
91
76
|
}
|
|
92
77
|
}))), /*#__PURE__*/_react.default.createElement(_CryptoAddress.Body, {
|
|
93
78
|
noBody: noBody
|
|
94
|
-
}, /*#__PURE__*/_react.default.createElement(_CryptoAddress.DataBox, null, data.value && /*#__PURE__*/_react.default.createElement(_CryptoAddress.Value, null, data.unit && "".concat(data.unit, " "), data.value), data.eqValue && /*#__PURE__*/_react.default.createElement(_CryptoAddress.Equal, null, '= ', data.eqUnit && "".concat(data.eqUnit, " "), data.eqValue)), /*#__PURE__*/_react.default.createElement(_CryptoAddress.InfoBox, null, /*#__PURE__*/_react.default.createElement(_CryptoAddress.Value, null, info.unit && /*#__PURE__*/_react.default.createElement("strong", null, info.unit), info.value), info.eqValue && /*#__PURE__*/_react.default.createElement(_CryptoAddress.Equal, null, info.noEqualsToSign ? ' ' : '= ', info.eqUnit && /*#__PURE__*/_react.default.createElement("strong", null, info.eqUnit), info.eqValue))), sideOptions && /*#__PURE__*/_react.default.createElement(_CryptoAddress.OptionsWrapper, null, sideOptions)))));
|
|
79
|
+
}, /*#__PURE__*/_react.default.createElement(_CryptoAddress.DataBox, null, data.value && /*#__PURE__*/_react.default.createElement(_CryptoAddress.Value, null, data.unit && "".concat(data.unit, " "), data.value, data.tooltip && /*#__PURE__*/_react.default.createElement("div", null, copyToClipBoard(data.value, copiedAddressToClipboard, setCopiedAddressToClipboard))), data.eqValue && /*#__PURE__*/_react.default.createElement(_CryptoAddress.Equal, null, '= ', data.eqUnit && "".concat(data.eqUnit, " "), data.eqValue)), /*#__PURE__*/_react.default.createElement(_CryptoAddress.InfoBox, null, /*#__PURE__*/_react.default.createElement(_CryptoAddress.Value, null, info.unit && /*#__PURE__*/_react.default.createElement("strong", null, info.unit), info.value), info.eqValue && /*#__PURE__*/_react.default.createElement(_CryptoAddress.Equal, null, info.noEqualsToSign ? ' ' : '= ', info.eqUnit && /*#__PURE__*/_react.default.createElement("strong", null, info.eqUnit), info.eqValue))), sideOptions && /*#__PURE__*/_react.default.createElement(_CryptoAddress.OptionsWrapper, null, sideOptions)))));
|
|
95
80
|
};
|
|
96
81
|
exports.CryptoAddress = CryptoAddress;
|
|
82
|
+
var copyToClipBoard = function copyToClipBoard(value, isCopied, setCopy) {
|
|
83
|
+
return /*#__PURE__*/_react.default.createElement(_reactTippy.Tooltip, {
|
|
84
|
+
position: "top",
|
|
85
|
+
title: isCopied ? 'Copied to clipboard!' : 'Click to copy address to clipboard',
|
|
86
|
+
theme: "light",
|
|
87
|
+
arrow: true,
|
|
88
|
+
hideOnClick: false,
|
|
89
|
+
onHidden: function onHidden() {
|
|
90
|
+
return setCopy(false);
|
|
91
|
+
},
|
|
92
|
+
duration: 200
|
|
93
|
+
}, /*#__PURE__*/_react.default.createElement(_reactCopyToClipboard.CopyToClipboard, {
|
|
94
|
+
text: value,
|
|
95
|
+
onCopy: function onCopy() {
|
|
96
|
+
return setCopy(true);
|
|
97
|
+
}
|
|
98
|
+
}, /*#__PURE__*/_react.default.createElement(_CryptoAddress.CopyToClipboardButton, null)));
|
|
99
|
+
};
|
|
97
100
|
var dataShape = _propTypes.default.shape({
|
|
98
101
|
value: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]).isRequired,
|
|
102
|
+
tooltip: _propTypes.default.bool,
|
|
99
103
|
unit: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]),
|
|
100
104
|
eqValue: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]),
|
|
101
105
|
eqUnit: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number])
|
|
@@ -7,6 +7,7 @@ exports.default = exports.CryptoAddressRadioWrap = exports.CryptoAddressOverview
|
|
|
7
7
|
var _react = _interopRequireDefault(require("react"));
|
|
8
8
|
var _CryptoAddress = _interopRequireDefault(require("./CryptoAddress"));
|
|
9
9
|
var _ComponentWrapper = require("../ComponentWrapper/ComponentWrapper.styles");
|
|
10
|
+
var _global = _interopRequireDefault(require("../../styles/global"));
|
|
10
11
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
12
|
var _default = {
|
|
12
13
|
title: 'Components Library/Crypto Address',
|
|
@@ -79,7 +80,7 @@ var _default = {
|
|
|
79
80
|
// }
|
|
80
81
|
exports.default = _default;
|
|
81
82
|
var Template = function Template(args) {
|
|
82
|
-
return /*#__PURE__*/_react.default.createElement(_ComponentWrapper.ComponentWrapper, null, /*#__PURE__*/_react.default.createElement(_CryptoAddress.default, args));
|
|
83
|
+
return /*#__PURE__*/_react.default.createElement(_ComponentWrapper.ComponentWrapper, null, /*#__PURE__*/_react.default.createElement(_global.default, null), /*#__PURE__*/_react.default.createElement(_CryptoAddress.default, args));
|
|
83
84
|
};
|
|
84
85
|
var CryptoAddressOverview = Template.bind({});
|
|
85
86
|
exports.CryptoAddressOverview = CryptoAddressOverview;
|
|
@@ -92,7 +93,8 @@ CryptoAddressOverview.args = {
|
|
|
92
93
|
value: '1',
|
|
93
94
|
unit: '€',
|
|
94
95
|
eqValue: '2',
|
|
95
|
-
eqUnit: '$'
|
|
96
|
+
eqUnit: '$',
|
|
97
|
+
tooltip: true
|
|
96
98
|
},
|
|
97
99
|
info: {
|
|
98
100
|
value: '3',
|
|
@@ -108,7 +108,7 @@ exports.InfoBox = InfoBox;
|
|
|
108
108
|
var Value = _styledComponents.default.div.withConfig({
|
|
109
109
|
displayName: "CryptoAddressstyles__Value",
|
|
110
110
|
componentId: "sc-1wjvdgu-12"
|
|
111
|
-
})(["position:relative;font-weight:300;font-size:22px;font-size:", "px;line-height:28px;letter-spacing:0.4px;strong{font-weight:normal;&:after{content:' ';}}"], function (props) {
|
|
111
|
+
})(["position:relative;font-weight:300;font-size:22px;font-size:", "px;line-height:28px;letter-spacing:0.4px;strong{font-weight:normal;&:after{content:' ';}}& > div{display:inline-block;margin-left:30px;& svg{max-width:16px;max-height:16px;}}"], function (props) {
|
|
112
112
|
return props.fontSize;
|
|
113
113
|
});
|
|
114
114
|
exports.Value = Value;
|
|
@@ -176,7 +176,7 @@ exports.CryptoAddressOptionIcon = CryptoAddressOptionIcon;
|
|
|
176
176
|
var CryptoAddressToggle = _styledComponents.default.button.withConfig({
|
|
177
177
|
displayName: "CryptoAddressstyles__CryptoAddressToggle",
|
|
178
178
|
componentId: "sc-1wjvdgu-20"
|
|
179
|
-
})(["display:inline-block;position:relative;width:40px;height:40px;outline:none;margin-left:10px;border-radius:20px;color:", ";transition:color .2s;transform:translateZ(0);&:focus,&:hover{color:", ";}&:before{content:'", "';position:absolute;top:50%;left:50%;width:16px;height:16px;font-size:16px;line-height:16px;margin-top:-8px;margin-left:-8px;font-family:'icomoon' !important;speak:none;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;line-height:1;transition:transform .2s;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}", ""], function (props) {
|
|
179
|
+
})(["display:inline-block;position:relative;width:40px;height:40px;outline:none;margin-left:10px;border-radius:20px;color:", ";transition:color 0.2s;transform:translateZ(0);&:focus,&:hover{color:", ";}&:before{content:'", "';position:absolute;top:50%;left:50%;width:16px;height:16px;font-size:16px;line-height:16px;margin-top:-8px;margin-left:-8px;font-family:'icomoon' !important;speak:none;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;line-height:1;transition:transform 0.2s;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}", ""], function (props) {
|
|
180
180
|
return _theme.default.cBlack;
|
|
181
181
|
}, function (props) {
|
|
182
182
|
return _theme.default.cPrimary;
|
|
@@ -414,8 +414,11 @@ var checkTodoStatus = function checkTodoStatus(user) {
|
|
|
414
414
|
|
|
415
415
|
// Country
|
|
416
416
|
if (isFromAllowedCountry && (user.user_type === 'investor' || user.user_type === 'investor-entity')) {
|
|
417
|
-
|
|
418
|
-
|
|
417
|
+
var _user$wallets;
|
|
418
|
+
//wallet (we only check for liquid wallet)
|
|
419
|
+
!(user !== null && user !== void 0 && (_user$wallets = user.wallets) !== null && _user$wallets !== void 0 && _user$wallets.some(function (wallet) {
|
|
420
|
+
return wallet.type === _globalVariables.walletTypes.LIQUID;
|
|
421
|
+
})) && count++;
|
|
419
422
|
// Risk Questionnaire
|
|
420
423
|
!user.is_risk_questionnaire_finished && count++
|
|
421
424
|
// KYC
|
|
@@ -97,6 +97,37 @@ var userDev = {
|
|
|
97
97
|
address: 'U4EIZEMPRGC77P6HJSFCLWYE4NUMNILU5DBZCKV44QMJ3TQOADRETVVAZU',
|
|
98
98
|
whitelistedAssets: ['20918100', '92363258']
|
|
99
99
|
}],
|
|
100
|
+
wallets: [{
|
|
101
|
+
_id: '641dd681b08b7543f433af1e',
|
|
102
|
+
userId: '61851acd5b9a890013297b12',
|
|
103
|
+
type: 'liquid',
|
|
104
|
+
address: 'GA2skwb5v5nKaaAKNd61knuRJC47Jr',
|
|
105
|
+
name: 'GA2skwb5v5nKaaAKNd61knuRJC47Jr',
|
|
106
|
+
createdAt: '2021-11-19T16:19:33.390Z',
|
|
107
|
+
isPrimary: true
|
|
108
|
+
}, {
|
|
109
|
+
_id: '641dd681b08b7543f433af1f',
|
|
110
|
+
userId: '61851acd5b9a890013297b12',
|
|
111
|
+
type: 'liquid',
|
|
112
|
+
address: 'GA2skwb5v5nKaaAKNd61knuRJC47Jr',
|
|
113
|
+
assetIds: ['2812e39a-ad94-4368-9db4-9d98c1c00f38'],
|
|
114
|
+
liquidAccount: 'infinite-fleet',
|
|
115
|
+
registered_user: 6020,
|
|
116
|
+
name: 'GA2skwb5v5nKaaAKNd61knuRJC47Jr',
|
|
117
|
+
createdAt: '2021-11-19T16:19:33.390Z',
|
|
118
|
+
isPrimary: true
|
|
119
|
+
}, {
|
|
120
|
+
_id: '641dd681b08b7543f433af20',
|
|
121
|
+
userId: '61851acd5b9a890013297b12',
|
|
122
|
+
type: 'liquid',
|
|
123
|
+
address: 'GA2skwb5v5nKaaAKNd61knuRJC47Jr',
|
|
124
|
+
assetIds: ['35c3c8ed-59a3-4a87-9612-b48236aeab3b'],
|
|
125
|
+
liquidAccount: 'blockstream',
|
|
126
|
+
registered_user: 273,
|
|
127
|
+
name: 'GA2skwb5v5nKaaAKNd61knuRJC47Jr',
|
|
128
|
+
createdAt: '2021-11-19T16:19:33.390Z',
|
|
129
|
+
isPrimary: true
|
|
130
|
+
}],
|
|
100
131
|
liquid_network: {
|
|
101
132
|
GAID: 'GA2skwb5v5nKaaAKNd61knuRJC47Jr',
|
|
102
133
|
dt: '2021-11-19T16:19:33.390Z',
|
|
@@ -38,18 +38,31 @@ var Input = function Input(props) {
|
|
|
38
38
|
hasFocus = _useState4[0],
|
|
39
39
|
setHasFocus = _useState4[1];
|
|
40
40
|
(0, _react.useEffect)(function () {
|
|
41
|
-
|
|
41
|
+
checkLabel(false);
|
|
42
|
+
}, []);
|
|
43
|
+
(0, _react.useEffect)(function () {
|
|
44
|
+
checkLabel(false);
|
|
42
45
|
}, [hasFocus, value]);
|
|
46
|
+
(0, _react.useEffect)(function () {
|
|
47
|
+
if (value && !labelUp) setLabelUp(true);
|
|
48
|
+
}, [value, labelUp]);
|
|
43
49
|
var onFocus = function onFocus(e, field) {
|
|
44
|
-
|
|
45
|
-
|
|
50
|
+
var onFocus = props.onFocus;
|
|
51
|
+
onFocus && onFocus(e, field);
|
|
52
|
+
checkLabel(true);
|
|
46
53
|
};
|
|
47
54
|
var onBlur = function onBlur(e, field) {
|
|
48
|
-
|
|
49
|
-
|
|
55
|
+
var onBlur = props.onBlur;
|
|
56
|
+
onBlur && onBlur(e, field);
|
|
57
|
+
checkLabel(false);
|
|
50
58
|
};
|
|
51
59
|
var onChange = function onChange(e, field) {
|
|
52
|
-
|
|
60
|
+
var onChange = props.onChange;
|
|
61
|
+
onChange && onChange(e, field);
|
|
62
|
+
};
|
|
63
|
+
var checkLabel = function checkLabel(focus) {
|
|
64
|
+
setHasFocus(focus);
|
|
65
|
+
setLabelUp(focus || !!value);
|
|
53
66
|
};
|
|
54
67
|
return /*#__PURE__*/_react.default.createElement(_Input.Wrapper, {
|
|
55
68
|
inverted: inverted
|
|
@@ -70,7 +83,11 @@ var Input = function Input(props) {
|
|
|
70
83
|
onBlur: onBlur,
|
|
71
84
|
onFocus: onFocus,
|
|
72
85
|
readOnly: readOnly,
|
|
73
|
-
placeholder: placeholder
|
|
86
|
+
placeholder: placeholder,
|
|
87
|
+
style: {
|
|
88
|
+
WebkitAppearance: 'none',
|
|
89
|
+
WebkitBorderRadius: 0
|
|
90
|
+
}
|
|
74
91
|
})));
|
|
75
92
|
};
|
|
76
93
|
exports.Input = Input;
|
|
@@ -22,7 +22,7 @@ exports.Wrapper = Wrapper;
|
|
|
22
22
|
var Label = _styledComponents.default.label.withConfig({
|
|
23
23
|
displayName: "Inputstyles__Label",
|
|
24
24
|
componentId: "sc-1osolkh-1"
|
|
25
|
-
})(["z-index:11;display:block;position:absolute;left:0;top:-2px;height:12px;font-size:11px;line-height:20px;letter-spacing:2px;text-transform:uppercase;color:", ";pointer-events:none;transform:translateY(15px);transition:transform .2s,font-size .2s;", " ", " ", ""], function (props) {
|
|
25
|
+
})(["z-index:11;display:block;position:absolute;left:0;top:-2px;font-weight:500;height:12px;font-size:11px;line-height:20px;letter-spacing:2px;text-transform:uppercase;color:", ";pointer-events:none;transform:translateY(15px);transition:transform 0.2s,font-size 0.2s;", " ", " ", ""], function (props) {
|
|
26
26
|
return _theme.default.cBlack;
|
|
27
27
|
}, function (props) {
|
|
28
28
|
return props.isUp && "\n font-size: 10px;\n transform: translateY(0);\n ";
|
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
3
4
|
Object.defineProperty(exports, "__esModule", {
|
|
4
5
|
value: true
|
|
5
6
|
});
|
|
6
|
-
exports.default =
|
|
7
|
-
var _react =
|
|
7
|
+
exports.default = void 0;
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
9
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
10
|
var _reactRouterDom = require("react-router-dom");
|
|
10
11
|
var _formik = require("formik");
|
|
11
12
|
var Yup = _interopRequireWildcard(require("yup"));
|
|
13
|
+
var _formikPersist = require("formik-persist");
|
|
12
14
|
var _Modal = require("../Modal/Modal");
|
|
13
15
|
var _Form = _interopRequireWildcard(require("../Form/Form"));
|
|
14
16
|
var _Text = _interopRequireDefault(require("../Text/Text.styles"));
|
|
@@ -18,146 +20,162 @@ var _Button = _interopRequireDefault(require("../Button/Button.styles"));
|
|
|
18
20
|
var _TextLink = _interopRequireDefault(require("../TextLink/TextLink.styles"));
|
|
19
21
|
var _Grid = require("../Grid/Grid.styles");
|
|
20
22
|
var _ComponentWrapper = _interopRequireDefault(require("../ComponentWrapper/ComponentWrapper.styles"));
|
|
21
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
22
23
|
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); }
|
|
23
24
|
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; }
|
|
24
|
-
function
|
|
25
|
-
function
|
|
26
|
-
function
|
|
27
|
-
function
|
|
28
|
-
function
|
|
29
|
-
function
|
|
30
|
-
function
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
args[_key] = arguments[_key];
|
|
25
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
26
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
27
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
28
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
29
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
30
|
+
function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
|
|
31
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
32
|
+
var LoginModal = function LoginModal(props) {
|
|
33
|
+
var _React$useState = _react.default.useState(null),
|
|
34
|
+
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
35
|
+
email = _React$useState2[0],
|
|
36
|
+
setemail = _React$useState2[1];
|
|
37
|
+
var location = (0, _reactRouterDom.useLocation)();
|
|
38
|
+
_react.default.useEffect(function () {
|
|
39
|
+
//the URL will look like this: /login?email=some.email@email.com
|
|
40
|
+
var search = location.search;
|
|
41
|
+
if (search.includes('email=')) {
|
|
42
|
+
var emailFromURL = search.slice(search.indexOf('=') + 1);
|
|
43
|
+
if (emailFromURL) {
|
|
44
|
+
setemail(emailFromURL);
|
|
45
|
+
}
|
|
46
46
|
}
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
47
|
+
}, []);
|
|
48
|
+
var validationSchema = Yup.object().shape({
|
|
49
|
+
email: Yup.string().email("Oops, that's not a valid address").required('Oops, this can‘t be blank'),
|
|
50
|
+
password: Yup.string().required('Oops, this can‘t be blank')
|
|
51
|
+
});
|
|
52
|
+
var popupError = props.popupError,
|
|
53
|
+
isModalOpen = props.isModalOpen,
|
|
54
|
+
onModalClose = props.onModalClose,
|
|
55
|
+
onFormSend = props.onFormSend,
|
|
56
|
+
onModalSwitch = props.onModalSwitch,
|
|
57
|
+
onForgotPassword = props.onForgotPassword,
|
|
58
|
+
isActionLoading = props.isActionLoading,
|
|
59
|
+
background = props.background;
|
|
60
|
+
return /*#__PURE__*/_react.default.createElement(_Modal.Modal, {
|
|
61
|
+
isOpen: isModalOpen,
|
|
62
|
+
onClose: onModalClose,
|
|
63
|
+
background: background
|
|
64
|
+
}, /*#__PURE__*/_react.default.createElement(_Grid.Row, null, /*#__PURE__*/_react.default.createElement(_Grid.Column, {
|
|
65
|
+
part: 8
|
|
66
|
+
}, /*#__PURE__*/_react.default.createElement(_Modal.ModalInner, {
|
|
67
|
+
modalTop: true
|
|
68
|
+
}, /*#__PURE__*/_react.default.createElement(_Text.default, null, /*#__PURE__*/_react.default.createElement("h3", null, "Log in"), /*#__PURE__*/_react.default.createElement("p", null, 'Come on in to stoke up innovation...'))), /*#__PURE__*/_react.default.createElement(_Modal.ModalInner, {
|
|
69
|
+
modalBot: true
|
|
70
|
+
}, /*#__PURE__*/_react.default.createElement(_Modal.ModalLinkWrap, null, "Don't have an account yet? ", /*#__PURE__*/_react.default.createElement(_Modal.ModalLink, {
|
|
71
|
+
to: "#",
|
|
72
|
+
as: "button",
|
|
73
|
+
onClick: onModalSwitch
|
|
74
|
+
}, "Sign up")))), /*#__PURE__*/_react.default.createElement(_Grid.Column, {
|
|
75
|
+
part: 8
|
|
76
|
+
}, /*#__PURE__*/_react.default.createElement(_Modal.ModalInner, null, /*#__PURE__*/_react.default.createElement(_formik.Formik, {
|
|
77
|
+
initialValues: {
|
|
78
|
+
email: email || '',
|
|
50
79
|
password: ''
|
|
51
|
-
});
|
|
52
|
-
_defineProperty(_assertThisInitialized(_this), "validationSchema", Yup.object().shape({
|
|
53
|
-
email: Yup.string().email('Email is not valid').required('Email is required'),
|
|
54
|
-
password: Yup.string().required('Password is required')
|
|
55
|
-
}));
|
|
56
|
-
return _this;
|
|
57
|
-
}
|
|
58
|
-
_createClass(LoginModal, [{
|
|
59
|
-
key: "render",
|
|
60
|
-
value: function render() {
|
|
61
|
-
var _this$props = this.props,
|
|
62
|
-
isModalOpen = _this$props.isModalOpen,
|
|
63
|
-
onModalClose = _this$props.onModalClose,
|
|
64
|
-
onFormSend = _this$props.onFormSend,
|
|
65
|
-
onModalSwitch = _this$props.onModalSwitch,
|
|
66
|
-
onForgotPassword = _this$props.onForgotPassword;
|
|
67
|
-
return /*#__PURE__*/_react.default.createElement(_Modal.Modal, {
|
|
68
|
-
isOpen: isModalOpen,
|
|
69
|
-
onClose: onModalClose
|
|
70
|
-
}, /*#__PURE__*/_react.default.createElement(_Grid.Row, null, /*#__PURE__*/_react.default.createElement(_Grid.Column, {
|
|
71
|
-
part: 8
|
|
72
|
-
}, /*#__PURE__*/_react.default.createElement(_Modal.ModalInner, {
|
|
73
|
-
modalTop: true
|
|
74
|
-
}, /*#__PURE__*/_react.default.createElement(_Text.default, null, /*#__PURE__*/_react.default.createElement("h3", null, "Log in"), /*#__PURE__*/_react.default.createElement("p", null, 'Please log in to engage in our community & invest in exciting opportunities.'))), /*#__PURE__*/_react.default.createElement(_Modal.ModalInner, {
|
|
75
|
-
modalBot: true
|
|
76
|
-
}, /*#__PURE__*/_react.default.createElement(_Modal.ModalLinkWrap, null, "Don't have an account yet? ", /*#__PURE__*/_react.default.createElement(_Modal.ModalLink, {
|
|
77
|
-
as: "button",
|
|
78
|
-
onClick: onModalSwitch
|
|
79
|
-
}, "Sign up")))), /*#__PURE__*/_react.default.createElement(_Grid.Column, {
|
|
80
|
-
part: 8
|
|
81
|
-
}, /*#__PURE__*/_react.default.createElement(_Modal.ModalInner, null, /*#__PURE__*/_react.default.createElement(_formik.Formik, {
|
|
82
|
-
initialValues: this.initialValues,
|
|
83
|
-
validationSchema: this.validationSchema,
|
|
84
|
-
onSubmit: onFormSend
|
|
85
|
-
}, function (_ref) {
|
|
86
|
-
var values = _ref.values,
|
|
87
|
-
errors = _ref.errors,
|
|
88
|
-
touched = _ref.touched,
|
|
89
|
-
handleChange = _ref.handleChange,
|
|
90
|
-
handleBlur = _ref.handleBlur,
|
|
91
|
-
setFieldValue = _ref.setFieldValue,
|
|
92
|
-
setFieldTouched = _ref.setFieldTouched;
|
|
93
|
-
var onChangeWithTouch = function onChangeWithTouch(e) {
|
|
94
|
-
var field = e.target;
|
|
95
|
-
setFieldValue(field.name, field.value, false);
|
|
96
|
-
setFieldTouched(field.name);
|
|
97
|
-
};
|
|
98
|
-
var submitDisabled = !touched.email || !touched.password || !!errors.email || !!errors.password;
|
|
99
|
-
return /*#__PURE__*/_react.default.createElement(_Form.default, null, /*#__PURE__*/_react.default.createElement(_ComponentWrapper.default, {
|
|
100
|
-
noPadding: true
|
|
101
|
-
}, /*#__PURE__*/_react.default.createElement(_Form.FormField, null, /*#__PURE__*/_react.default.createElement(_Input.default, {
|
|
102
|
-
id: "sign-up-email",
|
|
103
|
-
name: "email",
|
|
104
|
-
type: "email",
|
|
105
|
-
label: "Your email",
|
|
106
|
-
value: values.email,
|
|
107
|
-
onChange: handleChange,
|
|
108
|
-
onBlur: handleBlur,
|
|
109
|
-
error: !!errors.email,
|
|
110
|
-
touched: !!touched.email
|
|
111
|
-
}), /*#__PURE__*/_react.default.createElement(_Form.FormError, {
|
|
112
|
-
show: errors.email && touched.email
|
|
113
|
-
}, errors.email))), /*#__PURE__*/_react.default.createElement(_ComponentWrapper.default, {
|
|
114
|
-
noPaddingBottom: true,
|
|
115
|
-
noPaddingHorizontal: true
|
|
116
|
-
}, /*#__PURE__*/_react.default.createElement(_Form.FormField, null, /*#__PURE__*/_react.default.createElement(_InputPassword.default, {
|
|
117
|
-
id: "sign-up-password",
|
|
118
|
-
name: "password",
|
|
119
|
-
type: "password",
|
|
120
|
-
label: "Password",
|
|
121
|
-
value: values.password,
|
|
122
|
-
onChange: onChangeWithTouch,
|
|
123
|
-
onBlur: handleBlur,
|
|
124
|
-
error: !!errors.password,
|
|
125
|
-
touched: !!touched.password
|
|
126
|
-
}), /*#__PURE__*/_react.default.createElement(_Form.FormError, {
|
|
127
|
-
show: errors.password && touched.password
|
|
128
|
-
}, errors.password))), /*#__PURE__*/_react.default.createElement(_ComponentWrapper.default, {
|
|
129
|
-
noPaddingBottom: true,
|
|
130
|
-
noPaddingHorizontal: true
|
|
131
|
-
}, /*#__PURE__*/_react.default.createElement(_Button.default, {
|
|
132
|
-
type: "submit",
|
|
133
|
-
fluid: true,
|
|
134
|
-
disabled: submitDisabled
|
|
135
|
-
}, "Login")), /*#__PURE__*/_react.default.createElement(_ComponentWrapper.default, {
|
|
136
|
-
noPaddingBottom: true,
|
|
137
|
-
noPaddingHorizontal: true
|
|
138
|
-
}, /*#__PURE__*/_react.default.createElement(_TextLink.default, {
|
|
139
|
-
as: "button",
|
|
140
|
-
onClick: onForgotPassword
|
|
141
|
-
}, "Forgot password?")), /*#__PURE__*/_react.default.createElement(_ComponentWrapper.default, {
|
|
142
|
-
noPaddingBottom: true,
|
|
143
|
-
noPaddingHorizontal: true
|
|
144
|
-
}, /*#__PURE__*/_react.default.createElement(_Form.FormInfo, {
|
|
145
|
-
center: true
|
|
146
|
-
}, 'By signing up for STOKR, you agree to our ', /*#__PURE__*/_react.default.createElement(_reactRouterDom.Link, {
|
|
147
|
-
to: "#"
|
|
148
|
-
}, "Terms of Service."))));
|
|
149
|
-
})))));
|
|
150
80
|
}
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
81
|
+
// initialTouched={{ email: false, password: false }}
|
|
82
|
+
,
|
|
83
|
+
validationSchema: validationSchema,
|
|
84
|
+
onSubmit: function onSubmit(values) {
|
|
85
|
+
onFormSend(values);
|
|
86
|
+
}
|
|
87
|
+
}, function (_ref) {
|
|
88
|
+
var values = _ref.values,
|
|
89
|
+
errors = _ref.errors,
|
|
90
|
+
touched = _ref.touched,
|
|
91
|
+
handleChange = _ref.handleChange,
|
|
92
|
+
handleBlur = _ref.handleBlur,
|
|
93
|
+
setFieldValue = _ref.setFieldValue,
|
|
94
|
+
setFieldTouched = _ref.setFieldTouched,
|
|
95
|
+
setErrors = _ref.setErrors;
|
|
96
|
+
var onChangeWithTouch = function onChangeWithTouch(e) {
|
|
97
|
+
var field = e.target;
|
|
98
|
+
setFieldValue(field.name, field.value, false);
|
|
99
|
+
setFieldTouched(field.name);
|
|
100
|
+
};
|
|
101
|
+
if (email && values.email !== email) {
|
|
102
|
+
setFieldValue('email', email);
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
//hack to avoid error when autofill from browser
|
|
106
|
+
if (values.password && errors.password && values.email && !errors.email) {
|
|
107
|
+
setErrors({});
|
|
108
|
+
setFieldValue('password', values.password, false);
|
|
109
|
+
}
|
|
110
|
+
var submitDisabled = !touched.email || !touched.password || !!errors.email || !!errors.password || isActionLoading === 'login';
|
|
111
|
+
return /*#__PURE__*/_react.default.createElement(_Form.default, null, /*#__PURE__*/_react.default.createElement(_ComponentWrapper.default, {
|
|
112
|
+
noPadding: true
|
|
113
|
+
}, /*#__PURE__*/_react.default.createElement(_Form.FormField, null, /*#__PURE__*/_react.default.createElement(_Input.default, {
|
|
114
|
+
id: "sign-up-email",
|
|
115
|
+
name: "email",
|
|
116
|
+
type: "email",
|
|
117
|
+
label: "Your email",
|
|
118
|
+
value: email || values.email,
|
|
119
|
+
onChange: onChangeWithTouch,
|
|
120
|
+
onBlur: handleBlur,
|
|
121
|
+
error: !!errors.email,
|
|
122
|
+
touched: !!touched.email
|
|
123
|
+
}), /*#__PURE__*/_react.default.createElement(_Form.FormError, {
|
|
124
|
+
show: errors.email && touched.email
|
|
125
|
+
}, errors.email))), /*#__PURE__*/_react.default.createElement(_ComponentWrapper.default, {
|
|
126
|
+
noPaddingBottom: true,
|
|
127
|
+
noPaddingHorizontal: true
|
|
128
|
+
}, /*#__PURE__*/_react.default.createElement(_formikPersist.Persist, {
|
|
129
|
+
name: "login-form",
|
|
130
|
+
isSessionStorage: true
|
|
131
|
+
}), /*#__PURE__*/_react.default.createElement(_Form.FormField, null, /*#__PURE__*/_react.default.createElement(_InputPassword.default, {
|
|
132
|
+
id: "sign-up-password",
|
|
133
|
+
name: "password",
|
|
134
|
+
type: "password",
|
|
135
|
+
label: "Password",
|
|
136
|
+
value: values.password,
|
|
137
|
+
onChange: onChangeWithTouch,
|
|
138
|
+
onBlur: handleBlur,
|
|
139
|
+
error: !!errors.password,
|
|
140
|
+
touched: !!touched.password
|
|
141
|
+
}), /*#__PURE__*/_react.default.createElement(_Form.FormError, {
|
|
142
|
+
show: errors.password && touched.password
|
|
143
|
+
}, errors.password))), /*#__PURE__*/_react.default.createElement(_ComponentWrapper.default, {
|
|
144
|
+
noPaddingBottom: true,
|
|
145
|
+
noPaddingHorizontal: true
|
|
146
|
+
}, /*#__PURE__*/_react.default.createElement(_Button.default, {
|
|
147
|
+
type: "submit",
|
|
148
|
+
fluid: true,
|
|
149
|
+
disabled: submitDisabled
|
|
150
|
+
}, isActionLoading === 'login' ? 'Logging in' : 'Login')), /*#__PURE__*/_react.default.createElement(_ComponentWrapper.default, {
|
|
151
|
+
paddingVeticalHalf: true,
|
|
152
|
+
noPaddingHorizontal: true
|
|
153
|
+
}, /*#__PURE__*/_react.default.createElement(_Form.FormError, {
|
|
154
|
+
show: popupError.popup === 'login'
|
|
155
|
+
}, popupError.message)), /*#__PURE__*/_react.default.createElement(_ComponentWrapper.default, {
|
|
156
|
+
noPaddingBottom: true,
|
|
157
|
+
noPaddingHorizontal: true
|
|
158
|
+
}, /*#__PURE__*/_react.default.createElement(_TextLink.default, {
|
|
159
|
+
as: "button",
|
|
160
|
+
onClick: function onClick() {
|
|
161
|
+
values.password = '';
|
|
162
|
+
onForgotPassword.apply(void 0, arguments);
|
|
163
|
+
}
|
|
164
|
+
}, "Forgot password?")));
|
|
165
|
+
})))));
|
|
166
|
+
};
|
|
155
167
|
LoginModal.propTypes = {
|
|
156
168
|
isModalOpen: _propTypes.default.bool.isRequired,
|
|
157
169
|
onModalClose: _propTypes.default.func.isRequired,
|
|
158
170
|
onFormSend: _propTypes.default.func.isRequired,
|
|
159
171
|
onModalSwitch: _propTypes.default.func.isRequired,
|
|
160
|
-
onForgotPassword: _propTypes.default.func.isRequired
|
|
172
|
+
onForgotPassword: _propTypes.default.func.isRequired,
|
|
173
|
+
isActionLoading: _propTypes.default.bool,
|
|
174
|
+
popupError: _propTypes.default.shape({
|
|
175
|
+
popup: _propTypes.default.string,
|
|
176
|
+
message: _propTypes.default.string
|
|
177
|
+
}).isRequired,
|
|
178
|
+
background: _propTypes.default.string
|
|
161
179
|
};
|
|
162
180
|
var _default = LoginModal;
|
|
163
181
|
exports.default = _default;
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = exports.LoginModalOpen = void 0;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _reactRouterDom = require("react-router-dom");
|
|
9
|
+
var _ComponentWrapper = require("../ComponentWrapper/ComponentWrapper.styles");
|
|
10
|
+
var _LoginModal = _interopRequireDefault(require("./LoginModal"));
|
|
11
|
+
var _global = _interopRequireDefault(require("../../styles/global"));
|
|
12
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
|
+
var _default = {
|
|
14
|
+
title: 'Components Library/LoginModal',
|
|
15
|
+
component: _LoginModal.default,
|
|
16
|
+
argTypes: {
|
|
17
|
+
popupError: {
|
|
18
|
+
type: 'object',
|
|
19
|
+
defaultValue: {
|
|
20
|
+
message: null,
|
|
21
|
+
popup: null
|
|
22
|
+
},
|
|
23
|
+
required: true
|
|
24
|
+
},
|
|
25
|
+
isActionLoading: {
|
|
26
|
+
type: 'boolean',
|
|
27
|
+
defaultValue: false
|
|
28
|
+
},
|
|
29
|
+
isModalOpen: {
|
|
30
|
+
type: 'boolean',
|
|
31
|
+
defaultValue: true
|
|
32
|
+
},
|
|
33
|
+
onFormSend: {
|
|
34
|
+
type: 'function',
|
|
35
|
+
action: 'onFormSend'
|
|
36
|
+
},
|
|
37
|
+
onModalSwitch: {
|
|
38
|
+
type: 'function',
|
|
39
|
+
action: 'onModalSwitch'
|
|
40
|
+
},
|
|
41
|
+
onForgotPassword: {
|
|
42
|
+
type: 'function',
|
|
43
|
+
action: 'onForgotPassword'
|
|
44
|
+
},
|
|
45
|
+
onModalClose: {
|
|
46
|
+
type: 'function',
|
|
47
|
+
action: 'onModalClose'
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
exports.default = _default;
|
|
52
|
+
var Template = function Template(args) {
|
|
53
|
+
return /*#__PURE__*/_react.default.createElement(_ComponentWrapper.ComponentWrapper, null, /*#__PURE__*/_react.default.createElement(_reactRouterDom.BrowserRouter, null, /*#__PURE__*/_react.default.createElement(_global.default, null), /*#__PURE__*/_react.default.createElement(_LoginModal.default, args)));
|
|
54
|
+
};
|
|
55
|
+
var LoginModalOpen = Template.bind({});
|
|
56
|
+
exports.LoginModalOpen = LoginModalOpen;
|
|
57
|
+
LoginModalOpen.args = {
|
|
58
|
+
onFormSend: function onFormSend(data) {
|
|
59
|
+
console.log(data);
|
|
60
|
+
},
|
|
61
|
+
onModalClose: function onModalClose(data) {
|
|
62
|
+
console.log('close modal');
|
|
63
|
+
},
|
|
64
|
+
onModalSwitch: function onModalSwitch(data) {
|
|
65
|
+
console.log('switch modal');
|
|
66
|
+
},
|
|
67
|
+
onForgotPassword: function onForgotPassword(data) {
|
|
68
|
+
console.log('forgot password');
|
|
69
|
+
}
|
|
70
|
+
};
|
|
@@ -77,7 +77,9 @@ var Modal = function Modal(_ref) {
|
|
|
77
77
|
isOpen = _ref.isOpen,
|
|
78
78
|
onClose = _ref.onClose,
|
|
79
79
|
className = _ref.className,
|
|
80
|
-
isRegisterEntity = _ref.isRegisterEntity
|
|
80
|
+
isRegisterEntity = _ref.isRegisterEntity,
|
|
81
|
+
modalLogin = _ref.modalLogin,
|
|
82
|
+
background = _ref.background;
|
|
81
83
|
(0, _react.useEffect)(function () {
|
|
82
84
|
//if modal open, disable scroll on the background
|
|
83
85
|
if (isOpen) {
|
|
@@ -103,6 +105,7 @@ var Modal = function Modal(_ref) {
|
|
|
103
105
|
className: className,
|
|
104
106
|
style: getTransitionStyles[status]
|
|
105
107
|
}, /*#__PURE__*/_react.default.createElement(_Modal.Dimmer, {
|
|
108
|
+
background: background,
|
|
106
109
|
open: isOpen,
|
|
107
110
|
kyc: kyc,
|
|
108
111
|
closeOnDimmerClick: false,
|
|
@@ -125,7 +128,8 @@ Modal.propTypes = {
|
|
|
125
128
|
kyc: _propTypes.default.bool,
|
|
126
129
|
thin: _propTypes.default.bool,
|
|
127
130
|
isOpen: _propTypes.default.bool.isRequired,
|
|
128
|
-
onClose: _propTypes.default.func.isRequired
|
|
131
|
+
onClose: _propTypes.default.func.isRequired,
|
|
132
|
+
background: _propTypes.default.string
|
|
129
133
|
};
|
|
130
134
|
Modal.defaultProps = {
|
|
131
135
|
className: '',
|
|
@@ -23,7 +23,9 @@ exports.ModalRoot = ModalRoot;
|
|
|
23
23
|
var Dimmer = _styledComponents.default.div.withConfig({
|
|
24
24
|
displayName: "Modalstyles__Dimmer",
|
|
25
25
|
componentId: "sc-9hc271-1"
|
|
26
|
-
})(["position:relative;top:0;left:0;display:block;width:100%;height:100%;background
|
|
26
|
+
})(["position:relative;top:0;left:0;display:block;width:100%;height:100%;background:", ";background-size:cover;font-size:0;text-align:center;overflow-y:auto;", " &:after{content:'';display:inline-block;vertical-align:middle;height:100%;width:0;}"], function (props) {
|
|
27
|
+
return props.background ? props.background : 'rgba(0, 0, 0, 0.7)';
|
|
28
|
+
}, function (props) {
|
|
27
29
|
return props.kyc && 'overflow: visible;';
|
|
28
30
|
});
|
|
29
31
|
exports.Dimmer = Dimmer;
|
|
@@ -3,8 +3,14 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.platformURL = exports.platformDomain = void 0;
|
|
6
|
+
exports.walletTypes = exports.platformURL = exports.platformDomain = void 0;
|
|
7
7
|
var platformDomain = process.env.REACT_APP_WEBSITE_DOMAIN || 'stokr.info';
|
|
8
8
|
exports.platformDomain = platformDomain;
|
|
9
9
|
var platformURL = 'https://' + platformDomain;
|
|
10
|
-
exports.platformURL = platformURL;
|
|
10
|
+
exports.platformURL = platformURL;
|
|
11
|
+
var walletTypes = {
|
|
12
|
+
LIQUID: 'liquid',
|
|
13
|
+
ALGORAND: 'algo',
|
|
14
|
+
ETHEREUM: 'eth'
|
|
15
|
+
};
|
|
16
|
+
exports.walletTypes = walletTypes;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stokr/components-library",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.2",
|
|
4
4
|
"description": "STOKR - Components Library",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.js",
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"test": "react-app-rewired test",
|
|
23
23
|
"prepare": "npm run build",
|
|
24
24
|
"storybook": "start-storybook -p 6006",
|
|
25
|
-
"start": "
|
|
25
|
+
"start": "npm run storybook",
|
|
26
26
|
"chromatic": "CHROMATIC_APP_CODE=7kzdke5umep chromatic",
|
|
27
27
|
"release": "auto shipit",
|
|
28
28
|
"pub": "rm -rf ./dist && npm publish --access public"
|
|
@@ -43,6 +43,7 @@
|
|
|
43
43
|
"d3": "^7.8.3",
|
|
44
44
|
"date-fns": "^2.29.3",
|
|
45
45
|
"formik": "^2.2.9",
|
|
46
|
+
"formik-persist": "^1.1.0",
|
|
46
47
|
"js-cookie": "^2.2.1",
|
|
47
48
|
"mobile-detect": "^1.4.5",
|
|
48
49
|
"polished": "^4.2.2",
|
|
@@ -73,6 +74,7 @@
|
|
|
73
74
|
"styled-breakpoints": "^11.1.1",
|
|
74
75
|
"styled-components": "^5.3.6",
|
|
75
76
|
"support-color": "^7.1.0",
|
|
77
|
+
"supports-color": "^9.3.1",
|
|
76
78
|
"yup": "^1.0.0"
|
|
77
79
|
},
|
|
78
80
|
"devDependencies": {
|