@huma-finance/widgets 0.0.27 → 0.0.29

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 (165) hide show
  1. package/.env.example +2 -2
  2. package/.eslintignore +2 -2
  3. package/.eslintrc.js +64 -64
  4. package/.prettierignore +4 -4
  5. package/.prettierrc.js +16 -16
  6. package/API.md +332 -332
  7. package/LICENSE +660 -660
  8. package/README.md +48 -48
  9. package/babel.config.js +15 -15
  10. package/config-overrides.js +9 -9
  11. package/cosmos.config.json +7 -7
  12. package/cypress/e2e/01-invoice-factoring-borrow.test.ts +62 -62
  13. package/cypress/support/e2e.ts +76 -76
  14. package/cypress/support/ethereum.ts +142 -142
  15. package/cypress/tsconfig.json +9 -9
  16. package/cypress/utils/index.ts +54 -54
  17. package/cypress.config.ts +20 -20
  18. package/dist/cjs/index.cjs +253 -153
  19. package/dist/cjs/index.cjs.map +1 -1
  20. package/dist/index.d.ts +193 -193
  21. package/dist/index.js +254 -154
  22. package/dist/index.js.map +1 -1
  23. package/jsdoc2md.json +20 -20
  24. package/package.json +4 -4
  25. package/public/index.html +40 -40
  26. package/public/manifest.json +25 -25
  27. package/public/robots.txt +3 -3
  28. package/rollup.config.js +81 -81
  29. package/src/components/Activity.tsx +132 -132
  30. package/src/components/ApolloWrapper.tsx +15 -15
  31. package/src/components/ApproveAllowanceModal.tsx +121 -121
  32. package/src/components/BottomButton.tsx +33 -33
  33. package/src/components/ChainNotSupportedModal.tsx +33 -33
  34. package/src/components/ConfirmTransferModal.tsx +153 -153
  35. package/src/components/CreditLine/borrow/1-Evaluation.tsx +157 -157
  36. package/src/components/CreditLine/borrow/2-ChooseAmount.tsx +68 -68
  37. package/src/components/CreditLine/borrow/3-Transfer.tsx +44 -44
  38. package/src/components/CreditLine/borrow/4-ApproveAllowance.tsx +29 -29
  39. package/src/components/CreditLine/borrow/5-Success.tsx +30 -30
  40. package/src/components/CreditLine/borrow/index.tsx +117 -117
  41. package/src/components/CreditLine/payment/1-ChooseAmount.tsx +67 -67
  42. package/src/components/CreditLine/payment/2-ApproveAllowance.tsx +23 -23
  43. package/src/components/CreditLine/payment/3-Transfer.tsx +34 -34
  44. package/src/components/CreditLine/payment/4-Success.tsx +39 -39
  45. package/src/components/CreditLine/payment/index.tsx +94 -94
  46. package/src/components/ErrorModal.tsx +132 -132
  47. package/src/components/Factoring/FactoredList.tsx +143 -143
  48. package/src/components/Factoring/UpcomingList.tsx +90 -90
  49. package/src/components/Factoring/index.ts +2 -2
  50. package/src/components/HumaLoading.tsx +68 -68
  51. package/src/components/HumaTable.tsx +158 -158
  52. package/src/components/InvoiceFactoring/borrow/1-Evaluation.tsx +49 -49
  53. package/src/components/InvoiceFactoring/borrow/2-ChooseAmount.tsx +88 -88
  54. package/src/components/InvoiceFactoring/borrow/3-ConfirmTransfer.tsx +37 -37
  55. package/src/components/InvoiceFactoring/borrow/4-ApproveNFT.tsx +55 -55
  56. package/src/components/InvoiceFactoring/borrow/5-Transfer.tsx +34 -34
  57. package/src/components/InvoiceFactoring/borrow/6-Success.tsx +20 -20
  58. package/src/components/InvoiceFactoring/borrow/index.tsx +94 -94
  59. package/src/components/InvoiceFactoring/payment/1-ChooseAmount.tsx +67 -67
  60. package/src/components/InvoiceFactoring/payment/2-ApproveAllowance.tsx +23 -23
  61. package/src/components/InvoiceFactoring/payment/3-Transfer.tsx +34 -34
  62. package/src/components/InvoiceFactoring/payment/4-Success.tsx +23 -23
  63. package/src/components/InvoiceFactoring/payment/index.tsx +86 -86
  64. package/src/components/Lend/supply/1-Evaluation.tsx +171 -171
  65. package/src/components/Lend/supply/2-ChooseAmount.tsx +70 -70
  66. package/src/components/Lend/supply/3-ApproveAllowance.tsx +25 -25
  67. package/src/components/Lend/supply/4-ConfirmTransfer.tsx +104 -104
  68. package/src/components/Lend/supply/6-Transfer.tsx +32 -32
  69. package/src/components/Lend/supply/7-Success.tsx +49 -49
  70. package/src/components/Lend/supply/index.tsx +144 -144
  71. package/src/components/Lend/withdraw/1-CheckWithdrawble.tsx +73 -73
  72. package/src/components/Lend/withdraw/2-ChooseAmount.tsx +50 -50
  73. package/src/components/Lend/withdraw/3-Transfer.tsx +32 -32
  74. package/src/components/Lend/withdraw/4-Success.tsx +49 -49
  75. package/src/components/Lend/withdraw/index.tsx +101 -101
  76. package/src/components/LoadingModal.tsx +49 -49
  77. package/src/components/StreamFactoring/borrow/1-Evaluation.tsx +55 -55
  78. package/src/components/StreamFactoring/borrow/2-ChooseAmount.tsx +127 -127
  79. package/src/components/StreamFactoring/borrow/3-ConfirmTransfer.tsx +42 -42
  80. package/src/components/StreamFactoring/borrow/4-ApproveAllowance.tsx +33 -33
  81. package/src/components/StreamFactoring/borrow/5-Permit.tsx +144 -144
  82. package/src/components/StreamFactoring/borrow/6-Transfer.tsx +37 -37
  83. package/src/components/StreamFactoring/borrow/7-Success.tsx +20 -20
  84. package/src/components/StreamFactoring/borrow/index.tsx +94 -94
  85. package/src/components/StreamFactoring/payment/ChooseAmount.tsx +54 -54
  86. package/src/components/StreamFactoring/payment/Success.tsx +23 -23
  87. package/src/components/StreamFactoring/payment/Transfer.tsx +34 -34
  88. package/src/components/StreamFactoring/payment/index.tsx +66 -66
  89. package/src/components/SuperfluidFactoring/SuperfluidFactoredList.tsx +70 -70
  90. package/src/components/SuperfluidFactoring/SuperfluidUpcomingList.tsx +167 -167
  91. package/src/components/SuperfluidFactoring/index.tsx +85 -85
  92. package/src/components/TxDoneModal.tsx +83 -83
  93. package/src/components/TxSendModal.tsx +59 -59
  94. package/src/components/ViewOnExplorer.tsx +26 -26
  95. package/src/components/WidgetWrapper.tsx +74 -74
  96. package/src/components/WrapperModal.tsx +54 -54
  97. package/src/components/buttons/TableActionButton.tsx +36 -36
  98. package/src/components/buttons/index.ts +1 -1
  99. package/src/components/humaModal/HumaModal.tsx +68 -68
  100. package/src/components/humaModal/HumaModalHeader.tsx +70 -70
  101. package/src/components/humaModal/index.tsx +2 -2
  102. package/src/components/icons/approve-lender.svg +30 -30
  103. package/src/components/icons/auto-payback.svg +40 -40
  104. package/src/components/icons/check-circle.svg +3 -3
  105. package/src/components/icons/check-green.svg +3 -3
  106. package/src/components/icons/check.svg +10 -10
  107. package/src/components/icons/donut.svg +904 -904
  108. package/src/components/icons/ellipse.svg +3 -3
  109. package/src/components/icons/huma-full.svg +22 -22
  110. package/src/components/icons/huma.svg +15 -15
  111. package/src/components/icons/index.tsx +93 -93
  112. package/src/components/icons/loader.svg +229 -229
  113. package/src/components/icons/metamask.svg +31 -31
  114. package/src/components/icons/polygon.svg +16 -16
  115. package/src/components/icons/receipt.svg +3 -3
  116. package/src/components/icons/separator.svg +3 -3
  117. package/src/components/icons/sorry.svg +31 -31
  118. package/src/components/icons/usdc.svg +5 -5
  119. package/src/components/icons/wallet-connect.svg +11 -11
  120. package/src/cosmos/CreditLineBorrow.fixture.tsx +86 -86
  121. package/src/cosmos/CreditLinePayment.fixture.tsx +50 -50
  122. package/src/cosmos/InvoiceFactoringBorrow.fixture.tsx +111 -111
  123. package/src/cosmos/InvoiceFactoringPayment.fixture.tsx +67 -67
  124. package/src/cosmos/LendSupply.fixture.tsx +75 -75
  125. package/src/cosmos/LendWithdraw.fixture.tsx +43 -43
  126. package/src/cosmos/SuperfluidFactoringBorrow.fixture.tsx +15 -15
  127. package/src/cosmos/WalletWrapper.tsx +52 -52
  128. package/src/cosmos/abis/InvoiceNFT.json +644 -644
  129. package/src/cosmos/abis/ReceivableFactoringPool.json +1529 -1529
  130. package/src/cosmos/utils/env.ts +6 -6
  131. package/src/cosmos/utils/index.ts +169 -169
  132. package/src/fonts/Recoleta/Recoleta-Black.otf +0 -0
  133. package/src/fonts/Recoleta/Recoleta-Bold.otf +0 -0
  134. package/src/fonts/Recoleta/Recoleta-Light.otf +0 -0
  135. package/src/fonts/Recoleta/Recoleta-Medium.otf +0 -0
  136. package/src/fonts/Recoleta/Recoleta-Regular.otf +0 -0
  137. package/src/fonts/Recoleta/Recoleta-RegularDEMO.otf +0 -0
  138. package/src/fonts/Recoleta/Recoleta-SemiBold.otf +0 -0
  139. package/src/fonts/Recoleta/Recoleta-Thin.otf +0 -0
  140. package/src/hooks/useEA.ts +53 -53
  141. package/src/hooks/useRedux.ts +6 -6
  142. package/src/index.css +61 -61
  143. package/src/index.tsx +301 -301
  144. package/src/react-app-env.d.ts +1 -1
  145. package/src/reportWebVitals.ts +15 -15
  146. package/src/setupTests.ts +6 -6
  147. package/src/store/index.ts +27 -27
  148. package/src/store/widgets.reducers.ts +120 -120
  149. package/src/store/widgets.selectors.ts +3 -3
  150. package/src/store/widgets.store.ts +54 -54
  151. package/src/theme/breakpoints.ts +10 -10
  152. package/src/theme/components.ts +70 -70
  153. package/src/theme/coreThemeConstants.ts +29 -29
  154. package/src/theme/cssMixins.ts +92 -92
  155. package/src/theme/hooks/useGetSizes.ts +31 -31
  156. package/src/theme/index.ts +24 -24
  157. package/src/theme/palette.ts +150 -150
  158. package/src/theme/shape.ts +7 -7
  159. package/src/theme/theme.types.ts +80 -80
  160. package/src/theme/typography.ts +117 -117
  161. package/src/utilTypes.d.ts +31 -31
  162. package/src/utils/env.ts +10 -10
  163. package/tsconfig.build.json +7 -7
  164. package/tsconfig.json +32 -32
  165. package/webpack.cosmos.js +54 -54
