astra-modal-test 1.0.10 → 1.0.11

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 (167) hide show
  1. package/README.md +118 -148
  2. package/dist/{SwapController-DyormRqe.js → SwapController-Ck3TYcMp.js} +1 -1
  3. package/dist/{add-C1zIRxeS.js → add-BmBLHIEe.js} +1 -1
  4. package/dist/{all-wallets-5a2U9fLw.js → all-wallets-H2aaJ2oP.js} +1 -1
  5. package/dist/{app-store-2IKrZeLe.js → app-store-Bvhe1BkA.js} +1 -1
  6. package/dist/{apple-DH9ESSKX.js → apple-BCIKns5c.js} +1 -1
  7. package/dist/{arrow-bottom-circle-Cy5Gjca4.js → arrow-bottom-circle-Dpcn0z0p.js} +1 -1
  8. package/dist/{arrow-bottom-BxAPS43J.js → arrow-bottom-i1ChNkSf.js} +1 -1
  9. package/dist/{arrow-left-CBX7JaHB.js → arrow-left-Dj8tzUf6.js} +1 -1
  10. package/dist/{arrow-right-G72bt1-M.js → arrow-right-DVd3R-0K.js} +1 -1
  11. package/dist/{arrow-top-DCkQG0Dq.js → arrow-top-DcD5wbZL.js} +1 -1
  12. package/dist/astra-sdk.es.js +1 -1
  13. package/dist/{bank-FNxAUs8r.js → bank-CToLOTy3.js} +1 -1
  14. package/dist/{bin-B-c2CIPW.js → bin-D8m48Dk5.js} +1 -1
  15. package/dist/{bitcoin-jk4NLDu1.js → bitcoin-y6S4LO0p.js} +1 -1
  16. package/dist/{browser-D6w0J78l.js → browser-DRhVaQQT.js} +1 -1
  17. package/dist/{card-BLWRKU-r.js → card-BK0q3S4W.js} +1 -1
  18. package/dist/{ccip-DkYvh7hg.js → ccip-CH1B6Zeh.js} +1 -1
  19. package/dist/{checkmark-C1pTfaGr.js → checkmark-C7H1vH4H.js} +1 -1
  20. package/dist/{checkmark-bold-UzogCu8g.js → checkmark-bold-DfvIWKpu.js} +1 -1
  21. package/dist/{chevron-bottom-w_rMAO7x.js → chevron-bottom-CcAEP6cD.js} +1 -1
  22. package/dist/{chevron-left-DGNJGxiP.js → chevron-left-DMnhSBVl.js} +1 -1
  23. package/dist/{chevron-right-VFQCvCyG.js → chevron-right-pPhw9ZBC.js} +1 -1
  24. package/dist/{chevron-top-DVhFmsKp.js → chevron-top-DjqOCRAL.js} +1 -1
  25. package/dist/{chrome-store-BkYX3All.js → chrome-store-B-9bRAPM.js} +1 -1
  26. package/dist/{circle-B1A3j4eP.js → circle-SPbxfVZq.js} +1 -1
  27. package/dist/{clock-BKr-VHDU.js → clock-BLAT4wv4.js} +1 -1
  28. package/dist/{close-BEacRQ8Q.js → close-D1AyyJzy.js} +1 -1
  29. package/dist/{coinPlaceholder-0ZwtMAHl.js → coinPlaceholder-DGk1in74.js} +1 -1
  30. package/dist/{compass-pulK-BFi.js → compass-C0-SVkSt.js} +1 -1
  31. package/dist/{copy-MWCQE0T4.js → copy-CPcvwITz.js} +1 -1
  32. package/dist/{cursor-C2GVfUuM.js → cursor-ChlOWEcO.js} +1 -1
  33. package/dist/{cursor-transparent-Co_5p0du.js → cursor-transparent-BJsEpe-G.js} +1 -1
  34. package/dist/{desktop-C91EoSqM.js → desktop-Z8iZvVCW.js} +1 -1
  35. package/dist/{disconnect-BWg1-rml.js → disconnect-DkPQjiLk.js} +1 -1
  36. package/dist/{discord-Bi0Bfa_e.js → discord-CwRdgvGZ.js} +1 -1
  37. package/dist/{email-U2WCRPFh.js → email-DA_5xt-j.js} +1 -1
  38. package/dist/{embedded-wallet-B6P0kU9A.js → embedded-wallet-DYnGl5tL.js} +1 -1
  39. package/dist/{ethereum-BeZyayQW.js → ethereum-Dwse3Umc.js} +1 -1
  40. package/dist/{etherscan-BQTsufjv.js → etherscan-CNmwyrRn.js} +1 -1
  41. package/dist/{exclamation-triangle-JT-YKNXX.js → exclamation-triangle-CU8gn-bU.js} +1 -1
  42. package/dist/{extension-TnYLHoFA.js → extension-rikwXWrg.js} +1 -1
  43. package/dist/{external-link-Dhgai9sc.js → external-link-mDp8JVE0.js} +1 -1
  44. package/dist/{facebook-C6XFGRDw.js → facebook-c0IS1D9G.js} +1 -1
  45. package/dist/{farcaster-CvYbxZQq.js → farcaster-DpvSDnGl.js} +1 -1
  46. package/dist/{filters-DwVRjAav.js → filters-B42-1BLn.js} +1 -1
  47. package/dist/{github-BVZSx-z9.js → github-DvjZxkXF.js} +1 -1
  48. package/dist/{google-NbJiQLc5.js → google-CLHf_zAz.js} +1 -1
  49. package/dist/{help-circle-Cum2UOMJ.js → help-circle-BI5xgPAz.js} +1 -1
  50. package/dist/{id-kRR6YgVc.js → id-BxI79dX4.js} +1 -1
  51. package/dist/{image-BWUCRAmp.js → image-Cr1qAxG-.js} +1 -1
  52. package/dist/{index-D-T7kk3G.js → index-C0USsgDi.js} +1 -1
  53. package/dist/{index-Dq0LIBEh.js → index-C49-8bCQ.js} +1 -1
  54. package/dist/{index-DSX3HrTS.js → index-CH4T0JAz.js} +1 -1
  55. package/dist/{index-BDE-2VTp.js → index-CWAoFGd1.js} +6 -6
  56. package/dist/{index-RFYbqmu0.js → index-C_3PUMa7.js} +1 -1
  57. package/dist/{index-BZZHE-1t.js → index-D7jufxlk.js} +1 -1
  58. package/dist/{index-CIr4zlVp.js → index-DZiQey0J.js} +1 -1
  59. package/dist/{index-DQ5AZLMt.js → index-DtAG8k9M.js} +1 -1
  60. package/dist/{index-2vYoun4O.js → index-Zh6wUpmX.js} +4007 -3984
  61. package/dist/{index-BjLIiJQa.js → index-utoSbRla.js} +1 -1
  62. package/dist/{info-Br-SBtj3.js → info-BUp5BYav.js} +1 -1
  63. package/dist/{info-circle-Ew4RoR_Q.js → info-circle-D5anzkYK.js} +1 -1
  64. package/dist/{lightbulb-BRBVOE_b.js → lightbulb-DmuhLv29.js} +1 -1
  65. package/dist/{mail-Dzi4AncY.js → mail-D2hRmmgi.js} +1 -1
  66. package/dist/{mobile-BGGxQ5be.js → mobile-Cq-9uJHv.js} +1 -1
  67. package/dist/{more-BmNaKbYJ.js → more-DJMBaB2z.js} +1 -1
  68. package/dist/{network-placeholder-EMiMf4q1.js → network-placeholder-3ip1roR0.js} +1 -1
  69. package/dist/{nftPlaceholder-CvSqy3Sd.js → nftPlaceholder-C7r74zYS.js} +1 -1
  70. package/dist/{off-DF9uz0Nc.js → off-CJE6Z_MK.js} +1 -1
  71. package/dist/{onramp-cKzTmKku.js → onramp-BMRgbt2I.js} +1 -1
  72. package/dist/{play-store-CGxW4MgL.js → play-store-CxusWynI.js} +1 -1
  73. package/dist/{plus-CQ6wWkN0.js → plus-Bjkqj5g6.js} +1 -1
  74. package/dist/{qr-code-VBqx9nAF.js → qr-code-4C0zboga.js} +1 -1
  75. package/dist/{receive-CVzkHmKR.js → receive-Cc8moHBZ.js} +1 -1
  76. package/dist/{recycle-horizontal-Oq1YtvUx.js → recycle-horizontal-BdSgk84g.js} +1 -1
  77. package/dist/{refresh-BDlGAzmY.js → refresh-BsRodAS7.js} +1 -1
  78. package/dist/{reown-logo-BlIpXIlG.js → reown-logo-DOVlqCDK.js} +1 -1
  79. package/dist/{search-DfmCmp0m.js → search-BIyHtky-.js} +1 -1
  80. package/dist/{secp256k1-CsKSDHNi.js → secp256k1-B2Gq-iIr.js} +1 -1
  81. package/dist/{send-BXudz514.js → send-9eSi58hW.js} +1 -1
  82. package/dist/{send-Cz0L5LmE.js → send-CBFTcYtn.js} +3 -3
  83. package/dist/{socials-CDOh8MRf.js → socials-CeOJULFV.js} +1 -1
  84. package/dist/{solana-CbiyOE-8.js → solana-BNptwYvn.js} +1 -1
  85. package/dist/{swapHorizontal-DyU1TH_e.js → swapHorizontal-COlgqyzt.js} +1 -1
  86. package/dist/{swapHorizontalBold-CGXW7Ocj.js → swapHorizontalBold-Odce2JOe.js} +1 -1
  87. package/dist/{swapHorizontalMedium-2KTcj67d.js → swapHorizontalMedium-B9nkEBPD.js} +1 -1
  88. package/dist/{swapHorizontalRoundedBold-TxFtmmda.js → swapHorizontalRoundedBold-DPMzz6nz.js} +1 -1
  89. package/dist/{swapVertical-BKD6lxM3.js → swapVertical-FqQP9GBP.js} +1 -1
  90. package/dist/{swaps-BuGsEQaI.js → swaps-BG9GOayX.js} +3 -3
  91. package/dist/{telegram-CAsl9DeG.js → telegram-BMY9Hs9Z.js} +1 -1
  92. package/dist/{three-dots-BoE2aHZi.js → three-dots-DDKmexHU.js} +1 -1
  93. package/dist/{transactions-C1NtsnD6.js → transactions-C_GII6kW.js} +1 -1
  94. package/dist/{twitch-CvkZZxgT.js → twitch-x_s0neNg.js} +1 -1
  95. package/dist/{twitterIcon-CrhnOl_O.js → twitterIcon-CKsSxEuJ.js} +1 -1
  96. package/dist/{ui-BJcuThPA.js → ui-CZH-vf5h.js} +2 -2
  97. package/dist/{user-BZRWUXG7.js → user-CZfvQDJ_.js} +1 -1
  98. package/dist/{verify-y9F4DcJ4.js → verify-Bnvbadnx.js} +1 -1
  99. package/dist/{verify-filled-X_8-BhMk.js → verify-filled-CnEopkW-.js} +1 -1
  100. package/dist/{w3m-modal-BX--v1Nc.js → w3m-modal-DkI2TPJW.js} +2 -2
  101. package/dist/{wallet-CIaVVkjQ.js → wallet-B3oN4n4q.js} +1 -1
  102. package/dist/{wallet-placeholder-Cq1ofde1.js → wallet-placeholder-CI0oiAcd.js} +1 -1
  103. package/dist/{walletconnect-CINzSCJ3.js → walletconnect-D4vMcjqO.js} +1 -1
  104. package/dist/{warning-circle-BvBNhMKH.js → warning-circle-DjI8aRBs.js} +1 -1
  105. package/dist/{x-xHY7JehW.js → x-BgRWY62H.js} +1 -1
  106. package/dist/{x-mark-DEmnBt6u.js → x-mark-Cdqd-Hm4.js} +1 -1
  107. package/package.json +6 -1
  108. package/.github/workflows/code-quality.yml +0 -43
  109. package/.github/workflows/publish.yml +0 -64
  110. package/eslint.config.mjs +0 -41
  111. package/index.html +0 -13
  112. package/public/font/ClashDisplay-Variable.ttf +0 -0
  113. package/public/font/ClashDisplay-Variable.woff +0 -0
  114. package/public/font/ClashDisplay-Variable.woff2 +0 -0
  115. package/public/vite.svg +0 -1
  116. package/src/App.css +0 -170
  117. package/src/apis/lspApi.js +0 -82
  118. package/src/apis/request.js +0 -59
  119. package/src/assets/arrow-right.svg +0 -3
  120. package/src/assets/astr.svg +0 -13
  121. package/src/assets/bridge-loading.png +0 -0
  122. package/src/assets/ln.png +0 -0
  123. package/src/assets/network/Arbitrum.png +0 -0
  124. package/src/assets/network/Polygon.png +0 -0
  125. package/src/assets/network/Solana.png +0 -0
  126. package/src/assets/network/base.png +0 -0
  127. package/src/assets/network/botanix.png +0 -0
  128. package/src/assets/network/bsc.svg +0 -13
  129. package/src/assets/network/eth.png +0 -0
  130. package/src/assets/network/lighting.png +0 -0
  131. package/src/assets/network/ligtning.svg +0 -22
  132. package/src/assets/network/solona.png +0 -0
  133. package/src/assets/pay.png +0 -0
  134. package/src/assets/powerby.svg +0 -14
  135. package/src/assets/react.svg +0 -1
  136. package/src/assets/success.svg +0 -3
  137. package/src/assets/tip.svg +0 -5
  138. package/src/assets/tokens/sol.png +0 -0
  139. package/src/assets/tokens/usdc.png +0 -0
  140. package/src/assets/tokens/usdt.png +0 -0
  141. package/src/comps/AstraImage.jsx +0 -37
  142. package/src/comps/AstraModal.jsx +0 -202
  143. package/src/comps/AstraModalLogo.jsx +0 -29
  144. package/src/comps/AstraNetwork.jsx +0 -261
  145. package/src/comps/CheckErc20Button.jsx +0 -28
  146. package/src/comps/CommonStyle.jsx +0 -4
  147. package/src/comps/ConnectButton.jsx +0 -19
  148. package/src/comps/EllipsisMiddle.jsx +0 -42
  149. package/src/comps/ResultModal.jsx +0 -312
  150. package/src/comps/ToLightning.jsx +0 -653
  151. package/src/comps/ToToken.jsx +0 -550
  152. package/src/constants/index.js +0 -21
  153. package/src/font/ClashDisplay-Variable.ttf +0 -0
  154. package/src/font/ClashDisplay-Variable.woff +0 -0
  155. package/src/font/ClashDisplay-Variable.woff2 +0 -0
  156. package/src/hooks/useContract.js +0 -179
  157. package/src/hooks/useGetMinAndMax.js +0 -48
  158. package/src/hooks/useLspApi.js +0 -70
  159. package/src/hooks/useParseInvoice.js +0 -95
  160. package/src/index.css +0 -69
  161. package/src/index.jsx +0 -161
  162. package/src/lib/bolt11.min.js +0 -1
  163. package/src/main.jsx +0 -75
  164. package/src/store/index.js +0 -25
  165. package/src/theme.js +0 -108
  166. package/src/utils/index.js +0 -267
  167. package/vite.config.js +0 -50
