tg-core-components 5.4.5-bethard → 5.5.1-master

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.
Files changed (105) hide show
  1. package/es/components/AcceptUpdatedTaC/index.js +8 -3
  2. package/es/components/Checkbox/index.js +93 -0
  3. package/es/components/Deposit/CardInput/index.js +1 -3
  4. package/es/components/Input/index.js +222 -22
  5. package/es/components/InputWrapper/index.js +69 -0
  6. package/es/components/Notification.js +4 -4
  7. package/es/components/Select/index.js +202 -64
  8. package/es/components/Select/test.js +111 -0
  9. package/es/index.js +2 -2
  10. package/es/lib/utils/translate.js +1 -8
  11. package/es/misc/countryEmojiFlags.js +0 -1
  12. package/es/widgets/AccountDetail/index.js +53 -77
  13. package/es/widgets/ActivateWidget/index.js +59 -293
  14. package/es/widgets/BonusWidget/BonusCode.js +24 -17
  15. package/es/widgets/BonusWidget/index.js +83 -45
  16. package/es/widgets/Cashier/Payment/index.js +2 -0
  17. package/es/widgets/CashierAccordion/Deposit/BonusCodeInput/index.js +9 -6
  18. package/es/widgets/CashierAccordion/Deposit/DepositWidget/index.js +22 -33
  19. package/es/widgets/CashierAccordion/Deposit/PaymentForm/index.js +2 -6
  20. package/es/widgets/CashierAccordion/Payment/PaymentAccountForms/astroPayBankTransaltions.js +12 -0
  21. package/es/widgets/CashierAccordion/Payment/PaymentAccountForms/index.js +163 -347
  22. package/es/widgets/CashierAccordion/Payment/PaymentAccountParser.js +0 -6
  23. package/es/widgets/CashierAccordion/Payment/PaymentMethodSelector/index.js +2 -2
  24. package/es/widgets/CashierAccordion/Payment/index.js +2 -0
  25. package/es/widgets/CashierAccordion/Withdraw/WithdrawWidget/index.js +9 -23
  26. package/es/widgets/ChangePassword/index.js +53 -40
  27. package/es/widgets/HistoryWidget/index.js +69 -51
  28. package/es/widgets/HistoryWidget/message.js +17 -20
  29. package/es/widgets/RequestResetPassword/index.js +15 -14
  30. package/es/widgets/ResetPassword/index.js +22 -18
  31. package/es/widgets/ResponsibleGamingAccordion/LimitStatus/index.js +5 -2
  32. package/es/widgets/ResponsibleGamingAccordion/PeriodItemContent/index.js +1 -2
  33. package/es/widgets/ResponsibleGamingSingleSignUp/AmountItem/index.js +1 -2
  34. package/es/widgets/ResponsibleGamingWidget/Timespan.js +14 -24
  35. package/es/widgets/ResponsibleGamingWidget/helpers.js +2 -2
  36. package/es/widgets/ResponsibleGamingWidget/validate.js +2 -6
  37. package/es/widgets/Settings/index.js +2 -2
  38. package/es/widgets/SignIn/SignInForm.js +4 -6
  39. package/es/widgets/SignIn/index.js +21 -21
  40. package/es/widgets/SignUp/ContactInfoStep.js +5 -6
  41. package/es/widgets/SportsbookSettings/index.js +10 -24
  42. package/es/widgets/Subscriptions/index.js +3 -5
  43. package/lib/components/AcceptUpdatedTaC/index.js +11 -3
  44. package/lib/components/Checkbox/index.js +106 -0
  45. package/lib/components/Deposit/CardInput/index.js +1 -3
  46. package/lib/components/Input/index.js +223 -26
  47. package/lib/components/InputWrapper/index.js +85 -0
  48. package/lib/components/Notification.js +3 -3
  49. package/lib/components/Select/index.js +209 -63
  50. package/lib/components/Select/test.js +121 -0
  51. package/lib/index.js +7 -7
  52. package/lib/lib/utils/translate.js +1 -8
  53. package/lib/misc/countryEmojiFlags.js +0 -1
  54. package/lib/widgets/AccountDetail/index.js +53 -86
  55. package/lib/widgets/ActivateWidget/index.js +58 -305
  56. package/lib/widgets/BonusWidget/BonusCode.js +24 -20
  57. package/lib/widgets/BonusWidget/index.js +85 -44
  58. package/lib/widgets/Cashier/Payment/index.js +2 -0
  59. package/lib/widgets/CashierAccordion/Deposit/BonusCodeInput/index.js +13 -7
  60. package/lib/widgets/CashierAccordion/Deposit/DepositWidget/index.js +25 -36
  61. package/lib/widgets/CashierAccordion/Deposit/PaymentForm/index.js +2 -9
  62. package/lib/widgets/CashierAccordion/Payment/PaymentAccountForms/astroPayBankTransaltions.js +12 -0
  63. package/lib/widgets/CashierAccordion/Payment/PaymentAccountForms/index.js +195 -378
  64. package/lib/widgets/CashierAccordion/Payment/PaymentAccountParser.js +0 -6
  65. package/lib/widgets/CashierAccordion/Payment/PaymentMethodSelector/index.js +2 -2
  66. package/lib/widgets/CashierAccordion/Payment/index.js +2 -0
  67. package/lib/widgets/CashierAccordion/Withdraw/WithdrawWidget/index.js +11 -25
  68. package/lib/widgets/ChangePassword/index.js +53 -43
  69. package/lib/widgets/HistoryWidget/index.js +69 -51
  70. package/lib/widgets/HistoryWidget/message.js +17 -20
  71. package/lib/widgets/RequestResetPassword/index.js +15 -17
  72. package/lib/widgets/ResetPassword/index.js +25 -21
  73. package/lib/widgets/ResponsibleGamingAccordion/LimitStatus/index.js +5 -2
  74. package/lib/widgets/ResponsibleGamingAccordion/PeriodItemContent/index.js +1 -2
  75. package/lib/widgets/ResponsibleGamingSingleSignUp/AmountItem/index.js +1 -2
  76. package/lib/widgets/ResponsibleGamingWidget/Timespan.js +14 -24
  77. package/lib/widgets/ResponsibleGamingWidget/helpers.js +2 -2
  78. package/lib/widgets/ResponsibleGamingWidget/validate.js +2 -6
  79. package/lib/widgets/Settings/index.js +6 -6
  80. package/lib/widgets/SignIn/SignInForm.js +7 -6
  81. package/lib/widgets/SignIn/index.js +25 -25
  82. package/lib/widgets/SignUp/ContactInfoStep.js +8 -6
  83. package/lib/widgets/SportsbookSettings/index.js +10 -24
  84. package/lib/widgets/Subscriptions/index.js +3 -11
  85. package/package.json +8 -3
  86. package/es/components/AutocompleteInput/index.js +0 -104
  87. package/es/components/Input/BirthdateInput.js +0 -174
  88. package/es/components/Input/Checkbox.js +0 -51
  89. package/es/components/Input/Input.js +0 -73
  90. package/es/components/Input/PasswordInput.js +0 -84
  91. package/es/components/Input/PhoneNumberInput.js +0 -113
  92. package/es/components/Input/input.test.js +0 -80
  93. package/es/components/Input/old-input.test.js +0 -100
  94. package/es/components/common.js +0 -339
  95. package/es/widgets/CashierAccordion/Deposit/PaymentForm/NewTab.js +0 -28
  96. package/lib/components/AutocompleteInput/index.js +0 -118
  97. package/lib/components/Input/BirthdateInput.js +0 -195
  98. package/lib/components/Input/Checkbox.js +0 -65
  99. package/lib/components/Input/Input.js +0 -87
  100. package/lib/components/Input/PasswordInput.js +0 -101
  101. package/lib/components/Input/PhoneNumberInput.js +0 -130
  102. package/lib/components/Input/input.test.js +0 -89
  103. package/lib/components/Input/old-input.test.js +0 -107
  104. package/lib/components/common.js +0 -359
  105. package/lib/widgets/CashierAccordion/Deposit/PaymentForm/NewTab.js +0 -44
