payment-kit 1.18.55 → 1.19.0
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/.eslintrc.js +6 -0
- package/api/src/libs/queue/index.ts +1 -3
- package/blocklet.yml +1 -1
- package/package.json +57 -58
- package/src/components/actions.tsx +22 -9
- package/src/components/balance-list.tsx +40 -12
- package/src/components/collapse.tsx +22 -14
- package/src/components/copyable.tsx +8 -7
- package/src/components/currency.tsx +15 -7
- package/src/components/customer/actions.tsx +1 -5
- package/src/components/customer/form.tsx +3 -1
- package/src/components/customer/link.tsx +4 -12
- package/src/components/customer/notification-preference.tsx +18 -9
- package/src/components/customer/overdraft-protection.tsx +112 -41
- package/src/components/drawer-form.tsx +42 -18
- package/src/components/error.tsx +1 -5
- package/src/components/event/list.tsx +9 -10
- package/src/components/filter-toolbar.tsx +20 -19
- package/src/components/info-card.tsx +32 -18
- package/src/components/info-metric.tsx +16 -6
- package/src/components/info-row-group.tsx +1 -7
- package/src/components/info-row.tsx +30 -24
- package/src/components/invoice/action.tsx +1 -7
- package/src/components/invoice/list.tsx +15 -25
- package/src/components/invoice/recharge.tsx +5 -7
- package/src/components/invoice/table.tsx +17 -12
- package/src/components/layout/user.tsx +1 -1
- package/src/components/metadata/form.tsx +13 -13
- package/src/components/metadata/list.tsx +11 -3
- package/src/components/passport/actions.tsx +9 -4
- package/src/components/payment-currency/add.tsx +16 -3
- package/src/components/payment-currency/form.tsx +12 -6
- package/src/components/payment-intent/actions.tsx +24 -16
- package/src/components/payment-intent/list.tsx +11 -8
- package/src/components/payment-link/actions.tsx +1 -5
- package/src/components/payment-link/after-pay.tsx +4 -2
- package/src/components/payment-link/before-pay.tsx +14 -4
- package/src/components/payment-link/item.tsx +27 -6
- package/src/components/payment-link/preview.tsx +9 -9
- package/src/components/payment-link/product-select.tsx +17 -3
- package/src/components/payment-method/arcblock.tsx +6 -1
- package/src/components/payment-method/base.tsx +6 -1
- package/src/components/payment-method/bitcoin.tsx +6 -1
- package/src/components/payment-method/ethereum.tsx +6 -1
- package/src/components/payment-method/evm-rpc-input.tsx +11 -7
- package/src/components/payment-method/form.tsx +2 -7
- package/src/components/payouts/actions.tsx +1 -5
- package/src/components/payouts/list.tsx +11 -9
- package/src/components/payouts/portal/list.tsx +11 -9
- package/src/components/price/currency-select.tsx +28 -17
- package/src/components/price/form.tsx +135 -84
- package/src/components/price/upsell-select.tsx +10 -2
- package/src/components/price/upsell.tsx +7 -2
- package/src/components/pricing-table/actions.tsx +1 -5
- package/src/components/pricing-table/customer-settings.tsx +5 -1
- package/src/components/pricing-table/payment-settings.tsx +14 -4
- package/src/components/pricing-table/preview.tsx +9 -9
- package/src/components/pricing-table/price-item.tsx +6 -1
- package/src/components/pricing-table/product-item.tsx +6 -1
- package/src/components/pricing-table/product-settings.tsx +17 -4
- package/src/components/product/actions.tsx +1 -5
- package/src/components/product/create.tsx +1 -5
- package/src/components/product/cross-sell-select.tsx +5 -1
- package/src/components/product/cross-sell.tsx +7 -2
- package/src/components/product/features.tsx +13 -3
- package/src/components/product/form.tsx +38 -10
- package/src/components/progress-bar.tsx +1 -1
- package/src/components/refund/actions.tsx +1 -7
- package/src/components/refund/list.tsx +12 -17
- package/src/components/section/header.tsx +23 -12
- package/src/components/subscription/actions/cancel.tsx +22 -5
- package/src/components/subscription/actions/index.tsx +9 -10
- package/src/components/subscription/actions/pause.tsx +32 -6
- package/src/components/subscription/actions/slash-stake.tsx +5 -3
- package/src/components/subscription/description.tsx +12 -8
- package/src/components/subscription/items/index.tsx +30 -15
- package/src/components/subscription/items/usage-records.tsx +19 -5
- package/src/components/subscription/list.tsx +5 -7
- package/src/components/subscription/metrics.tsx +27 -12
- package/src/components/subscription/portal/actions.tsx +76 -70
- package/src/components/subscription/portal/cancel.tsx +10 -3
- package/src/components/subscription/portal/list.tsx +48 -26
- package/src/components/uploader.tsx +5 -13
- package/src/components/webhook/attempts.tsx +51 -16
- package/src/components/webhook/request-info.tsx +8 -6
- package/src/contexts/products.tsx +1 -1
- package/src/pages/admin/billing/invoices/detail.tsx +48 -12
- package/src/pages/admin/billing/subscriptions/detail.tsx +43 -11
- package/src/pages/admin/customers/customers/detail.tsx +53 -12
- package/src/pages/admin/customers/customers/index.tsx +6 -1
- package/src/pages/admin/developers/events/detail.tsx +36 -10
- package/src/pages/admin/developers/webhooks/detail.tsx +41 -11
- package/src/pages/admin/index.tsx +15 -2
- package/src/pages/admin/overview.tsx +107 -19
- package/src/pages/admin/payments/intents/detail.tsx +57 -13
- package/src/pages/admin/payments/payouts/detail.tsx +62 -14
- package/src/pages/admin/payments/refunds/detail.tsx +57 -13
- package/src/pages/admin/products/index.tsx +8 -2
- package/src/pages/admin/products/links/create.tsx +22 -4
- package/src/pages/admin/products/links/detail.tsx +42 -13
- package/src/pages/admin/products/passports/index.tsx +23 -4
- package/src/pages/admin/products/prices/actions.tsx +1 -6
- package/src/pages/admin/products/prices/detail.tsx +43 -11
- package/src/pages/admin/products/prices/list.tsx +7 -2
- package/src/pages/admin/products/pricing-tables/create.tsx +45 -12
- package/src/pages/admin/products/pricing-tables/detail.tsx +44 -13
- package/src/pages/admin/products/products/create.tsx +4 -1
- package/src/pages/admin/products/products/detail.tsx +72 -17
- package/src/pages/admin/settings/index.tsx +8 -1
- package/src/pages/admin/settings/payment-methods/index.tsx +84 -19
- package/src/pages/admin/settings/vault-config/edit-form.tsx +42 -28
- package/src/pages/admin/settings/vault-config/index.tsx +57 -10
- package/src/pages/customer/index.tsx +41 -15
- package/src/pages/customer/invoice/detail.tsx +63 -14
- package/src/pages/customer/invoice/past-due.tsx +11 -3
- package/src/pages/customer/payout/detail.tsx +56 -13
- package/src/pages/customer/recharge/account.tsx +80 -20
- package/src/pages/customer/recharge/subscription.tsx +86 -25
- package/src/pages/customer/refund/list.tsx +60 -24
- package/src/pages/customer/subscription/change-payment.tsx +13 -4
- package/src/pages/customer/subscription/change-plan.tsx +34 -7
- package/src/pages/customer/subscription/detail.tsx +86 -20
- package/src/pages/customer/subscription/embed.tsx +24 -4
- package/src/pages/home.tsx +26 -4
- package/src/pages/integrations/donations/edit-form.tsx +25 -9
- package/src/pages/integrations/donations/index.tsx +26 -9
- package/src/pages/integrations/donations/preview.tsx +59 -15
- package/src/pages/integrations/index.tsx +10 -1
- package/src/pages/integrations/overview.tsx +78 -17
- package/vite.config.ts +60 -30
|
@@ -209,10 +209,29 @@ export default function Overview() {
|
|
|
209
209
|
};
|
|
210
210
|
|
|
211
211
|
return (
|
|
212
|
-
<Grid
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
212
|
+
<Grid
|
|
213
|
+
container
|
|
214
|
+
sx={{
|
|
215
|
+
gap: { xs: 2, sm: 5, md: 8 },
|
|
216
|
+
mb: 4,
|
|
217
|
+
}}>
|
|
218
|
+
<Grid
|
|
219
|
+
size={{
|
|
220
|
+
xs: 12,
|
|
221
|
+
sm: 12,
|
|
222
|
+
md: 8,
|
|
223
|
+
}}>
|
|
224
|
+
<Stack
|
|
225
|
+
direction="column"
|
|
226
|
+
sx={{
|
|
227
|
+
gap: { xs: 1, sm: 3 },
|
|
228
|
+
}}>
|
|
229
|
+
<Stack
|
|
230
|
+
direction="row"
|
|
231
|
+
sx={{
|
|
232
|
+
alignItems: 'flex-end',
|
|
233
|
+
justifyContent: 'space-between',
|
|
234
|
+
}}>
|
|
216
235
|
<Typography component="h3" variant="h4">
|
|
217
236
|
{t('admin.trends')}
|
|
218
237
|
</Typography>
|
|
@@ -221,19 +240,31 @@ export default function Overview() {
|
|
|
221
240
|
{formatToDate(state.endDate, locale, 'YYYY-MM-DD')}
|
|
222
241
|
</Button>
|
|
223
242
|
</Stack>
|
|
224
|
-
<Stack
|
|
243
|
+
<Stack
|
|
244
|
+
direction="column"
|
|
245
|
+
sx={{
|
|
246
|
+
gap: 1,
|
|
247
|
+
}}>
|
|
225
248
|
<Typography component="h4" variant="subtitle1">
|
|
226
249
|
{t('admin.paymentIntent.list')}
|
|
227
250
|
</Typography>
|
|
228
251
|
<Chart loading={!trend.data} height={320} data={payments} currencies={currencies} />
|
|
229
252
|
</Stack>
|
|
230
|
-
<Stack
|
|
253
|
+
<Stack
|
|
254
|
+
direction="column"
|
|
255
|
+
sx={{
|
|
256
|
+
gap: 1,
|
|
257
|
+
}}>
|
|
231
258
|
<Typography component="h4" variant="subtitle1">
|
|
232
259
|
{t('admin.payouts')}
|
|
233
260
|
</Typography>
|
|
234
261
|
<Chart loading={!trend.data} height={320} data={payouts} currencies={currencies} />
|
|
235
262
|
</Stack>
|
|
236
|
-
<Stack
|
|
263
|
+
<Stack
|
|
264
|
+
direction="column"
|
|
265
|
+
sx={{
|
|
266
|
+
gap: 1,
|
|
267
|
+
}}>
|
|
237
268
|
<Typography component="h4" variant="subtitle1">
|
|
238
269
|
{t('admin.refunds')}
|
|
239
270
|
</Typography>
|
|
@@ -241,11 +272,21 @@ export default function Overview() {
|
|
|
241
272
|
</Stack>
|
|
242
273
|
</Stack>
|
|
243
274
|
</Grid>
|
|
244
|
-
<Grid
|
|
275
|
+
<Grid
|
|
276
|
+
size={{
|
|
277
|
+
xs: 12,
|
|
278
|
+
sm: 12,
|
|
279
|
+
md: 3,
|
|
280
|
+
}}>
|
|
245
281
|
<Stack direction="column" spacing={2}>
|
|
246
282
|
{summary.data && summary.data.addresses && (
|
|
247
283
|
<Box>
|
|
248
|
-
<Stack
|
|
284
|
+
<Stack
|
|
285
|
+
direction="row"
|
|
286
|
+
sx={{
|
|
287
|
+
alignItems: 'flex-end',
|
|
288
|
+
justifyContent: 'space-between',
|
|
289
|
+
}}>
|
|
249
290
|
<Typography component="h3" variant="h4">
|
|
250
291
|
{t('admin.addresses')}
|
|
251
292
|
</Typography>
|
|
@@ -265,7 +306,12 @@ export default function Overview() {
|
|
|
265
306
|
)}
|
|
266
307
|
{summary.data && summary.data.balances && (
|
|
267
308
|
<Box>
|
|
268
|
-
<Stack
|
|
309
|
+
<Stack
|
|
310
|
+
direction="row"
|
|
311
|
+
sx={{
|
|
312
|
+
alignItems: 'flex-end',
|
|
313
|
+
justifyContent: 'space-between',
|
|
314
|
+
}}>
|
|
269
315
|
<Typography component="h3" variant="h4">
|
|
270
316
|
{t('admin.balances')}
|
|
271
317
|
</Typography>
|
|
@@ -291,20 +337,32 @@ export default function Overview() {
|
|
|
291
337
|
},
|
|
292
338
|
},
|
|
293
339
|
}}>
|
|
294
|
-
<Stack
|
|
340
|
+
<Stack
|
|
341
|
+
direction="row"
|
|
342
|
+
spacing={1}
|
|
343
|
+
sx={{
|
|
344
|
+
alignItems: 'center',
|
|
345
|
+
}}>
|
|
295
346
|
<Avatar
|
|
296
347
|
src={currencies[currencyId]?.logo}
|
|
297
348
|
alt={currencies[currencyId]?.symbol}
|
|
298
349
|
sx={{ width: 36, height: 36 }}
|
|
299
350
|
/>
|
|
300
|
-
<Box
|
|
351
|
+
<Box
|
|
352
|
+
sx={{
|
|
353
|
+
flex: 1,
|
|
354
|
+
}}>
|
|
301
355
|
<Typography variant="body1" component="div" sx={{ fontSize: '1.75rem' }}>
|
|
302
356
|
{formatBNStr(
|
|
303
357
|
summary.data?.balances?.[currencyId] as string,
|
|
304
358
|
currencies[currencyId]?.decimal as number
|
|
305
359
|
)}
|
|
306
360
|
</Typography>
|
|
307
|
-
<Typography
|
|
361
|
+
<Typography
|
|
362
|
+
sx={{
|
|
363
|
+
color: 'text.secondary',
|
|
364
|
+
fontSize: 14,
|
|
365
|
+
}}>
|
|
308
366
|
{currencies[currencyId]?.symbol} on {currencies[currencyId]?.method.name}
|
|
309
367
|
</Typography>
|
|
310
368
|
</Box>
|
|
@@ -324,12 +382,23 @@ export default function Overview() {
|
|
|
324
382
|
)}
|
|
325
383
|
{metrics.length > 0 && (
|
|
326
384
|
<Box>
|
|
327
|
-
<Stack
|
|
385
|
+
<Stack
|
|
386
|
+
direction="row"
|
|
387
|
+
sx={{
|
|
388
|
+
alignItems: 'flex-end',
|
|
389
|
+
justifyContent: 'space-between',
|
|
390
|
+
}}>
|
|
328
391
|
<Typography component="h3" variant="h4">
|
|
329
392
|
{t('admin.metrics')}
|
|
330
393
|
</Typography>
|
|
331
394
|
</Stack>
|
|
332
|
-
<Stack
|
|
395
|
+
<Stack
|
|
396
|
+
direction="row"
|
|
397
|
+
sx={{
|
|
398
|
+
flexWrap: 'wrap',
|
|
399
|
+
gap: 1,
|
|
400
|
+
mt: 2,
|
|
401
|
+
}}>
|
|
333
402
|
{metrics.map((metric) => (
|
|
334
403
|
<Card
|
|
335
404
|
component={Link}
|
|
@@ -341,7 +410,11 @@ export default function Overview() {
|
|
|
341
410
|
<Typography component="div" sx={{ fontSize: '1.75rem' }}>
|
|
342
411
|
{metric.count}
|
|
343
412
|
</Typography>
|
|
344
|
-
<Typography
|
|
413
|
+
<Typography
|
|
414
|
+
sx={{
|
|
415
|
+
color: 'text.secondary',
|
|
416
|
+
fontSize: 14,
|
|
417
|
+
}}>
|
|
345
418
|
{t(`admin.${metric.type}.name`)}
|
|
346
419
|
</Typography>
|
|
347
420
|
</Box>
|
|
@@ -352,12 +425,23 @@ export default function Overview() {
|
|
|
352
425
|
)}
|
|
353
426
|
{attentions.filter((x) => x.count > 0).length > 0 && (
|
|
354
427
|
<Box>
|
|
355
|
-
<Stack
|
|
428
|
+
<Stack
|
|
429
|
+
direction="row"
|
|
430
|
+
sx={{
|
|
431
|
+
alignItems: 'flex-end',
|
|
432
|
+
justifyContent: 'space-between',
|
|
433
|
+
}}>
|
|
356
434
|
<Typography component="h3" variant="h4" color="error">
|
|
357
435
|
{t('admin.attention')}
|
|
358
436
|
</Typography>
|
|
359
437
|
</Stack>
|
|
360
|
-
<Stack
|
|
438
|
+
<Stack
|
|
439
|
+
direction="row"
|
|
440
|
+
sx={{
|
|
441
|
+
flexWrap: 'wrap',
|
|
442
|
+
gap: 1,
|
|
443
|
+
mt: 2,
|
|
444
|
+
}}>
|
|
361
445
|
{attentions.map((metric) => (
|
|
362
446
|
<Card
|
|
363
447
|
component={Link}
|
|
@@ -369,7 +453,11 @@ export default function Overview() {
|
|
|
369
453
|
<Typography component="div" sx={{ fontSize: '1.75rem' }}>
|
|
370
454
|
{metric.count}
|
|
371
455
|
</Typography>
|
|
372
|
-
<Typography
|
|
456
|
+
<Typography
|
|
457
|
+
sx={{
|
|
458
|
+
color: 'text.secondary',
|
|
459
|
+
fontSize: 14,
|
|
460
|
+
}}>
|
|
373
461
|
{t(`admin.${metric.type}.attention`)}
|
|
374
462
|
</Typography>
|
|
375
463
|
</Box>
|
|
@@ -96,12 +96,21 @@ export default function PaymentIntentDetail(props: { id: string }) {
|
|
|
96
96
|
return (
|
|
97
97
|
<Root direction="column" spacing={2.5} mb={4}>
|
|
98
98
|
<Box>
|
|
99
|
-
<Stack
|
|
99
|
+
<Stack
|
|
100
|
+
className="page-header"
|
|
101
|
+
direction="row"
|
|
102
|
+
sx={{
|
|
103
|
+
justifyContent: 'space-between',
|
|
104
|
+
alignItems: 'center',
|
|
105
|
+
}}>
|
|
100
106
|
<Stack
|
|
101
107
|
direction="row"
|
|
102
|
-
|
|
103
|
-
sx={{
|
|
104
|
-
|
|
108
|
+
onClick={() => goBackOrFallback('/admin/payments/intents')}
|
|
109
|
+
sx={{
|
|
110
|
+
alignItems: 'center',
|
|
111
|
+
fontWeight: 'normal',
|
|
112
|
+
cursor: 'pointer',
|
|
113
|
+
}}>
|
|
105
114
|
<ArrowBackOutlined fontSize="small" sx={{ mr: 0.5, color: 'text.secondary' }} />
|
|
106
115
|
<Typography variant="h6" sx={{ color: 'text.secondary', fontWeight: 'normal' }}>
|
|
107
116
|
{t('admin.payments')}
|
|
@@ -110,36 +119,55 @@ export default function PaymentIntentDetail(props: { id: string }) {
|
|
|
110
119
|
<PaymentIntentActions data={data} variant="normal" onChange={runAsync} />
|
|
111
120
|
</Stack>
|
|
112
121
|
<Box
|
|
113
|
-
mt={4}
|
|
114
|
-
mb={3}
|
|
115
122
|
sx={{
|
|
123
|
+
mt: 4,
|
|
124
|
+
mb: 3,
|
|
116
125
|
display: 'flex',
|
|
126
|
+
|
|
117
127
|
gap: {
|
|
118
128
|
xs: 2,
|
|
119
129
|
sm: 2,
|
|
120
130
|
md: 5,
|
|
121
131
|
},
|
|
132
|
+
|
|
122
133
|
flexWrap: 'wrap',
|
|
134
|
+
|
|
123
135
|
flexDirection: {
|
|
124
136
|
xs: 'column',
|
|
125
137
|
sm: 'column',
|
|
126
138
|
md: 'row',
|
|
127
139
|
},
|
|
140
|
+
|
|
128
141
|
alignItems: {
|
|
129
142
|
xs: 'flex-start',
|
|
130
143
|
sm: 'flex-start',
|
|
131
144
|
md: 'center',
|
|
132
145
|
},
|
|
133
146
|
}}>
|
|
134
|
-
<Stack
|
|
135
|
-
|
|
147
|
+
<Stack
|
|
148
|
+
direction="row"
|
|
149
|
+
sx={{
|
|
150
|
+
justifyContent: 'space-between',
|
|
151
|
+
alignItems: 'center',
|
|
152
|
+
}}>
|
|
153
|
+
<Stack
|
|
154
|
+
direction="row"
|
|
155
|
+
spacing={1}
|
|
156
|
+
sx={{
|
|
157
|
+
alignItems: 'center',
|
|
158
|
+
}}>
|
|
136
159
|
<Avatar
|
|
137
160
|
src={data.paymentCurrency.logo}
|
|
138
161
|
alt={data.paymentCurrency.symbol}
|
|
139
162
|
variant="square"
|
|
140
163
|
sx={{ width: '52px', height: '52px', borderRadius: 0.5 }}
|
|
141
164
|
/>
|
|
142
|
-
<Stack
|
|
165
|
+
<Stack
|
|
166
|
+
direction="column"
|
|
167
|
+
sx={{
|
|
168
|
+
alignItems: 'flex-start',
|
|
169
|
+
justifyContent: 'space-around',
|
|
170
|
+
}}>
|
|
143
171
|
<Amount
|
|
144
172
|
amount={data?.amount_received === '0' ? total : received}
|
|
145
173
|
sx={{ my: 0, fontSize: '1.75rem', lineHeight: '32px' }}
|
|
@@ -150,18 +178,22 @@ export default function PaymentIntentDetail(props: { id: string }) {
|
|
|
150
178
|
</Stack>
|
|
151
179
|
<Stack
|
|
152
180
|
className="section-body"
|
|
153
|
-
justifyContent="flex-start"
|
|
154
|
-
flexWrap="wrap"
|
|
155
181
|
sx={{
|
|
182
|
+
justifyContent: 'flex-start',
|
|
183
|
+
flexWrap: 'wrap',
|
|
184
|
+
|
|
156
185
|
'hr.MuiDivider-root:last-child': {
|
|
157
186
|
display: 'none',
|
|
158
187
|
},
|
|
188
|
+
|
|
159
189
|
flexDirection: {
|
|
160
190
|
xs: 'column',
|
|
161
191
|
sm: 'column',
|
|
162
192
|
md: 'row',
|
|
163
193
|
},
|
|
194
|
+
|
|
164
195
|
alignItems: 'flex-start',
|
|
196
|
+
|
|
165
197
|
gap: {
|
|
166
198
|
xs: 1,
|
|
167
199
|
sm: 1,
|
|
@@ -208,7 +240,14 @@ export default function PaymentIntentDetail(props: { id: string }) {
|
|
|
208
240
|
},
|
|
209
241
|
},
|
|
210
242
|
}}>
|
|
211
|
-
<Box
|
|
243
|
+
<Box
|
|
244
|
+
className="payment-link-column-1"
|
|
245
|
+
sx={{
|
|
246
|
+
flex: 1,
|
|
247
|
+
gap: 2.5,
|
|
248
|
+
display: 'flex',
|
|
249
|
+
flexDirection: 'column',
|
|
250
|
+
}}>
|
|
212
251
|
<Box className="section" sx={{ containerType: 'inline-size' }}>
|
|
213
252
|
<SectionHeader title={t('admin.details')} />
|
|
214
253
|
<InfoRowGroup
|
|
@@ -240,7 +279,12 @@ export default function PaymentIntentDetail(props: { id: string }) {
|
|
|
240
279
|
<InfoRow
|
|
241
280
|
label={t('common.status')}
|
|
242
281
|
value={
|
|
243
|
-
<Stack
|
|
282
|
+
<Stack
|
|
283
|
+
direction="row"
|
|
284
|
+
spacing={1}
|
|
285
|
+
sx={{
|
|
286
|
+
alignItems: 'center',
|
|
287
|
+
}}>
|
|
244
288
|
<Status label={data.status} color={getPaymentIntentStatusColor(data.status)} />
|
|
245
289
|
{data.last_payment_error && (
|
|
246
290
|
<Tooltip
|
|
@@ -119,12 +119,21 @@ export default function PayoutDetail(props: { id: string }) {
|
|
|
119
119
|
return (
|
|
120
120
|
<Root direction="column" spacing={2.5} mb={4}>
|
|
121
121
|
<Box>
|
|
122
|
-
<Stack
|
|
122
|
+
<Stack
|
|
123
|
+
className="page-header"
|
|
124
|
+
direction="row"
|
|
125
|
+
sx={{
|
|
126
|
+
justifyContent: 'space-between',
|
|
127
|
+
alignItems: 'center',
|
|
128
|
+
}}>
|
|
123
129
|
<Stack
|
|
124
130
|
direction="row"
|
|
125
|
-
|
|
126
|
-
sx={{
|
|
127
|
-
|
|
131
|
+
onClick={() => goBackOrFallback('/admin/payments/payouts')}
|
|
132
|
+
sx={{
|
|
133
|
+
alignItems: 'center',
|
|
134
|
+
fontWeight: 'normal',
|
|
135
|
+
cursor: 'pointer',
|
|
136
|
+
}}>
|
|
128
137
|
<ArrowBackOutlined fontSize="small" sx={{ mr: 0.5, color: 'text.secondary' }} />
|
|
129
138
|
<Typography variant="h6" sx={{ color: 'text.secondary', fontWeight: 'normal' }}>
|
|
130
139
|
{t('admin.payouts')}
|
|
@@ -132,37 +141,60 @@ export default function PayoutDetail(props: { id: string }) {
|
|
|
132
141
|
</Stack>
|
|
133
142
|
</Stack>
|
|
134
143
|
<Box
|
|
135
|
-
mt={4}
|
|
136
|
-
mb={3}
|
|
137
144
|
sx={{
|
|
145
|
+
mt: 4,
|
|
146
|
+
mb: 3,
|
|
138
147
|
display: 'flex',
|
|
148
|
+
|
|
139
149
|
gap: {
|
|
140
150
|
xs: 2,
|
|
141
151
|
sm: 2,
|
|
142
152
|
md: 5,
|
|
143
153
|
},
|
|
154
|
+
|
|
144
155
|
flexWrap: 'wrap',
|
|
156
|
+
|
|
145
157
|
flexDirection: {
|
|
146
158
|
xs: 'column',
|
|
147
159
|
sm: 'column',
|
|
148
160
|
md: 'row',
|
|
149
161
|
},
|
|
162
|
+
|
|
150
163
|
alignItems: {
|
|
151
164
|
xs: 'flex-start',
|
|
152
165
|
sm: 'flex-start',
|
|
153
166
|
md: 'center',
|
|
154
167
|
},
|
|
155
168
|
}}>
|
|
156
|
-
<Stack
|
|
157
|
-
|
|
158
|
-
|
|
169
|
+
<Stack
|
|
170
|
+
direction="row"
|
|
171
|
+
sx={{
|
|
172
|
+
justifyContent: 'space-between',
|
|
173
|
+
alignItems: 'center',
|
|
174
|
+
}}>
|
|
175
|
+
<Stack
|
|
176
|
+
direction="row"
|
|
177
|
+
sx={{
|
|
178
|
+
alignItems: 'center',
|
|
179
|
+
}}>
|
|
180
|
+
<Stack
|
|
181
|
+
direction="row"
|
|
182
|
+
spacing={1}
|
|
183
|
+
sx={{
|
|
184
|
+
alignItems: 'center',
|
|
185
|
+
}}>
|
|
159
186
|
<Avatar
|
|
160
187
|
src={data.paymentCurrency.logo}
|
|
161
188
|
alt={data.paymentCurrency.symbol}
|
|
162
189
|
variant="square"
|
|
163
190
|
sx={{ width: '52px', height: '52px', borderRadius: 0.5 }}
|
|
164
191
|
/>
|
|
165
|
-
<Stack
|
|
192
|
+
<Stack
|
|
193
|
+
direction="column"
|
|
194
|
+
sx={{
|
|
195
|
+
alignItems: 'flex-start',
|
|
196
|
+
justifyContent: 'space-around',
|
|
197
|
+
}}>
|
|
166
198
|
<Amount amount={total} sx={{ my: 0, fontSize: '1.75rem', lineHeight: '32px' }} />
|
|
167
199
|
<Copyable text={props.id} />
|
|
168
200
|
</Stack>
|
|
@@ -171,18 +203,22 @@ export default function PayoutDetail(props: { id: string }) {
|
|
|
171
203
|
</Stack>
|
|
172
204
|
<Stack
|
|
173
205
|
className="section-body"
|
|
174
|
-
justifyContent="flex-start"
|
|
175
|
-
flexWrap="wrap"
|
|
176
206
|
sx={{
|
|
207
|
+
justifyContent: 'flex-start',
|
|
208
|
+
flexWrap: 'wrap',
|
|
209
|
+
|
|
177
210
|
'hr.MuiDivider-root:last-child': {
|
|
178
211
|
display: 'none',
|
|
179
212
|
},
|
|
213
|
+
|
|
180
214
|
flexDirection: {
|
|
181
215
|
xs: 'column',
|
|
182
216
|
sm: 'column',
|
|
183
217
|
md: 'row',
|
|
184
218
|
},
|
|
219
|
+
|
|
185
220
|
alignItems: 'flex-start',
|
|
221
|
+
|
|
186
222
|
gap: {
|
|
187
223
|
xs: 1,
|
|
188
224
|
sm: 1,
|
|
@@ -278,7 +314,14 @@ export default function PayoutDetail(props: { id: string }) {
|
|
|
278
314
|
},
|
|
279
315
|
},
|
|
280
316
|
}}>
|
|
281
|
-
<Box
|
|
317
|
+
<Box
|
|
318
|
+
className="payment-link-column-1"
|
|
319
|
+
sx={{
|
|
320
|
+
flex: 1,
|
|
321
|
+
gap: 2.5,
|
|
322
|
+
display: 'flex',
|
|
323
|
+
flexDirection: 'column',
|
|
324
|
+
}}>
|
|
282
325
|
<Box className="section" sx={{ containerType: 'inline-size' }}>
|
|
283
326
|
<SectionHeader title={t('admin.details')} />
|
|
284
327
|
<InfoRowGroup
|
|
@@ -310,7 +353,12 @@ export default function PayoutDetail(props: { id: string }) {
|
|
|
310
353
|
<InfoRow
|
|
311
354
|
label={t('common.status')}
|
|
312
355
|
value={
|
|
313
|
-
<Stack
|
|
356
|
+
<Stack
|
|
357
|
+
direction="row"
|
|
358
|
+
spacing={1}
|
|
359
|
+
sx={{
|
|
360
|
+
alignItems: 'center',
|
|
361
|
+
}}>
|
|
314
362
|
<Status label={data.status} color={getPayoutStatusColor(data.status)} />
|
|
315
363
|
{data.last_attempt_error && (
|
|
316
364
|
<Tooltip
|
|
@@ -94,12 +94,21 @@ export default function RefundDetail(props: { id: string }) {
|
|
|
94
94
|
return (
|
|
95
95
|
<Root direction="column" spacing={2.5} mb={4}>
|
|
96
96
|
<Box>
|
|
97
|
-
<Stack
|
|
97
|
+
<Stack
|
|
98
|
+
className="page-header"
|
|
99
|
+
direction="row"
|
|
100
|
+
sx={{
|
|
101
|
+
justifyContent: 'space-between',
|
|
102
|
+
alignItems: 'center',
|
|
103
|
+
}}>
|
|
98
104
|
<Stack
|
|
99
105
|
direction="row"
|
|
100
|
-
|
|
101
|
-
sx={{
|
|
102
|
-
|
|
106
|
+
onClick={() => goBackOrFallback('/admin/payments/refunds')}
|
|
107
|
+
sx={{
|
|
108
|
+
alignItems: 'center',
|
|
109
|
+
fontWeight: 'normal',
|
|
110
|
+
cursor: 'pointer',
|
|
111
|
+
}}>
|
|
103
112
|
<ArrowBackOutlined fontSize="small" sx={{ mr: 0.5, color: 'text.secondary' }} />
|
|
104
113
|
<Typography variant="h6" sx={{ color: 'text.secondary', fontWeight: 'normal' }}>
|
|
105
114
|
{t('admin.refunds')}
|
|
@@ -108,36 +117,55 @@ export default function RefundDetail(props: { id: string }) {
|
|
|
108
117
|
<RefundActions data={data} variant="normal" onChange={() => runAsync()} />
|
|
109
118
|
</Stack>
|
|
110
119
|
<Box
|
|
111
|
-
mt={4}
|
|
112
|
-
mb={3}
|
|
113
120
|
sx={{
|
|
121
|
+
mt: 4,
|
|
122
|
+
mb: 3,
|
|
114
123
|
display: 'flex',
|
|
124
|
+
|
|
115
125
|
gap: {
|
|
116
126
|
xs: 2,
|
|
117
127
|
sm: 2,
|
|
118
128
|
md: 5,
|
|
119
129
|
},
|
|
130
|
+
|
|
120
131
|
flexWrap: 'wrap',
|
|
132
|
+
|
|
121
133
|
flexDirection: {
|
|
122
134
|
xs: 'column',
|
|
123
135
|
sm: 'column',
|
|
124
136
|
md: 'row',
|
|
125
137
|
},
|
|
138
|
+
|
|
126
139
|
alignItems: {
|
|
127
140
|
xs: 'flex-start',
|
|
128
141
|
sm: 'flex-start',
|
|
129
142
|
md: 'center',
|
|
130
143
|
},
|
|
131
144
|
}}>
|
|
132
|
-
<Stack
|
|
133
|
-
|
|
145
|
+
<Stack
|
|
146
|
+
direction="row"
|
|
147
|
+
sx={{
|
|
148
|
+
justifyContent: 'space-between',
|
|
149
|
+
alignItems: 'center',
|
|
150
|
+
}}>
|
|
151
|
+
<Stack
|
|
152
|
+
direction="row"
|
|
153
|
+
spacing={1}
|
|
154
|
+
sx={{
|
|
155
|
+
alignItems: 'center',
|
|
156
|
+
}}>
|
|
134
157
|
<Avatar
|
|
135
158
|
src={data.paymentCurrency.logo}
|
|
136
159
|
alt={data.paymentCurrency.symbol}
|
|
137
160
|
variant="square"
|
|
138
161
|
sx={{ width: '52px', height: '52px', borderRadius: 0.5 }}
|
|
139
162
|
/>
|
|
140
|
-
<Stack
|
|
163
|
+
<Stack
|
|
164
|
+
direction="column"
|
|
165
|
+
sx={{
|
|
166
|
+
alignItems: 'flex-start',
|
|
167
|
+
justifyContent: 'space-around',
|
|
168
|
+
}}>
|
|
141
169
|
<Amount amount={amount} sx={{ my: 0, fontSize: '1.75rem', lineHeight: '32px' }} />
|
|
142
170
|
<Copyable text={props.id} />
|
|
143
171
|
</Stack>
|
|
@@ -145,18 +173,22 @@ export default function RefundDetail(props: { id: string }) {
|
|
|
145
173
|
</Stack>
|
|
146
174
|
<Stack
|
|
147
175
|
className="section-body"
|
|
148
|
-
justifyContent="flex-start"
|
|
149
|
-
flexWrap="wrap"
|
|
150
176
|
sx={{
|
|
177
|
+
justifyContent: 'flex-start',
|
|
178
|
+
flexWrap: 'wrap',
|
|
179
|
+
|
|
151
180
|
'hr.MuiDivider-root:last-child': {
|
|
152
181
|
display: 'none',
|
|
153
182
|
},
|
|
183
|
+
|
|
154
184
|
flexDirection: {
|
|
155
185
|
xs: 'column',
|
|
156
186
|
sm: 'column',
|
|
157
187
|
md: 'row',
|
|
158
188
|
},
|
|
189
|
+
|
|
159
190
|
alignItems: 'flex-start',
|
|
191
|
+
|
|
160
192
|
gap: {
|
|
161
193
|
xs: 1,
|
|
162
194
|
sm: 1,
|
|
@@ -203,7 +235,14 @@ export default function RefundDetail(props: { id: string }) {
|
|
|
203
235
|
},
|
|
204
236
|
},
|
|
205
237
|
}}>
|
|
206
|
-
<Box
|
|
238
|
+
<Box
|
|
239
|
+
className="payment-link-column-1"
|
|
240
|
+
sx={{
|
|
241
|
+
flex: 1,
|
|
242
|
+
gap: 2.5,
|
|
243
|
+
display: 'flex',
|
|
244
|
+
flexDirection: 'column',
|
|
245
|
+
}}>
|
|
207
246
|
<Box className="section" sx={{ containerType: 'inline-size' }}>
|
|
208
247
|
<SectionHeader title={t('admin.details')} />
|
|
209
248
|
<InfoRowGroup
|
|
@@ -235,7 +274,12 @@ export default function RefundDetail(props: { id: string }) {
|
|
|
235
274
|
<InfoRow
|
|
236
275
|
label={t('common.status')}
|
|
237
276
|
value={
|
|
238
|
-
<Stack
|
|
277
|
+
<Stack
|
|
278
|
+
direction="row"
|
|
279
|
+
spacing={1}
|
|
280
|
+
sx={{
|
|
281
|
+
alignItems: 'center',
|
|
282
|
+
}}>
|
|
239
283
|
<Status label={data.status} color={getRefundStatusColor(data.status)} />
|
|
240
284
|
{data.last_attempt_error && data.status !== 'canceled' && (
|
|
241
285
|
<Tooltip
|
|
@@ -65,7 +65,14 @@ export default function Products() {
|
|
|
65
65
|
|
|
66
66
|
return (
|
|
67
67
|
<>
|
|
68
|
-
<Stack
|
|
68
|
+
<Stack
|
|
69
|
+
direction="row"
|
|
70
|
+
spacing={1}
|
|
71
|
+
sx={{
|
|
72
|
+
alignItems: 'flex-start',
|
|
73
|
+
justifyContent: 'end',
|
|
74
|
+
flexWrap: 'wrap',
|
|
75
|
+
}}>
|
|
69
76
|
{/* @ts-ignore */}
|
|
70
77
|
<Tabs
|
|
71
78
|
// @ts-ignore
|
|
@@ -99,7 +106,6 @@ export default function Products() {
|
|
|
99
106
|
/>
|
|
100
107
|
<Box> {extra}</Box>
|
|
101
108
|
</Stack>
|
|
102
|
-
|
|
103
109
|
{isValidElement(TabComponent) ? TabComponent : <TabComponent />}
|
|
104
110
|
</>
|
|
105
111
|
);
|