@@ -1,49 +1,49 @@
1
- import { useWeb3React } from '@web3-react/core'
2
- import {
3
- decodeLogs,
4
- downScale,
5
- formatMoney,
6
- PoolInfoType,
7
- sendTxAtom,
8
- } from '@huma-finance/shared'
9
- import transferAbi from '@huma-finance/shared/dist/abis/Transfer.json'
10
- import { useAtom } from 'jotai'
11
- import React, { useEffect, useState } from 'react'
12
-
13
- import { TxDoneModal } from '../../TxDoneModal'
14
-
15
- type Props = {
16
- poolInfo: PoolInfoType
17
- handleAction: () => void
18
- }
19
-
20
- export function Success({ poolInfo, handleAction }: Props): React.ReactElement {
21
- const { account } = useWeb3React()
22
- const { poolUnderlyingToken } = poolInfo
23
- const [{ txReceipt }] = useAtom(sendTxAtom)
24
- const { symbol, decimals, address } = poolUnderlyingToken
25
- const [withdrawAmount, setWithdrawAmount] = useState<string | undefined>()
26
-
27
- useEffect(() => {
28
- if (txReceipt) {
29
- const events = decodeLogs(txReceipt.logs, transferAbi)
30
- if (events) {
31
- events.forEach((event) => {
32
- const { from, to, value } = event.args
33
- if (
34
- from.toLowerCase() === poolInfo.pool.toLowerCase() &&
35
- to.toLowerCase() === account?.toLowerCase()
36
- ) {
37
- setWithdrawAmount(downScale(value.toString(), decimals))
38
- }
39
- })
40
- }
41
- }
42
- }, [account, address, decimals, poolInfo.pool, txReceipt])
43
-
44
- const content = [
45
- `You successfully withdrawn ${formatMoney(withdrawAmount)} ${symbol}.`,
46
- ]
47
-
48
- return <TxDoneModal handleAction={handleAction} content={content} />
49
- }
1
+ import { useWeb3React } from '@web3-react/core'
2
+ import {
3
+ decodeLogs,
4
+ downScale,
5
+ formatMoney,
6
+ PoolInfoType,
7
+ sendTxAtom,
8
+ } from '@huma-finance/shared'
9
+ import transferAbi from '@huma-finance/shared/dist/abis/Transfer.json'
10
+ import { useAtom } from 'jotai'
11
+ import React, { useEffect, useState } from 'react'
12
+
13
+ import { TxDoneModal } from '../../TxDoneModal'
14
+
15
+ type Props = {
16
+ poolInfo: PoolInfoType
17
+ handleAction: () => void
18
+ }
19
+
20
+ export function Success({ poolInfo, handleAction }: Props): React.ReactElement {
21
+ const { account } = useWeb3React()
22
+ const { poolUnderlyingToken } = poolInfo
23
+ const [{ txReceipt }] = useAtom(sendTxAtom)
24
+ const { symbol, decimals, address } = poolUnderlyingToken
25
+ const [withdrawAmount, setWithdrawAmount] = useState<string | undefined>()
26
+
27
+ useEffect(() => {
28
+ if (txReceipt) {
29
+ const events = decodeLogs(txReceipt.logs, transferAbi)
30
+ if (events) {
31
+ events.forEach((event) => {
32
+ const { from, to, value } = event.args
33
+ if (
34
+ from.toLowerCase() === poolInfo.pool.toLowerCase() &&
35
+ to.toLowerCase() === account?.toLowerCase()
36
+ ) {
37
+ setWithdrawAmount(downScale(value.toString(), decimals))
38
+ }
39
+ })
40
+ }
41
+ }
42
+ }, [account, address, decimals, poolInfo.pool, txReceipt])
43
+
44
+ const content = [
45
+ `You successfully withdrawn ${formatMoney(withdrawAmount)} ${symbol}.`,
46
+ ]
47
+
48
+ return <TxDoneModal handleAction={handleAction} content={content} />
49
+ }
@@ -1,101 +1,101 @@
1
- import { useWeb3React } from '@web3-react/core'
2
- import {
3
- POOL_NAME,
4
- POOL_TYPE,
5
- useLenderPosition,
6
- usePoolInfo,
7
- } from '@huma-finance/shared'
8
- import React, { useCallback, useEffect } from 'react'
9
- import { useDispatch } from 'react-redux'
10
-
11
- import { useAppSelector } from '../../../hooks/useRedux'
12
- import { setStep } from '../../../store/widgets.reducers'
13
- import { selectWidgetState } from '../../../store/widgets.selectors'
14
- import { WIDGET_STEP } from '../../../store/widgets.store'
15
- import { ErrorModal } from '../../ErrorModal'
16
- import { WidgetWrapper } from '../../WidgetWrapper'
17
- import { CheckWithdrawable } from './1-CheckWithdrawble'
18
- import { ChooseAmount } from './2-ChooseAmount'
19
- import { Transfer } from './3-Transfer'
20
- import { Success } from './4-Success'
21
-
22
- /**
23
- * Lend pool withdraw props
24
- * @typedef {Object} LendWithdrawProps
25
- * @property {POOL_NAME} poolName The name of the pool.
26
- * @property {POOL_TYPE} poolType The type of the pool.
27
- * @property {function():void} handleClose Function to notify to close the widget modal when user clicks the 'x' close button.
28
- * @property {function((number|undefined)):void|undefined} handleSuccess Optional function to notify that the lending pool withdraw action is successful.
29
- */
30
- export type LendWithdrawProps = {
31
- poolName: keyof typeof POOL_NAME
32
- poolType: keyof typeof POOL_TYPE
33
- handleClose: () => void
34
- handleSuccess?: (blockNumber?: number) => void
35
- }
36
-
37
- export function LendWithdraw({
38
- poolName: poolNameStr,
39
- poolType: poolTypeStr,
40
- handleClose,
41
- handleSuccess,
42
- }: LendWithdrawProps): React.ReactElement | null {
43
- const dispatch = useDispatch()
44
- const { account } = useWeb3React()
45
- const poolName = POOL_NAME[poolNameStr]
46
- const poolType = POOL_TYPE[poolTypeStr]
47
- const poolInfo = usePoolInfo(poolName, poolType)
48
- const { step, errorMessage } = useAppSelector(selectWidgetState)
49
- const [lenderPosition, refreshLenderPosition] = useLenderPosition(
50
- poolName,
51
- poolType,
52
- account,
53
- )
54
-
55
- useEffect(() => {
56
- if (!step && lenderPosition) {
57
- dispatch(setStep(WIDGET_STEP.CheckWithdrawable))
58
- }
59
- }, [dispatch, lenderPosition, step])
60
-
61
- const handleWithdrawSuccess = useCallback(
62
- (blockNumber: number) => {
63
- refreshLenderPosition()
64
- if (handleSuccess) {
65
- handleSuccess(blockNumber)
66
- }
67
- },
68
- [handleSuccess, refreshLenderPosition],
69
- )
70
-
71
- if (!poolInfo) {
72
- return null
73
- }
74
-
75
- return (
76
- <WidgetWrapper
77
- isOpen
78
- handleClose={handleClose}
79
- handleSuccess={handleWithdrawSuccess}
80
- >
81
- {(!step || step === WIDGET_STEP.CheckWithdrawable) && (
82
- <CheckWithdrawable poolInfo={poolInfo} handleClose={handleClose} />
83
- )}
84
- {step === WIDGET_STEP.ChooseAmount && (
85
- <ChooseAmount poolInfo={poolInfo} lenderPosition={lenderPosition!} />
86
- )}
87
- {step === WIDGET_STEP.Transfer && <Transfer poolInfo={poolInfo} />}
88
- {step === WIDGET_STEP.Done && (
89
- <Success poolInfo={poolInfo} handleAction={handleClose} />
90
- )}
91
- {step === WIDGET_STEP.Error && (
92
- <ErrorModal
93
- title='Withdraw'
94
- errorReason='Sorry there was an error'
95
- errorMessage={errorMessage}
96
- handleOk={handleClose}
97
- />
98
- )}
99
- </WidgetWrapper>
100
- )
101
- }
1
+ import { useWeb3React } from '@web3-react/core'
2
+ import {
3
+ POOL_NAME,
4
+ POOL_TYPE,
5
+ useLenderPosition,
6
+ usePoolInfo,
7
+ } from '@huma-finance/shared'
8
+ import React, { useCallback, useEffect } from 'react'
9
+ import { useDispatch } from 'react-redux'
10
+
11
+ import { useAppSelector } from '../../../hooks/useRedux'
12
+ import { setStep } from '../../../store/widgets.reducers'
13
+ import { selectWidgetState } from '../../../store/widgets.selectors'
14
+ import { WIDGET_STEP } from '../../../store/widgets.store'
15
+ import { ErrorModal } from '../../ErrorModal'
16
+ import { WidgetWrapper } from '../../WidgetWrapper'
17
+ import { CheckWithdrawable } from './1-CheckWithdrawble'
18
+ import { ChooseAmount } from './2-ChooseAmount'
19
+ import { Transfer } from './3-Transfer'
20
+ import { Success } from './4-Success'
21
+
22
+ /**
23
+ * Lend pool withdraw props
24
+ * @typedef {Object} LendWithdrawProps
25
+ * @property {POOL_NAME} poolName The name of the pool.
26
+ * @property {POOL_TYPE} poolType The type of the pool.
27
+ * @property {function():void} handleClose Function to notify to close the widget modal when user clicks the 'x' close button.
28
+ * @property {function((number|undefined)):void|undefined} handleSuccess Optional function to notify that the lending pool withdraw action is successful.
29
+ */
30
+ export type LendWithdrawProps = {
31
+ poolName: keyof typeof POOL_NAME
32
+ poolType: keyof typeof POOL_TYPE
33
+ handleClose: () => void
34
+ handleSuccess?: (blockNumber?: number) => void
35
+ }
36
+
37
+ export function LendWithdraw({
38
+ poolName: poolNameStr,
39
+ poolType: poolTypeStr,
40
+ handleClose,
41
+ handleSuccess,
42
+ }: LendWithdrawProps): React.ReactElement | null {
43
+ const dispatch = useDispatch()
44
+ const { account } = useWeb3React()
45
+ const poolName = POOL_NAME[poolNameStr]
46
+ const poolType = POOL_TYPE[poolTypeStr]
47
+ const poolInfo = usePoolInfo(poolName, poolType)
48
+ const { step, errorMessage } = useAppSelector(selectWidgetState)
49
+ const [lenderPosition, refreshLenderPosition] = useLenderPosition(
50
+ poolName,
51
+ poolType,
52
+ account,
53
+ )
54
+
55
+ useEffect(() => {
56
+ if (!step && lenderPosition) {
57
+ dispatch(setStep(WIDGET_STEP.CheckWithdrawable))
58
+ }
59
+ }, [dispatch, lenderPosition, step])
60
+
61
+ const handleWithdrawSuccess = useCallback(
62
+ (blockNumber: number) => {
63
+ refreshLenderPosition()
64
+ if (handleSuccess) {
65
+ handleSuccess(blockNumber)
66
+ }
67
+ },
68
+ [handleSuccess, refreshLenderPosition],
69
+ )
70
+
71
+ if (!poolInfo) {
72
+ return null
73
+ }
74
+
75
+ return (
76
+ <WidgetWrapper
77
+ isOpen
78
+ handleClose={handleClose}
79
+ handleSuccess={handleWithdrawSuccess}
80
+ >
81
+ {(!step || step === WIDGET_STEP.CheckWithdrawable) && (
82
+ <CheckWithdrawable poolInfo={poolInfo} handleClose={handleClose} />
83
+ )}
84
+ {step === WIDGET_STEP.ChooseAmount && (
85
+ <ChooseAmount poolInfo={poolInfo} lenderPosition={lenderPosition!} />
86
+ )}
87
+ {step === WIDGET_STEP.Transfer && <Transfer poolInfo={poolInfo} />}
88
+ {step === WIDGET_STEP.Done && (
89
+ <Success poolInfo={poolInfo} handleAction={handleClose} />
90
+ )}
91
+ {step === WIDGET_STEP.Error && (
92
+ <ErrorModal
93
+ title='Withdraw'
94
+ errorReason='Sorry there was an error'
95
+ errorMessage={errorMessage}
96
+ handleOk={handleClose}
97
+ />
98
+ )}
99
+ </WidgetWrapper>
100
+ )
101
+ }
@@ -1,49 +1,49 @@
1
- import { Box, css, useTheme } from '@mui/material'
2
- import React from 'react'
3
- import { HumaLoading } from './HumaLoading'
4
-
5
- import { WrapperModal } from './WrapperModal'
6
-
7
- type Props = {
8
- title: string
9
- description?: string
10
- hideLoader?: boolean
11
- children?: React.ReactNode
12
- }
13
-
14
- export function LoadingModal({
15
- title,
16
- description,
17
- hideLoader = false,
18
- children,
19
- }: Props): React.ReactElement {
20
- const theme = useTheme()
21
-
22
- const styles = {
23
- loader: css`
24
- width: 100%;
25
- ${theme.cssMixins.rowHCentered};
26
- position: absolute;
27
- top: 50%;
28
- transform: translateY(-50%);
29
- `,
30
- bottom: css`
31
- & .MuiButtonBase-root {
32
- width: 100%;
33
- position: absolute;
34
- bottom: 0;
35
- }
36
- `,
37
- }
38
-
39
- return (
40
- <WrapperModal title={title} subTitle={description}>
41
- {!hideLoader && (
42
- <Box css={styles.loader}>
43
- <HumaLoading />
44
- </Box>
45
- )}
46
- <Box css={styles.bottom}>{children}</Box>
47
- </WrapperModal>
48
- )
49
- }
1
+ import { Box, css, useTheme } from '@mui/material'
2
+ import React from 'react'
3
+ import { HumaLoading } from './HumaLoading'
4
+
5
+ import { WrapperModal } from './WrapperModal'
6
+
7
+ type Props = {
8
+ title: string
9
+ description?: string
10
+ hideLoader?: boolean
11
+ children?: React.ReactNode
12
+ }
13
+
14
+ export function LoadingModal({
15
+ title,
16
+ description,
17
+ hideLoader = false,
18
+ children,
19
+ }: Props): React.ReactElement {
20
+ const theme = useTheme()
21
+
22
+ const styles = {
23
+ loader: css`
24
+ width: 100%;
25
+ ${theme.cssMixins.rowHCentered};
26
+ position: absolute;
27
+ top: 50%;
28
+ transform: translateY(-50%);
29
+ `,
30
+ bottom: css`
31
+ & .MuiButtonBase-root {
32
+ width: 100%;
33
+ position: absolute;
34
+ bottom: 0;
35
+ }
36
+ `,
37
+ }
38
+
39
+ return (
40
+ <WrapperModal title={title} subTitle={description}>
41
+ {!hideLoader && (
42
+ <Box css={styles.loader}>
43
+ <HumaLoading />
44
+ </Box>
45
+ )}
46
+ <Box css={styles.bottom}>{children}</Box>
47
+ </WrapperModal>
48
+ )
49
+ }
@@ -1,55 +1,55 @@
1
- import { useWeb3React } from '@web3-react/core'
2
- import { PoolInfoType } from '@huma-finance/shared'
3
- import React, { useEffect } from 'react'
4
-
5
- import useEA from '../../../hooks/useEA'
6
- import { LoadingModal } from '../../LoadingModal'
7
- import { WIDGET_STEP } from '../../../store/widgets.store'
8
-
9
- type Props = {
10
- poolInfo: PoolInfoType
11
- payerAddress: string
12
- superToken: string
13
- }
14
-
15
- export function Evaluation({
16
- poolInfo,
17
- payerAddress,
18
- superToken,
19
- }: Props): React.ReactElement {
20
- const { account } = useWeb3React()
21
- const { checkingEA } = useEA()
22
-
23
- useEffect(() => {
24
- if (account) {
25
- checkingEA(
26
- {
27
- poolAddress: poolInfo.pool,
28
- borrowerWalletAddress: account,
29
- context: {
30
- receivable: {
31
- address: poolInfo.assetAddress!,
32
- },
33
- payerWalletAddress: payerAddress,
34
- superToken,
35
- },
36
- },
37
- WIDGET_STEP.ChooseAmount,
38
- )
39
- }
40
- }, [
41
- account,
42
- checkingEA,
43
- payerAddress,
44
- poolInfo.assetAddress,
45
- poolInfo.pool,
46
- superToken,
47
- ])
48
-
49
- return (
50
- <LoadingModal
51
- title='Checking Stream'
52
- description='Checking if the stream qualifies for factoring...'
53
- />
54
- )
55
- }
1
+ import { useWeb3React } from '@web3-react/core'
2
+ import { PoolInfoType } from '@huma-finance/shared'
3
+ import React, { useEffect } from 'react'
4
+
5
+ import useEA from '../../../hooks/useEA'
6
+ import { LoadingModal } from '../../LoadingModal'
7
+ import { WIDGET_STEP } from '../../../store/widgets.store'
8
+
9
+ type Props = {
10
+ poolInfo: PoolInfoType
11
+ payerAddress: string
12
+ superToken: string
13
+ }
14
+
15
+ export function Evaluation({
16
+ poolInfo,
17
+ payerAddress,
18
+ superToken,
19
+ }: Props): React.ReactElement {
20
+ const { account } = useWeb3React()
21
+ const { checkingEA } = useEA()
22
+
23
+ useEffect(() => {
24
+ if (account) {
25
+ checkingEA(
26
+ {
27
+ poolAddress: poolInfo.pool,
28
+ borrowerWalletAddress: account,
29
+ context: {
30
+ receivable: {
31
+ address: poolInfo.assetAddress!,
32
+ },
33
+ payerWalletAddress: payerAddress,
34
+ superToken,
35
+ },
36
+ },
37
+ WIDGET_STEP.ChooseAmount,
38
+ )
39
+ }
40
+ }, [
41
+ account,
42
+ checkingEA,
43
+ payerAddress,
44
+ poolInfo.assetAddress,
45
+ poolInfo.pool,
46
+ superToken,
47
+ ])
48
+
49
+ return (
50
+ <LoadingModal
51
+ title='Checking Stream'
52
+ description='Checking if the stream qualifies for factoring...'
53
+ />
54
+ )
55
+ }