@@ -10,10 +10,6 @@ var _react = require('react');
10
10
 
11
11
  var _react2 = _interopRequireDefault(_react);
12
12
 
13
- var _compose = require('recompose/compose');
14
-
15
- var _compose2 = _interopRequireDefault(_compose);
16
-
17
13
  var _reactIntl = require('react-intl');
18
14
 
19
15
  var _Input = require('../../components/Input');
@@ -36,331 +32,93 @@ var _translate = require('../../lib/utils/translate');
36
32
 
37
33
  var _translate2 = _interopRequireDefault(_translate);
38
34
 
39
- var _classnames = require('classnames');
40
-
41
- var _classnames2 = _interopRequireDefault(_classnames);
42
-
43
- var _WithValidation = require('../../lib/WithValidation');
44
-
45
- var _WithValidation2 = _interopRequireDefault(_WithValidation);
46
-
47
- var _email = require('../../lib/WithValidation/rules/email');
48
-
49
- var _email2 = _interopRequireDefault(_email);
50
-
51
- var _required = require('../../lib/WithValidation/rules/required');
52
-
53
- var _required2 = _interopRequireDefault(_required);
54
-
55
35
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
56
36
 
57
- function _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step("next", value); }, function (err) { step("throw", err); }); } } return step("next"); }); }; }
58
-
59
- var KEY_CODE = {
60
- BACKSPACE: 'Backspace',
61
- DELETE: 'Delete',
62
- ARROW_LEFT: 'ArrowLeft',
63
- ARROW_RIGHT: 'ArrowRight'
64
- };
65
-
66
- var ActivationCode = function ActivationCode(_ref) {
67
- var _ref$length = _ref.length,
68
- length = _ref$length === undefined ? 4 : _ref$length,
69
- _ref$code = _ref.code,
70
- code = _ref$code === undefined ? '' : _ref$code,
71
- _ref$autoFocus = _ref.autoFocus,
72
- autoFocus = _ref$autoFocus === undefined ? true : _ref$autoFocus,
73
- onChange = _ref.onChange,
74
- isLoading = _ref.isLoading,
75
- name = _ref.name,
76
- status = _ref.status,
77
- statusText = _ref.statusText;
37
+ var ActivateWidget = function ActivateWidget(_ref) {
38
+ var intl = _ref.intl,
39
+ defaultEmail = _ref.email,
40
+ defaultCode = _ref.code,
41
+ onSubmit = _ref.onSubmit,
42
+ onResend = _ref.onResend;
78
43
 
79
- var boxes = new Array(length).fill('');
80
-
81
- var _useState = (0, _react.useState)(-1),
44
+ var _useState = (0, _react.useState)(defaultCode),
82
45
  _useState2 = _slicedToArray(_useState, 2),
83
- activeIndex = _useState2[0],
84
- setActiveIndex = _useState2[1];
85
-
86
- var inputRef = (0, _react.useRef)();
87
-
88
- (0, _react.useEffect)(function () {
89
- if (autoFocus && !code.length) {
90
- inputRef.current.focus();
91
- setActiveIndex(0);
92
- }
93
- }, [autoFocus, code]);
94
-
95
- (0, _react.useEffect)(function () {
96
- return inputRef.current.value = code;
97
- }, [code]);
46
+ code = _useState2[0],
47
+ onCodeChange = _useState2[1];
98
48
 
99
- var setCaretPosition = function setCaretPosition(from, to) {
100
- inputRef.current.focus();
101
- inputRef.current.setSelectionRange(from, to);
102
- };
103
-
104
- var handleKeyPress = function handleKeyPress(key, v) {
105
- switch (key) {
106
- case KEY_CODE.BACKSPACE || KEY_CODE.DELETE:
107
- {
108
- setActiveIndex(v.length);
109
- setCaretPosition(v.length, v.length);
110
- onChange(v);
111
- break;
112
- }
113
-
114
- case KEY_CODE.ARROW_LEFT:
115
- {
116
- if (activeIndex === 0) return;
117
- setActiveIndex(activeIndex - 1);
118
- setCaretPosition(activeIndex - 1, activeIndex);
119
- break;
120
- }
121
- case KEY_CODE.ARROW_RIGHT:
122
- {
123
- if (activeIndex === 3) return;
124
- setActiveIndex(activeIndex + 1);
125
- setCaretPosition(activeIndex + 1, activeIndex + 2);
126
- break;
127
- }
128
-
129
- default:
130
- {
131
- setActiveIndex(v.length);
132
- setCaretPosition(v.length, v.length + 1);
133
- onChange(v);
134
- }
135
- }
136
- };
137
-
138
- var handleFocus = function handleFocus(i) {
139
- setCaretPosition(i, i + 1);
140
- setActiveIndex(i);
141
- };
142
-
143
- var handleBlur = function handleBlur() {
144
- setActiveIndex(-1);
145
- };
146
-
147
- return _react2.default.createElement(
148
- 'div',
149
- {
150
- className: (0, _classnames2.default)('ActivationCode', {
151
- 'tg-input__status-failure': status === 'failure'
152
- }) },
153
- _react2.default.createElement(
154
- 'div',
155
- { className: 'ActivationCode__wrapper' },
156
- _react2.default.createElement(
157
- 'div',
158
- { className: 'ActivationCode__label' },
159
- _react2.default.createElement(_Translate2.default, {
160
- id: 'label.activation_code',
161
- defaultMessage: 'Activation code'
162
- })
163
- ),
164
- _react2.default.createElement(
165
- 'div',
166
- { className: 'ActivationCode__boxes' },
167
- _react2.default.createElement('input', {
168
- className: 'ActivationCode__input',
169
- type: 'text',
170
- autoComplete: 'one-time-code',
171
- inputMode: 'decimal',
172
- name: name,
173
- ref: inputRef,
174
- maxLength: length,
175
- onKeyUp: function onKeyUp(_ref2) {
176
- var key = _ref2.key,
177
- target = _ref2.target;
178
- return handleKeyPress(key, target.value);
179
- },
180
- onBlur: handleBlur
181
- }),
182
- boxes.map(function (_, i) {
183
- return _react2.default.createElement(
184
- 'div',
185
- {
186
- className: (0, _classnames2.default)('ActivationCode__box', {
187
- 'ActivationCode__box--focused': !isLoading && i === activeIndex,
188
- 'ActivationCode__box--error': status === 'failure',
189
- 'ActivationCode__box--empty': i === activeIndex && !code[i]
190
- }),
191
- key: i,
192
- onClick: function onClick() {
193
- return handleFocus(i);
194
- } },
195
- code[i]
196
- );
197
- })
198
- )
199
- ),
200
- _react2.default.createElement(
201
- 'div',
202
- { className: 'tg-input__status-text' },
203
- statusText
204
- )
205
- );
206
- };
207
-
208
- var ActivateWidget = function ActivateWidget(_ref3) {
209
- var intl = _ref3.intl,
210
- _ref3$email = _ref3.email,
211
- pEmail = _ref3$email === undefined ? '' : _ref3$email,
212
- _ref3$code = _ref3.code,
213
- pCode = _ref3$code === undefined ? '' : _ref3$code,
214
- onSubmit = _ref3.onSubmit,
215
- onResend = _ref3.onResend,
216
- errors = _ref3.errors;
217
-
218
- var _useState3 = (0, _react.useState)(pCode),
49
+ var _useState3 = (0, _react.useState)(defaultEmail),
219
50
  _useState4 = _slicedToArray(_useState3, 2),
220
- code = _useState4[0],
221
- setCode = _useState4[1];
51
+ email = _useState4[0],
52
+ onEmailChange = _useState4[1];
222
53
 
223
- var _useState5 = (0, _react.useState)(pEmail),
54
+ var _useState5 = (0, _react.useState)(false),
224
55
  _useState6 = _slicedToArray(_useState5, 2),
225
- email = _useState6[0],
226
- setEmail = _useState6[1];
56
+ isLoading = _useState6[0],
57
+ setIsLoading = _useState6[1];
227
58
 
228
59
  var _useState7 = (0, _react.useState)(false),
229
60
  _useState8 = _slicedToArray(_useState7, 2),
230
- isLoading = _useState8[0],
231
- setIsLoading = _useState8[1];
232
-
233
- var pattern = new RegExp('^[0-9]{4}$');
234
-
235
- (0, _react.useEffect)(function () {
236
- if (email && pattern.test(code)) handleSubmit();
237
- }, [code, email]);
238
-
239
- var handleResend = function () {
240
- var _ref4 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
241
- return regeneratorRuntime.wrap(function _callee$(_context) {
242
- while (1) {
243
- switch (_context.prev = _context.next) {
244
- case 0:
245
- setIsLoading(true);
246
- _context.prev = 1;
247
- _context.next = 4;
248
- return onResend(email);
249
-
250
- case 4:
251
- setIsLoading(false);
252
- _context.next = 9;
253
- break;
254
-
255
- case 7:
256
- _context.prev = 7;
257
- _context.t0 = _context['catch'](1);
258
-
259
- case 9:
260
- case 'end':
261
- return _context.stop();
262
- }
263
- }
264
- }, _callee, undefined, [[1, 7]]);
265
- }));
266
-
267
- return function handleResend() {
268
- return _ref4.apply(this, arguments);
269
- };
270
- }();
271
-
272
- var handleSubmit = function () {
273
- var _ref5 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {
274
- return regeneratorRuntime.wrap(function _callee2$(_context2) {
275
- while (1) {
276
- switch (_context2.prev = _context2.next) {
277
- case 0:
278
- setIsLoading(true);
279
- _context2.prev = 1;
280
- _context2.next = 4;
281
- return onSubmit(email, code);
282
-
283
- case 4:
284
- setCode('');
285
- setIsLoading(false);
286
- _context2.next = 10;
287
- break;
288
-
289
- case 8:
290
- _context2.prev = 8;
291
- _context2.t0 = _context2['catch'](1);
292
-
293
- case 10:
294
- case 'end':
295
- return _context2.stop();
296
- }
297
- }
298
- }, _callee2, undefined, [[1, 8]]);
299
- }));
61
+ isResetLoading = _useState8[0],
62
+ setIsResetLoading = _useState8[1];
63
+
64
+ var _onResend = function _onResend(e) {
65
+ e.preventDefault();
66
+ setIsResetLoading(true);
67
+ onResend({
68
+ Email: email,
69
+ callback: function callback() {
70
+ return setIsResetLoading(false);
71
+ }
72
+ });
73
+ };
300
74
 
