@stokr/components-library 0.8.0 → 0.8.1

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.
@@ -52,8 +52,9 @@ var UserChecklist = function UserChecklist(props) {
52
52
  optionalTasks = _useState10[0],
53
53
  setoptionalTasks = _useState10[1];
54
54
  (0, _react.useEffect)(function () {
55
+ console.log('🚀 ~ file: UserChecklist.js:30 ~ user:', user);
55
56
  generateTodos(user);
56
- }, []);
57
+ }, [user]);
57
58
  (0, _react.useEffect)(function () {
58
59
  //calculate mandatory count from tasks
59
60
  if (mandatoryTasks.length > 0) {
@@ -97,15 +98,20 @@ var UserChecklist = function UserChecklist(props) {
97
98
  var generateTodos = function generateTodos(userData) {
98
99
  var country = user.country,
99
100
  entity_name = user.entity_name,
100
- investor_eth_addresses = user.investor_eth_addresses,
101
- investor_algo_addresses = user.investor_algo_addresses,
102
101
  countryObj = user.countryObj,
103
- _user$liquid_network = user.liquid_network,
104
- liquid_network = _user$liquid_network === void 0 ? {} : _user$liquid_network,
105
102
  is_risk_questionnaire_finished = user.is_risk_questionnaire_finished,
106
103
  kyc_status = user.kyc_status,
107
- KYCDocuments = user.KYCDocuments,
108
- lemonwayWallet = user.lemonwayWallet;
104
+ _user$wallets = user.wallets,
105
+ wallets = _user$wallets === void 0 ? [] : _user$wallets;
106
+ var liquidWallets = wallets.filter(function (wallet) {
107
+ return wallet.type === _globalVariables.walletTypes.LIQUID;
108
+ }) || [];
109
+ var algoWallets = wallets.filter(function (wallet) {
110
+ return wallet.type === _globalVariables.walletTypes.ALGORAND;
111
+ }) || [];
112
+ var ethWallets = wallets.filter(function (wallet) {
113
+ return wallet.type === _globalVariables.walletTypes.ETHEREUM;
114
+ }) || [];
109
115
  var platformURL = useRelativePath === true ? '' : "https://signup.".concat(_globalVariables.platformDomain);
110
116
  if (entity_name) {
111
117
  setmandatoryTasks([{
@@ -121,20 +127,20 @@ var UserChecklist = function UserChecklist(props) {
121
127
  }]);
122
128
  setwalletTasks([{
123
129
  title: 'Liquid Address',
124
- message: liquid_network && liquid_network.GAID ? 'Your address is registered' : 'Register a Liquid address where you will receive the securities',
125
- state: liquid_network && liquid_network.GAID ? _ToDoList.ToDoTaskState.APPROVED : _ToDoList.ToDoTaskState.SKIPPED,
130
+ message: liquidWallets.length > 0 ? 'Your address is registered' : 'Register a Liquid address where you will receive the securities',
131
+ state: liquidWallets.length > 0 ? _ToDoList.ToDoTaskState.APPROVED : _ToDoList.ToDoTaskState.SKIPPED,
126
132
  link: "".concat(platformURL, "/register-liquid-securities")
127
133
  }, {
128
134
  title: 'Ethereum Address',
129
- message: investor_eth_addresses ? 'Your address is registered' : 'Register an Ethereum address where you will receive the securities',
130
- state: investor_eth_addresses ? _ToDoList.ToDoTaskState.APPROVED : _ToDoList.ToDoTaskState.SKIPPED,
135
+ message: ethWallets.length > 0 ? 'Your address is registered' : 'Register an Ethereum address where you will receive the securities',
136
+ state: ethWallets.length > 0 ? _ToDoList.ToDoTaskState.APPROVED : _ToDoList.ToDoTaskState.SKIPPED,
131
137
  //link: '', //`${platformURL}/register-ethereum`,
132
138
  disabled: true,
133
139
  tooltip: 'Connecting your ethereum wallet is currently disabled until we have a new offer using the ethereum network.'
134
140
  }, {
135
141
  title: 'Algorand Address',
136
- message: investor_algo_addresses ? 'Opt-in into more assets' : 'Register an Algorand address and opt-in into a project you want to invest in ',
137
- state: investor_algo_addresses ? _ToDoList.ToDoTaskState.APPROVED : _ToDoList.ToDoTaskState.SKIPPED,
142
+ message: algoWallets.length > 0 ? 'Opt-in into more assets' : 'Register an Algorand address and opt-in into a project you want to invest in ',
143
+ state: algoWallets.length > 0 ? _ToDoList.ToDoTaskState.APPROVED : _ToDoList.ToDoTaskState.SKIPPED,
138
144
  //: '',
139
145
  openModal: _ToDoList.ToDoModal.ALGO
140
146
  }]);
@@ -164,19 +170,19 @@ var UserChecklist = function UserChecklist(props) {
164
170
  }]);
165
171
  setwalletTasks([{
166
172
  title: 'Liquid Address',
167
- message: !isFromAllowedCountry ? 'Sorry, you are living in a country where this is not available' : liquid_network && liquid_network.GAID ? 'Your address is registered' : 'Register a Liquid address where you will receive the securities',
168
- state: !isFromAllowedCountry ? _ToDoList.ToDoTaskState.NOT_AVAILABLE : liquid_network && liquid_network.GAID ? _ToDoList.ToDoTaskState.APPROVED : _ToDoList.ToDoTaskState.SKIPPED,
173
+ 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',
174
+ state: !isFromAllowedCountry ? _ToDoList.ToDoTaskState.NOT_AVAILABLE : liquidWallets.length > 0 ? _ToDoList.ToDoTaskState.APPROVED : _ToDoList.ToDoTaskState.SKIPPED,
169
175
  link: isFromAllowedCountry && "".concat(platformURL, "/register-liquid-securities")
170
176
  }, {
171
177
  title: 'Ethereum Address',
172
- message: !isFromAllowedCountry ? 'Sorry, you are living in a country where this is not available' : investor_eth_addresses ? 'Your address is registered' : 'Register an Ethereum address where you will receive the securities',
173
- state: !isFromAllowedCountry ? _ToDoList.ToDoTaskState.NOT_AVAILABLE : investor_eth_addresses ? _ToDoList.ToDoTaskState.APPROVED : _ToDoList.ToDoTaskState.SKIPPED,
178
+ 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',
179
+ state: !isFromAllowedCountry ? _ToDoList.ToDoTaskState.NOT_AVAILABLE : ethWallets.length > 0 ? _ToDoList.ToDoTaskState.APPROVED : _ToDoList.ToDoTaskState.SKIPPED,
174
180
  disabled: true,
175
181
  tooltip: 'Connecting your ethereum wallet is currently disabled until we have a new offer using the ethereum network.'
176
182
  }, {
177
183
  title: 'Algorand Address',
178
- message: investor_algo_addresses ? 'Opt-in into more assets' : 'Register an Algorand address and opt-in into a project you want to invest in ',
179
- state: investor_algo_addresses ? _ToDoList.ToDoTaskState.APPROVED : _ToDoList.ToDoTaskState.SKIPPED,
184
+ message: algoWallets.length > 0 ? 'Opt-in into more assets' : 'Register an Algorand address and opt-in into a project you want to invest in ',
185
+ state: algoWallets.length > 0 ? _ToDoList.ToDoTaskState.APPROVED : _ToDoList.ToDoTaskState.SKIPPED,
180
186
  openModal: _ToDoList.ToDoModal.ALGO
181
187
  //link: '',
182
188
  }]);
@@ -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(_reactTippy.Tooltip, {
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
- //wallet
418
- !user.investor_algo_addresses && !user.liquid_network && count++;
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',
@@ -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.0",
3
+ "version": "0.8.1",
4
4
  "description": "STOKR - Components Library",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",
@@ -73,6 +73,7 @@
73
73
  "styled-breakpoints": "^11.1.1",
74
74
  "styled-components": "^5.3.6",
75
75
  "support-color": "^7.1.0",
76
+ "supports-color": "^9.3.1",
76
77
  "yup": "^1.0.0"
77
78
  },
78
79
  "devDependencies": {