@@ -1,261 +0,0 @@
1
- import styled, { createGlobalStyle } from "styled-components";
2
- import { Select, Form, Flex, Spin, Space } from "antd";
3
- import {
4
- useAccount,
5
- useChains,
6
- useChainId,
7
- useSwitchChain,
8
- useDisconnect,
9
- } from "wagmi";
10
- import EllipsisMiddle from "./EllipsisMiddle";
11
- import AstraImg from "./AstraImage";
12
- import { useCallback, useMemo, useState } from "react";
13
- import { DisconnectOutlined } from "@ant-design/icons";
14
- import Decimal from "decimal.js";
15
- import { AvalibleBalance } from "./CommonStyle";
16
- import { numberWithCommas } from "../utils";
17
- const GlobalStyle = createGlobalStyle`
18
- .popup-astra-select-content {
19
- border-radius: 5px;
20
- box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1);
21
- width: 200px;
22
-
23
- .label-box {
24
- display: flex;
25
-
26
- align-items: center;
27
- justify-content: space-between;
28
- .label-flex{
29
- display: flex;
30
- gap: 3px;
31
- align-items: center;
32
- }
33
- .label-soon {
34
- border-radius: 10px;
35
- background: rgba(202, 255, 51, 0.1);
36
- color: #caff33;
37
- padding: 0px 10px 2px;
38
- font-size: 12px;
39
- font-weight: 400;
40
- display: flex;
41
- align-items: center;
42
- }
43
- }
44
- }
45
- `;
46
- const AstraSelect = styled(Select)`
47
- // width: 60px !important;
48
- .astra-select-selector {
49
- padding: 0 0px !important;
50
- .label-box {
51
- display: flex;
52
- align-items: center;
53
- .label-flex {
54
- display: flex;
55
- gap: 3px;
56
- align-items: center;
57
- }
58
- }
59
- }
60
- @media (max-width: 768px) {
61
- .astra-select-selector {
62
- padding: 0 0px !important;
63
- .label-box {
64
- display: flex;
65
- align-items: center;
66
- .label-flex {
67
- font-size: 13px;
68
- display: flex;
69
- gap: 3px;
70
- align-items: center;
71
- }
72
- }
73
- }
74
- }
75
- .astra-select-selection-item {
76
- display: flex !important;
77
- align-items: center;
78
- justify-content: center;
79
- }
80
- .astra-select-arrow {
81
- color: #fff;
82
- right: 3px;
83
- }
84
- @media (max-width: 768px) {
85
- .astra-select-arrow {
86
- color: #fff;
87
- right: 5px;
88
- font-size: 12px;
89
- }
90
- }
91
- `;
92
- const AstraAccount = styled.div`
93
- color: #fff;
94
- text-align: center;
95
- font-family: "ClashDisplay";
96
- font-size: 16px;
97
- font-style: normal;
98
- font-weight: 400;
99
- `;
100
- const BalanceFlex = styled(Flex)`
101
- .available_token_balance {
102
- font-size: 12px;
103
- color: #fff;
104
- }
105
- `;
106
-
107
- const StyledDisconnectOutlined = styled(DisconnectOutlined)`
108
- color: rgba(202, 255, 51, 1);
109
- cursor: pointer;
110
- &:hover {
111
- color: red;
112
- }
113
- `;
114
- const FormItemPair = styled(Form.Item)`
115
- padding: 8px 20px 8px 10px;
116
- border-radius: 12px;
117
- background: rgba(166, 166, 166, 0.1);
118
- border: 1px solid rgba(166, 166, 166, 1);
119
- margin-bottom: 10px;
120
- @media (max-width: 768px) {
121
- padding: 8px 10px 8px 5px;
122
- border-radius: 12px;
123
- background: rgba(166, 166, 166, 0.1);
124
- border: 1px solid rgba(166, 166, 166, 1);
125
- margin-bottom: 10px;
126
- }
127
- `;
128
- export default function AstraNetwork({ messageApi, balance }) {
129
- const account = useAccount();
130
- const chains = useChains();
131
- const chainId = useChainId();
132
- const { disconnect } = useDisconnect();
133
- const { switchChainAsync } = useSwitchChain();
134
- const [loading, setLoading] = useState(false);
135
- const onNetWorkChange = useCallback(
136
- async (value) => {
137
- try {
138
- setLoading(true);
139
- const ret = await switchChainAsync({
140
- chainId: value,
141
- });
142
- if (ret) {
143
- messageApi.success(
144
- "Switched to " + chains.find((chain) => chain.id === value).name
145
- );
146
- }
147
- } catch (e) {
148
- messageApi.error(e.message);
149
- } finally {
150
- setLoading(false);
151
- }
152
- },
153
- [switchChainAsync, messageApi, chains]
154
- );
155
-
156
- const memoBalance = useMemo(() => {
157
- if (!balance?.formatted) return 0;
158
- return numberWithCommas(new Decimal(balance?.formatted).toFixed(5, Decimal.ROUND_DOWN));
159
- }, [balance?.formatted]);
160
- const newworkOptions = useMemo(() => {
161
- const openChains = chains.map((chain) => ({
162
- label: (
163
- <div className="label-box">
164
- <div className="label-flex">
165
- <AstraImg name={chain.name} width="22px" />
166
- <div className="label-name">{chain.name}</div>
167
- </div>
168
- </div>
169
- ),
170
- value: chain.id,
171
- }));
172
- const soon = [
173
- {
174
- label: (
175
- <div className="label-box">
176
- <div className="label-flex">
177
- <AstraImg name="Arbitrum" width="22px" />
178
- <div className="label-name">Arbitrum</div>
179
- </div>
180
- <div className="label-soon">soon</div>
181
- </div>
182
- ),
183
- value: "Arbitrum",
184
- disabled: true,
185
- },
186
- {
187
- label: (
188
- <div className="label-box">
189
- <div className="label-flex">
190
- <AstraImg name="Solana" width="22px" />
191
- <div className="label-name">Solana</div>
192
- </div>
193
- <div className="label-soon">soon</div>
194
- </div>
195
- ),
196
- value: "Solana",
197
- disabled: true,
198
- },
199
- {
200
- label: (
201
- <div className="label-box">
202
- <div className="label-flex">
203
- <AstraImg name="Polygon" width="22px" />
204
- <div className="label-name">Polygon</div>
205
- </div>
206
- <div className="label-soon">soon</div>
207
- </div>
208
- ),
209
- value: "Polygon",
210
- disabled: true,
211
- },
212
- ];
213
- return openChains.concat(soon);
214
- }, [chains]);
215
- return (
216
- <>
217
- <GlobalStyle />
218
- <FormItemPair
219
- label={
220
- <AstraSelect
221
- variant="borderless"
222
- value={chainId}
223
- dropdownStyle={{
224
- width: "200px",
225
- }}
226
- popupClassName="popup-astra-select-content"
227
- options={newworkOptions}
228
- onChange={onNetWorkChange}
229
- />
230
- }
231
- >
232
- <Spin spinning={loading}>
233
- <Flex justify="end">
234
- <AstraAccount>
235
- {account?.address ? (
236
- <>
237
- <Space>
238
- <EllipsisMiddle suffixCount={6}>
239
- {account?.address}
240
- </EllipsisMiddle>
241
- <StyledDisconnectOutlined onClick={() => disconnect()} />
242
- </Space>
243
- </>
244
- ) : (
245
- "Connect Wallet"
246
- )}
247
- </AstraAccount>
248
- </Flex>
249
- <BalanceFlex justify="end">
250
- <span className="available_token_balance">
251
- Available:{" "}
252
- <AvalibleBalance>
253
- {memoBalance} {balance?.symbol}
254
- </AvalibleBalance>
255
- </span>
256
- </BalanceFlex>
257
- </Spin>
258
- </FormItemPair>
259
- </>
260
- );
261
- }
@@ -1,28 +0,0 @@
1
- // import React, { useCallback } from "react";
2
-
3
- import { useAppKitAccount } from "@reown/appkit/react";
4
-
5
- export default function CheckErc20ButtonWrap({ children }) {
6
- // const { open } = useAppKit();
7
- const { address } = useAppKitAccount();
8
- // const handleClick = useCallback(async () => {
9
- // if (!address) {
10
- // open({ view: "Connect" });
11
- // }
12
- // }, [address, open]);
13
-
14
- // const childWithNewOnClick = React.cloneElement(children, {
15
- // onClick: handleClick,
16
- // loading: isConnecting,
17
- // });
18
-
19
- return (
20
- <>
21
- {!address ? (
22
- <appkit-connect-button class="custom-connect-button" />
23
- ) : (
24
- children
25
- )}
26
- </>
27
- );
28
- }
@@ -1,4 +0,0 @@
1
- import styled from "styled-components";
2
- export const AvalibleBalance = styled.span`
3
- padding-left: 5px;
4
- `;
@@ -1,19 +0,0 @@
1
- import { Button } from "antd";
2
- import { useConnect } from "wagmi";
3
- import { injected } from '@wagmi/connectors'
4
- import styled from "styled-components";
5
- const AstraButton = styled(Button)`
6
- width: 100%;
7
- display: flex;
8
- justify-content: center;
9
- padding: 0 30px;
10
- font-size: 16px;
11
- line-height: 42px;
12
- background-color: #33ba91;
13
- `;
14
- export default function ConnectButton() {
15
-
16
- const { connect } = useConnect();
17
-
18
- return <AstraButton type="primary" onClick={() => connect({ connector: injected() })}>Connect Wallet</AstraButton>;
19
- }
@@ -1,42 +0,0 @@
1
- import { Typography } from "antd";
2
-
3
- // import { ReactComponent as CopySvg } from "img/svg/copy.svg";
4
- // const { Text } = Typography;
5
- const EllipsisMiddle = ({
6
- suffixCount = 6,
7
- children,
8
- copyable = true,
9
- suffixCountMore = 1,
10
- suffixEnable = true,
11
- handleClick,
12
- className,
13
- }) => {
14
- const strChildren = "" + children;
15
- const formatChildren =
16
- suffixEnable && strChildren?.length > suffixCount * 2 + suffixCountMore
17
- ? `${strChildren.substring(
18
- 0,
19
- suffixCount + suffixCountMore
20
- )}...${strChildren.substring(strChildren.length - suffixCount)}`
21
- : strChildren;
22
-
23
- return (
24
- <Typography.Text
25
- style={{
26
- maxWidth: "100%",
27
- }}
28
- className={className || ""}
29
- copyable={
30
- copyable
31
- ? {
32
- text: children,
33
- }
34
- : false
35
- }
36
- onClick={() => handleClick && handleClick()}
37
- >
38
- {formatChildren}
39
- </Typography.Text>
40
- );
41
- };
42
- export default EllipsisMiddle;
@@ -1,312 +0,0 @@
1
- import { Modal, Flex } from "antd";
2
- import { useCallback, useState } from "react";
3
- import styled from "styled-components";
4
- import { MODAL_DISPLAY_TYPE } from "../constants/index.js";
5
- import useStore from "../store/index.js";
6
- import { numberWithCommas } from "../utils";
7
- import dayjs from "dayjs";
8
- import AstraImg from "./AstraImage.jsx";
9
- import IconBridgeLoading from "../assets/bridge-loading.png";
10
- import IconSuccess from "../assets/success.svg";
11
- import AstraModalLogo from "./AstraModalLogo.jsx";
12
- const ModalWrapper = styled.div``;
13
- const BridgeDetail = styled.div`
14
- padding: 10px 20px;
15
- border-radius: 12px;
16
- background: rgba(166, 166, 166, 0.1);
17
- display: flex;
18
- flex-direction: column;
19
- gap: 10px;
20
- `;
21
- const BridgeDetailItem = styled(Flex)`
22
- .lightning {
23
- color: #caff33;
24
- }
25
- `;
26
- const BridgeDetailShow = styled(Flex)`
27
- padding-top: 30px;
28
- .lightning {
29
- color: #caff33;
30
- }
31
- .success_small {
32
- width: 20px;
33
- height: 20px;
34
- }
35
- .bridge_loading {
36
- flex: 1;
37
- width: 172px;
38
- height: 70px;
39
- }
40
- `;
41
- const ModalTitle = styled.div`
42
- .modal-title {
43
- width: 100%;
44
- text-align: left;
45
- }
46
- .astra-wrapper-account {
47
- display: flex;
48
- justify-content: flex-end;
49
- padding-right: 30px;
50
- flex: 1;
51
- }
52
- `;
53
- const StyledModal = styled(Modal)`
54
- * {
55
- font-family: "ClashDisplay";
56
- }
57
- .astra-modal-content {
58
- background: rgba(51, 51, 51, 0.2);
59
- border: 1px solid;
60
- border-image-source: linear-gradient(
61
- 147.76deg,
62
- #333333 0.7%,
63
- rgba(51, 51, 51, 0) 98.42%
64
- );
65
- backdrop-filter: blur(50px);
66
- padding: 20px 30px;
67
-
68
- .astra-modal-header {
69
- background: transparent;
70
-
71
- .modal-title {
72
- font-size: 20px;
73
- font-weight: 500;
74
- }
75
- }
76
- .colorcaff33 {
77
- color: #caff33;
78
- }
79
- .astra-col {
80
- font-family: "ClashDisplay";
81
- }
82
- .astra-typography {
83
- font-family: "ClashDisplay";
84
- }
85
- }
86
-
87
- @media (max-width: 768px) {
88
- font-size: 12px;
89
-
90
- .astra-modal-content {
91
- padding: 20px 10px;
92
- background: rgba(24, 30, 35, 1);
93
- .astra-modal-header .modal-title {
94
- font-size: 18px;
95
- }
96
- }
97
- }
98
-
99
- @media (max-width: 575px) {
100
- .astra-modal-content {
101
- padding: 15px 8px;
102
- background: rgba(24, 30, 35, 1);
103
- .astra-modal-header .modal-title {
104
- font-size: 16px;
105
- }
106
- }
107
- }
108
- `;
109
- export default function ResultModal({
110
- resultModalShow = false,
111
- requestData,
112
- setResultModalShow,
113
- setResultModalRequest,
114
- }) {
115
- const { modalDisplayType, targetNetwork, currentAssetPair } = useStore();
116
- const [submitLoading] = useState(false);
117
- const onCancel = useCallback(() => {
118
- setResultModalShow(false);
119
- setResultModalRequest(null);
120
- }, [setResultModalRequest, setResultModalShow]);
121
- // const handleRequest = useCallback(async () => {
122
- // try {
123
- // setSubmitLoading(true);
124
- // if (modalDisplayType === MODAL_DISPLAY_TYPE.TO_LIGHTNING) {
125
- // const retToLightning = await toLightning(requestData?.request);
126
- // if (retToLightning?.code == 200) {
127
- // messageApi.open({
128
- // type: "success",
129
- // content: "Deposit success",
130
- // });
131
- // }
132
- // } else {
133
- // // handle ethereum request
134
- // }
135
- // } catch (e) {
136
- // messageApi.open({
137
- // type: "error",
138
- // content: e.message,
139
- // });
140
- // } finally {
141
- // setSubmitLoading(false);
142
- // }
143
- // }, [messageApi, modalDisplayType, requestData?.request]);
144
-
145
- // useEffect(() => {
146
- // if (resultModalShow && requestData) {
147
- // handleRequest();
148
- // }
149
- // }, [handleRequest, requestData, resultModalShow]);
150
-
151
- return (
152
- <>
153
- <StyledModal
154
- title={
155
- <ModalTitle>
156
- <Flex align="center">
157
- <span className="modal-title">
158
- {modalDisplayType === MODAL_DISPLAY_TYPE.TO_LIGHTNING
159
- ? `${targetNetwork?.name} to Lightning`
160
- : `Lightning to ${targetNetwork?.name}`}
161
- </span>
162
- </Flex>
163
- </ModalTitle>
164
- }
165
- width={"500px"}
166
- footer={null}
167
- open={resultModalShow}
168
- onCancel={onCancel}
169
- maskClosable={false}
170
- mask={false}
171
- zIndex={998}
172
- >
173
- <ModalWrapper>
174
- {modalDisplayType === MODAL_DISPLAY_TYPE.TO_LIGHTNING && (
175
- <>
176
- <BridgeDetail>
177
- <BridgeDetailItem justify="space-between" align="center">
178
- <div>Timestamp</div>
179
- <div className="lightning">
180
- {requestData?.timestamp
181
- ? dayjs(requestData.timestamp).format(
182
- "YYYY-MM-DD HH:mm:ss"
183
- )
184
- : "--"}
185
- </div>
186
- </BridgeDetailItem>
187
- <BridgeDetailItem justify="space-between" align="center">
188
- <div>Value</div>
189
- <div className="lightning">
190
- {numberWithCommas(requestData?.formatTokenAmt)}
191
- <span style={{ paddingLeft: "5px" }}>
192
- {currentAssetPair?.asset?.name}
193
- </span>
194
- </div>
195
- </BridgeDetailItem>
196
- </BridgeDetail>
197
- <BridgeDetailShow align="center" justify="center">
198
- <Flex vertical={true} justify="center" align="center" gap="5px">
199
- <AstraImg
200
- name={targetNetwork?.name}
201
- width="40px"
202
- height="40px"
203
- />
204
- <span>{targetNetwork?.name}</span>
205
- <a
206
- href={`${targetNetwork?.blockExplorers?.default.url}/tx/${requestData?.txHash}`}
207
- target="_blank"
208
- rel="noreferrer"
209
- >
210
- View on explorer
211
- </a>
212
- </Flex>
213
- <Flex
214
- justify="center"
215
- align="center"
216
- style={{ width: "170px" }}
217
- >
218
- {submitLoading ? (
219
- <img
220
- className="bridge_loading"
221
- src={IconBridgeLoading}
222
- alt="loading"
223
- />
224
- ) : (
225
- <img className="success" src={IconSuccess} alt="success" />
226
- )}
227
- </Flex>
228
- <Flex vertical={true} justify="center" align="center" gap="5px">
229
- <AstraImg name="Lightning" width="40px" height="40px" />
230
- <span className="lightning">Lightning</span>
231
- <img
232
- className="success_small"
233
- src={IconSuccess}
234
- alt="success"
235
- />
236
- </Flex>
237
- </BridgeDetailShow>
238
- </>
239
- )}
240
- {modalDisplayType === MODAL_DISPLAY_TYPE.TO_EVM && (
241
- <>
242
- <BridgeDetail>
243
- <BridgeDetailItem justify="space-between" align="center">
244
- <div>Timestamp</div>
245
- <div className="lightning">
246
- {requestData?.timestamp
247
- ? dayjs(requestData.timestamp).format(
248
- "YYYY-MM-DD HH:mm:ss"
249
- )
250
- : "--"}
251
- </div>
252
- </BridgeDetailItem>
253
- <BridgeDetailItem justify="space-between" align="center">
254
- <div>Value</div>
255
- <div className="lightning">
256
- {numberWithCommas(10000)}
257
- <span style={{ paddingLeft: "5px" }}>
258
- {currentAssetPair?.asset?.name}
259
- </span>
260
- </div>
261
- </BridgeDetailItem>
262
- </BridgeDetail>
263
- <BridgeDetailShow align="center" justify="center">
264
- <Flex vertical={true} justify="center" align="center" gap="5px">
265
- <AstraImg name="Lightning" width="40px" height="40px" />
266
- <span className="lightning">Lightning</span>
267
- <img
268
- className="success_small"
269
- src={IconSuccess}
270
- alt="success"
271
- />
272
- </Flex>
273
-
274
- <Flex
275
- justify="center"
276
- align="center"
277
- style={{ width: "170px" }}
278
- >
279
- {submitLoading ? (
280
- <img
281
- className="bridge_loading"
282
- src={IconBridgeLoading}
283
- alt="loading"
284
- />
285
- ) : (
286
- <img className="success" src={IconSuccess} alt="success" />
287
- )}
288
- </Flex>
289
- <Flex vertical={true} justify="center" align="center" gap="5px">
290
- <AstraImg
291
- name={targetNetwork?.name}
292
- width="40px"
293
- height="40px"
294
- />
295
- <span>{targetNetwork?.name}</span>
296
- <a
297
- href={`${targetNetwork?.blockExplorers?.default.url}/tx/${requestData?.txHash}`}
298
- target="_blank"
299
- rel="noreferrer"
300
- >
301
- View on explorer
302
- </a>
303
- </Flex>
304
- </BridgeDetailShow>
305
- </>
306
- )}
307
- <AstraModalLogo />
308
- </ModalWrapper>
309
- </StyledModal>
310
- </>
311
- );
312
- }