301
- return function handleSubmit() {
302
- return _ref5.apply(this, arguments);
303
- };
304
- }();
75
+ var _onSubmit = function _onSubmit(e) {
76
+ e.preventDefault();
77
+ setIsLoading(true);
78
+ onSubmit({
79
+ Email: email,
80
+ Code: code,
81
+ callback: function callback() {
82
+ return setIsLoading(false);
83
+ }
84
+ });
85
+ };
305
86
 
306
87
  return _react2.default.createElement(
307
88
  'div',
308
89
  { className: 'ActivateWidget' },
309
90
  _react2.default.createElement(
310
- 'div',
311
- { className: 'ActivateWidget__message' },
312
- _react2.default.createElement(_Translate2.default, {
313
- id: 'label.activation_code_received',
314
- defaultMessage: 'An activation code has been sent to your email address and your phone number'
315
- })
316
- ),
317
- _react2.default.createElement(
318
- 'div',
319
- { className: 'form' },
320
- !pEmail && _react2.default.createElement(_Input2.default, {
321
- autoFocus: true,
322
- label: (0, _translate2.default)({ id: 'label.email', defaultMessage: 'Email' }, intl),
323
- value: email || '',
91
+ 'form',
92
+ { onSubmit: _onSubmit },
93
+ _react2.default.createElement(_Input2.default, {
94
+ title: (0, _translate2.default)({ id: 'label.email' }, intl),
95
+ value: email,
324
96
  onChange: function onChange(e) {
325
- return setEmail(e.target.value);
97
+ return onEmailChange(e.target.value);
326
98
  },
327
- name: 'Email',
328
- status: errors.Email ? 'failure' : 'idle',
329
- statusText: errors.Email && (0, _translate2.default)({ id: errors.Email }, intl)
99
+ name: 'Email'
330
100
  }),
331
- _react2.default.createElement(ActivationCode, {
332
- onChange: setCode,
333
- code: code,
334
- autoFocus: Boolean(pEmail),
335
- isLoading: isLoading,
336
- name: 'ActivationCode',
337
- status: errors.ActivationCode ? 'failure' : 'idle',
338
- statusText: errors.ActivationCode && (0, _translate2.default)({ id: errors.ActivationCode }, intl)
101
+ _react2.default.createElement(_Input2.default, {
102
+ title: (0, _translate2.default)({ id: 'label.activation_code' }, intl),
103
+ value: code,
104
+ onChange: function onChange(e) {
105
+ return onCodeChange(e.target.value);
106
+ },
107
+ name: 'Code',
108
+ autoComplete: 'one-time-code'
339
109
  }),
340
110
  _react2.default.createElement(
341
111
  _Button2.default,
342
- {
343
- isLoading: isLoading,
344
- className: 'button primary wide',
345
- onClick: handleSubmit },
112
+ { isLoading: isLoading, className: 'button primary wide' },
346
113
  _react2.default.createElement(_Translate2.default, { id: 'action.activate', defaultMessage: 'Activate' })
347
114
  )
348
115
  ),
349
- _react2.default.createElement('hr', { className: 'hr--1' }),
350
- _react2.default.createElement(
351
- 'div',
352
- { className: 'ActivateWidget__resend' },
353
- _react2.default.createElement(_Translate2.default, {
354
- id: 'action.send_new_code',
355
- defaultMessage: 'Didn\'t get code?'
356
- })
357
- ),
358
116
  _react2.default.createElement(
359
117
  _Button2.default,
360
118
  {
361
- isLoading: isLoading,
119
+ isLoading: isResetLoading,
362
120
  className: 'button tertiary wide',
363
- onClick: handleResend },
121
+ onClick: _onResend },
364
122
  _react2.default.createElement(_Translate2.default, {
365
123
  id: 'action.resend_activation_code',
366
124
  defaultMessage: 'Resend activation code'
@@ -385,9 +143,4 @@ ActivateWidget.defaultProps = {
385
143
  onResend: Function
386
144
  };
387
145
 
388
- var rules = {
389
- Email: [[_required2.default, 'error.empty.email'], [_email2.default, 'error.condition.email']],
390
- ActivationCode: [[_required2.default, 'error.empty.activation_code']]
391
- };
392
-
393
- exports.default = (0, _compose2.default)((0, _WithValidation2.default)(rules), _reactIntl.injectIntl)(ActivateWidget);
146
+ exports.default = (0, _reactIntl.injectIntl)(ActivateWidget);
@@ -14,10 +14,6 @@ var _Input = require('tg-core-components/lib/components/Input');
14
14
 
15
15
  var _Input2 = _interopRequireDefault(_Input);
16
16
 
17
- var _Button = require('tg-core-components/lib/components/Button');
18
-
19
- var _Button2 = _interopRequireDefault(_Button);
20
-
21
17
  var _compose = require('recompose/compose');
22
18
 
23
19
  var _compose2 = _interopRequireDefault(_compose);
@@ -83,23 +79,31 @@ var BonusCodeForm = function BonusCodeForm(_ref3) {
83
79
  return _react2.default.createElement(
84
80
  'form',
85
81
  { className: 'form', onSubmit: onSubmit },
86
- _react2.default.createElement(_Input2.default, {
87
- label: (0, _translate2.default)({
88
- id: 'label.bonus_code',
89
- defaultMessage: 'Bonus code'
90
- }, intl),
91
- type: 'text',
92
- name: 'bonusCode',
93
- status: errors.bonusCode && 'failure' || 'idle',
94
- statusText: errors.bonusCode && (0, _translate2.default)({ id: errors.bonusCode }, intl)
95
- }),
96
82
  _react2.default.createElement(
97
- _Button2.default,
98
- { className: 'button primary wide', type: 'submit' },
99
- (0, _translate2.default)({
100
- id: 'label.activate',
101
- defaultMessage: 'Activate'
102
- }, intl)
83
+ 'div',
84
+ { className: 'bonus-code-form' },
85
+ _react2.default.createElement(_Input2.default, {
86
+ className: 'layout-item',
87
+ title: (0, _translate2.default)({
88
+ id: 'label.bonus_code',
89
+ defaultMessage: 'Bonus code'
90
+ }, intl),
91
+ type: 'text',
92
+ name: 'bonusCode',
93
+ error: errors.bonusCode && (0, _translate2.default)({ id: errors.bonusCode }, intl)
94
+ }),
95
+ _react2.default.createElement(
96
+ 'div',
97
+ { className: 'layout-item' },
98
+ _react2.default.createElement(
99
+ 'button',
100
+ { className: 'button primary wide', type: 'submit' },
101
+ (0, _translate2.default)({
102
+ id: 'label.activate',
103
+ defaultMessage: 'Activate'
104
+ }, intl)
105
+ )
106
+ )
103
107
  )
104
108
  );
105
109
  };
@@ -4,6 +4,8 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
 
7
+ var _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"]) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } }; }();
8
+
7
9
  var _react = require('react');
8
10
 
9
11
  var _react2 = _interopRequireDefault(_react);
@@ -30,13 +32,68 @@ var _Translate2 = _interopRequireDefault(_Translate);
30
32
 
31
33
  var _states = require('./states');
32
34
 
35
+ var _marked = require('marked');
36
+
37
+ var _marked2 = _interopRequireDefault(_marked);
38
+
33
39
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
34
40
 
41
+ var ALEACC_BONUS_CLAIM_STATE = ['Initiated', 'PreClaimed'];
42
+ var ALEACC_BONUS_REJECT_STATE = ['Initiated', 'PreClaimed', 'Pending', 'PreWager'];
43
+ var ALEACC_BONUS_ACTION_STATE = [].concat(ALEACC_BONUS_CLAIM_STATE, ALEACC_BONUS_REJECT_STATE);
44
+
35
45
  var BonusAction = function BonusAction(_ref) {
36
46
  var bonus = _ref.bonus,
37
- claimBonus = _ref.claimBonus,
38
- device = _ref.device,
39
- redirect = _ref.redirect;
47
+ onClaimBonus = _ref.onClaimBonus,
48
+ onRejectBonus = _ref.onRejectBonus;
49
+
50
+ var _useState = (0, _react.useState)(false),
51
+ _useState2 = _slicedToArray(_useState, 2),
52
+ isLoadingClaim = _useState2[0],
53
+ setIsLoadingClaim = _useState2[1];
54
+
55
+ var _useState3 = (0, _react.useState)(false),
56
+ _useState4 = _slicedToArray(_useState3, 2),
57
+ isLoadingReject = _useState4[0],
58
+ setIsLoadingReject = _useState4[1];
59
+
60
+ var claimBonus = function claimBonus(e) {
61
+ onClaimBonus(bonus, function (isLoading) {
62
+ return setIsLoadingClaim(isLoading);
63
+ }, e);
64
+ };
65
+
66
+ var rejectBonus = function rejectBonus(e) {
67
+ onRejectBonus(bonus, function (isLoading) {
68
+ return setIsLoadingReject(isLoading);
69
+ }, e);
70
+ };
71
+
72
+ return _react2.default.createElement(
73
+ 'div',
74
+ { className: 'actions' },
75
+ ALEACC_BONUS_CLAIM_STATE.includes(bonus.State) && _react2.default.createElement(
76
+ _Button2.default,
77
+ {
78
+ className: 'button primary small',
79
+ onClick: claimBonus,
80
+ isLoading: isLoadingClaim },
81
+ _react2.default.createElement(_Translate2.default, { id: 'action.bonus.claim', defaultMessage: 'Claim' })
82
+ ),
83
+ ALEACC_BONUS_REJECT_STATE.includes(bonus.State) && _react2.default.createElement(
84
+ _Button2.default,
85
+ {
86
+ className: 'button secondary small',
87
+ onClick: rejectBonus,
88
+ isLoading: isLoadingReject },
89
+ _react2.default.createElement(_Translate2.default, { id: 'action.bonus.reject', defaultMessage: 'Reject' })
90
+ )
91
+ );
92
+ };
93
+
94
+ var BonusActionFT = function BonusActionFT(_ref2) {
95
+ var bonus = _ref2.bonus,
96
+ onClaimBonus = _ref2.onClaimBonus;
40
97
 
41
98
  // Atm it's only fasttrack that supports actions.
42
99
  if (bonus.Provider !== 'fasttrack') return null;
@@ -44,9 +101,6 @@ var BonusAction = function BonusAction(_ref) {
44
101
  // Expired bonuses has no actions
45
102
  if (bonus.State === 'Expired') return null;
46
103
 
47
- var gameUrl = '/casino';
48
- if (device === 'Desktop' && bonus.DesktopGameUrl && bonus.DesktopGameUrl.trim()) gameUrl = bonus.DesktopGameUrl.trim();else if (device !== 'Desktop' && bonus.MobileGameUrl && bonus.MobileGameUrl.trim()) gameUrl = bonus.MobileGameUrl.trim();
49
-
50
104
  // FTType 1 - Pending Bonus
51
105
  // Claim bonus and redirect to game of present.
52
106
  if (bonus.FTType === 1) {
@@ -54,10 +108,8 @@ var BonusAction = function BonusAction(_ref) {
54
108
  return _react2.default.createElement(
55
109
  _Button2.default,
56
110
  {
57
- onClick: function onClick() {
58
- claimBonus(bonus.Id).then(function () {
59
- redirect(gameUrl);
60
- });
111
+ onClick: function onClick(e) {
112
+ return onClaimBonus(bonus, null, e);
61
113
  },
62
114
  className: 'button primary action wide ' + (bonus.IsLocked && 'locked') },
63
115
  _react2.default.createElement(_Translate2.default, { id: 'action.bonus.type1', defaultMessage: 'Action type1' })
@@ -70,14 +122,8 @@ var BonusAction = function BonusAction(_ref) {
70
122
  return _react2.default.createElement(
71
123
  _Button2.default,
72
124
  {
73
- onClick: function onClick() {
74
- return redirect({
75
- pathname: '/dashboard/deposit',
76
- search: gameUrl ? '?ref_url=' + encodeURIComponent(gameUrl) : '',
77
- state: {
78
- bonusCode: bonus.PromoCode
79
- }
80
- });
125
+ onClick: function onClick(e) {
126
+ return onClaimBonus(bonus, null, e);
81
127
  },
82
128
  className: 'button primary action wide ' + (bonus.IsLocked && 'locked') },
83
129
  _react2.default.createElement(_Translate2.default, { id: 'action.bonus.type2', defaultMessage: 'Action type2' })
@@ -90,20 +136,8 @@ var BonusAction = function BonusAction(_ref) {
90
136
  return _react2.default.createElement(
91
137
  _Button2.default,
92
138
  {
93
- onClick: function onClick() {
94
- if (!bonus.IsLocked) {
95
- claimBonus(bonus.Id).then(function () {
96
- redirect(gameUrl);
97
- });
98
- } else {
99
- redirect({
100
- pathname: '/dashboard/deposit',
101
- search: '?ref_url=/dashboard/bonus',
102
- state: {
103
- bonusCode: bonus.PromoCode
104
- }
105
- });
106
- }
139
+ onClick: function onClick(e) {
140
+ return onClaimBonus(bonus, null, e);
107
141
  },
108
142
  className: 'button primary action wide ' + (bonus.IsLocked && 'locked') },
109
143
  !!bonus.IsLocked && _react2.default.createElement(_Translate2.default, {
@@ -117,12 +151,11 @@ var BonusAction = function BonusAction(_ref) {
117
151
  return null;
118
152
  };
119
153
 
120
- var BonusWidget = function BonusWidget(_ref2) {
121
- var bonuses = _ref2.bonuses,
122
- handleBonusCodeSubmit = _ref2.handleBonusCodeSubmit,
123
- claimBonus = _ref2.claimBonus,
124
- device = _ref2.device,
125
- redirect = _ref2.redirect;
154
+ var BonusWidget = function BonusWidget(_ref3) {
155
+ var bonuses = _ref3.bonuses,
156
+ handleBonusCodeSubmit = _ref3.handleBonusCodeSubmit,
157
+ onClaimBonus = _ref3.onClaimBonus,
158
+ onRejectBonus = _ref3.onRejectBonus;
126
159
 
127
160
  var bonusList = { active: null, available: null, finished: null };
128
161
 
@@ -174,12 +207,13 @@ var BonusWidget = function BonusWidget(_ref2) {
174
207
  })]];
175
208
 
176
209
  // Add bonus actions to not expired Fasttrack bonuses
177
- if (item.Provider === 'fasttrack' && item.State !== 'Expired') info.push(_react2.default.createElement(BonusAction, {
178
- bonus: item,
179
- claimBonus: claimBonus,
180
- device: device,
181
- redirect: redirect
182
- }));
210
+ if (item.Provider === 'fasttrack' && item.State !== 'Expired') info.push(_react2.default.createElement(BonusActionFT, { bonus: item, onClaimBonus: onClaimBonus }));
211
+ // Add bonus actions to post claim bonuses from Aleacc
212
+ else if (item.Provider !== 'fasttrack' && ALEACC_BONUS_ACTION_STATE.includes(item.State)) info.push(_react2.default.createElement(BonusAction, {
213
+ bonus: item,
214
+ onClaimBonus: onClaimBonus,
215
+ onRejectBonus: onRejectBonus
216
+ }));
183
217
 
184
218
  var detail = [[_react2.default.createElement(
185
219
  'span',
@@ -239,6 +273,13 @@ var BonusWidget = function BonusWidget(_ref2) {
239
273
  })
240
274
  )]];
241
275
 
276
+ info.push([_react2.default.createElement('div', {
277
+ className: 'disclaimer',
278
+ dangerouslySetInnerHTML: {
279
+ __html: item.content && item.content.disclaimer && (0, _marked2.default)(item.content.disclaimer || '') || item.promotion && item.promotion.shortDisclaimer
280
+ }
281
+ })]);
282
+
242
283
  return {
243
284
  id: item.Id,
244
285
  info: info,
@@ -29,5 +29,7 @@ var matchProviderType = exports.matchProviderType = function matchProviderType(f
29
29
  if (first.service) fType = fType + first.service;
30
30
  if (second.service) sType = sType + second.service;
31
31
 
32
+ if (!fType || !sType) return;
33
+
32
34
  return sType.toLowerCase() === fType.toLowerCase();
33
35
  };