@n1xyz/wallet-widget 0.0.14 → 0.0.16

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 (153) hide show
  1. package/dist/Modal/LoadingFallback.js +1 -1
  2. package/dist/Modal/LoadingFallback.js.map +1 -1
  3. package/dist/Modal/N1WalletModal.d.ts +1 -0
  4. package/dist/Modal/N1WalletModal.js +7 -5
  5. package/dist/Modal/N1WalletModal.js.map +1 -1
  6. package/dist/Modal/NTSFlow/LoadingFallback.js +1 -1
  7. package/dist/Modal/NTSFlow/LoadingFallback.js.map +1 -1
  8. package/dist/Modal/NTSFlow/components/BackButton.js +1 -1
  9. package/dist/Modal/NTSFlow/components/BackButton.js.map +1 -1
  10. package/dist/Modal/NTSFlow/components/ModalHeader.js +1 -1
  11. package/dist/Modal/NTSFlow/components/ModalHeader.js.map +1 -1
  12. package/dist/Modal/NTSFlow/views/ConnectView.js +2 -2
  13. package/dist/Modal/NTSFlow/views/ConnectView.js.map +1 -1
  14. package/dist/Modal/NTSFlow/views/CreateSessionView.js +5 -5
  15. package/dist/Modal/NTSFlow/views/CreateSessionView.js.map +1 -1
  16. package/dist/Modal/NTSFlow/views/CreateUserView.js +1 -1
  17. package/dist/Modal/NTSFlow/views/CreateUserView.js.map +1 -1
  18. package/dist/Modal/NTSFlow/views/NoWhitelistView.js +3 -3
  19. package/dist/Modal/NTSFlow/views/NoWhitelistView.js.map +1 -1
  20. package/dist/Modal/NTSFlow/views/SigningView.js +1 -1
  21. package/dist/Modal/NTSFlow/views/SigningView.js.map +1 -1
  22. package/dist/Modal/NordFlow/NordFlow.js +2 -2
  23. package/dist/Modal/NordFlow/NordFlow.js.map +1 -1
  24. package/dist/Modal/NordFlow/components/ChainButton.js +5 -5
  25. package/dist/Modal/NordFlow/components/ChainButton.js.map +1 -1
  26. package/dist/Modal/NordFlow/components/EVMChainsButton.js +4 -4
  27. package/dist/Modal/NordFlow/components/EVMChainsButton.js.map +1 -1
  28. package/dist/Modal/NordFlow/components/Header.js +1 -1
  29. package/dist/Modal/NordFlow/components/Header.js.map +1 -1
  30. package/dist/Modal/NordFlow/components/ImageWithFallback.js +1 -1
  31. package/dist/Modal/NordFlow/components/ImageWithFallback.js.map +1 -1
  32. package/dist/Modal/NordFlow/components/LoadingSquares.js +1 -1
  33. package/dist/Modal/NordFlow/components/LoadingSquares.js.map +1 -1
  34. package/dist/Modal/NordFlow/components/MoreButton.js +4 -4
  35. package/dist/Modal/NordFlow/components/MoreButton.js.map +1 -1
  36. package/dist/Modal/NordFlow/components/TransactionTable.js +6 -6
  37. package/dist/Modal/NordFlow/components/TransactionTable.js.map +1 -1
  38. package/dist/Modal/NordFlow/components/WaitingMessage.js +1 -1
  39. package/dist/Modal/NordFlow/components/WaitingMessage.js.map +1 -1
  40. package/dist/Modal/NordFlow/screens/00-IdleScreen.js +1 -1
  41. package/dist/Modal/NordFlow/screens/00-IdleScreen.js.map +1 -1
  42. package/dist/Modal/NordFlow/screens/01-ConnectWalletScreen.js +3 -3
  43. package/dist/Modal/NordFlow/screens/01-ConnectWalletScreen.js.map +1 -1
  44. package/dist/Modal/NordFlow/screens/02-EvmWalletAuthScreen.js +4 -4
  45. package/dist/Modal/NordFlow/screens/02-EvmWalletAuthScreen.js.map +1 -1
  46. package/dist/Modal/NordFlow/screens/03-ChainSelectionScreen.js +2 -2
  47. package/dist/Modal/NordFlow/screens/03-ChainSelectionScreen.js.map +1 -1
  48. package/dist/Modal/NordFlow/screens/04-AmountInputScreen.js +4 -4
  49. package/dist/Modal/NordFlow/screens/04-AmountInputScreen.js.map +1 -1
  50. package/dist/Modal/NordFlow/screens/05-DepositProgressScreen.js +1 -1
  51. package/dist/Modal/NordFlow/screens/05-DepositProgressScreen.js.map +1 -1
  52. package/dist/Modal/NordFlow/screens/06-DepositSuccessScreen.js +4 -4
  53. package/dist/Modal/NordFlow/screens/06-DepositSuccessScreen.js.map +1 -1
  54. package/dist/Modal/NordFlow/screens/07-AuthLoadingScreen.js +3 -3
  55. package/dist/Modal/NordFlow/screens/07-AuthLoadingScreen.js.map +1 -1
  56. package/dist/Modal/NordFlow/screens/08-FinalSuccessScreen.d.ts +1 -1
  57. package/dist/Modal/NordFlow/screens/08-FinalSuccessScreen.js +16 -14
  58. package/dist/Modal/NordFlow/screens/08-FinalSuccessScreen.js.map +1 -1
  59. package/dist/Modal/NordFlow/screens/09-ErrorScreen.js +2 -2
  60. package/dist/Modal/NordFlow/screens/09-ErrorScreen.js.map +1 -1
  61. package/dist/Modal/Sidebar/N1Sidebar.js +10 -10
  62. package/dist/Modal/Sidebar/N1Sidebar.js.map +1 -1
  63. package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketSelector.js +5 -5
  64. package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketSelector.js.map +1 -1
  65. package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketStats.js +3 -3
  66. package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketStats.js.map +1 -1
  67. package/dist/Modal/Sidebar/NordTradingView/NordTradingView.js +2 -2
  68. package/dist/Modal/Sidebar/NordTradingView/NordTradingView.js.map +1 -1
  69. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBook.js +2 -2
  70. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBook.js.map +1 -1
  71. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookDepthVisualizer.js +1 -1
  72. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookDepthVisualizer.js.map +1 -1
  73. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookHeader.js +4 -4
  74. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookHeader.js.map +1 -1
  75. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookTable.js +6 -6
  76. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookTable.js.map +1 -1
  77. package/dist/Modal/Sidebar/NordTradingView/TradeForm/AmountInput.js +1 -1
  78. package/dist/Modal/Sidebar/NordTradingView/TradeForm/AmountInput.js.map +1 -1
  79. package/dist/Modal/Sidebar/NordTradingView/TradeForm/BuySellTabs.js +3 -3
  80. package/dist/Modal/Sidebar/NordTradingView/TradeForm/BuySellTabs.js.map +1 -1
  81. package/dist/Modal/Sidebar/NordTradingView/TradeForm/FillModeSelector.js +7 -7
  82. package/dist/Modal/Sidebar/NordTradingView/TradeForm/FillModeSelector.js.map +1 -1
  83. package/dist/Modal/Sidebar/NordTradingView/TradeForm/OrderTypeSelector.js +13 -13
  84. package/dist/Modal/Sidebar/NordTradingView/TradeForm/OrderTypeSelector.js.map +1 -1
  85. package/dist/Modal/Sidebar/NordTradingView/TradeForm/PriceInput.js +1 -1
  86. package/dist/Modal/Sidebar/NordTradingView/TradeForm/PriceInput.js.map +1 -1
  87. package/dist/Modal/Sidebar/NordTradingView/TradeForm/SubmitButton.js +2 -2
  88. package/dist/Modal/Sidebar/NordTradingView/TradeForm/SubmitButton.js.map +1 -1
  89. package/dist/Modal/Sidebar/NordTradingView/TradeForm/TotalCalculator.js +1 -1
  90. package/dist/Modal/Sidebar/NordTradingView/TradeForm/TotalCalculator.js.map +1 -1
  91. package/dist/Modal/Sidebar/NordTradingView/TradeForm/TradeForm.js +5 -5
  92. package/dist/Modal/Sidebar/NordTradingView/TradeForm/TradeForm.js.map +1 -1
  93. package/dist/Modal/Sidebar/NordTradingView/UserBalances/UserBalances.js +1 -1
  94. package/dist/Modal/Sidebar/NordTradingView/UserBalances/UserBalances.js.map +1 -1
  95. package/dist/Modal/Sidebar/NordTradingView/UserOrders/UserOrders.js +5 -5
  96. package/dist/Modal/Sidebar/NordTradingView/UserOrders/UserOrders.js.map +1 -1
  97. package/dist/Modal/Sidebar/NordTradingView/UserPositions/UserPositions.js +4 -4
  98. package/dist/Modal/Sidebar/NordTradingView/UserPositions/UserPositions.js.map +1 -1
  99. package/dist/Provider/N1WalletProvider.d.ts +1 -1
  100. package/dist/Provider/N1WalletProvider.js +65 -37
  101. package/dist/Provider/N1WalletProvider.js.map +1 -1
  102. package/dist/Provider/types.d.ts +13 -0
  103. package/dist/Provider/types.js.map +1 -1
  104. package/dist/WidgetButton/N1ConnectButton.js +1 -1
  105. package/dist/WidgetButton/N1ConnectButton.js.map +1 -1
  106. package/dist/components/Logo.js.map +1 -1
  107. package/dist/components/QRCodeLoader.js +1 -1
  108. package/dist/components/QRCodeLoader.js.map +1 -1
  109. package/dist/components/logos/EVMChainsGroup.js +1 -1
  110. package/dist/components/logos/EVMChainsGroup.js.map +1 -1
  111. package/dist/components/logos/MoreChainsGroup.js +1 -1
  112. package/dist/components/logos/MoreChainsGroup.js.map +1 -1
  113. package/dist/embedded-main-css.d.ts +2 -0
  114. package/dist/embedded-main-css.js +3 -0
  115. package/dist/embedded-main-css.js.map +1 -0
  116. package/dist/index.d.ts +0 -1
  117. package/dist/index.js +0 -1
  118. package/dist/index.js.map +1 -1
  119. package/dist/main.css +2 -1
  120. package/package.json +8 -5
  121. package/dist/Modal/NordFlow/context/deposit/types.d.ts +0 -26
  122. package/dist/Modal/NordFlow/context/deposit/types.js +0 -2
  123. package/dist/Modal/NordFlow/context/deposit/types.js.map +0 -1
  124. package/dist/Modal/NordFlow/context/deposit/useDepositAuth.d.ts +0 -7
  125. package/dist/Modal/NordFlow/context/deposit/useDepositAuth.js +0 -113
  126. package/dist/Modal/NordFlow/context/deposit/useDepositAuth.js.map +0 -1
  127. package/dist/Modal/NordFlow/context/deposit/useDepositTransaction.d.ts +0 -20
  128. package/dist/Modal/NordFlow/context/deposit/useDepositTransaction.js +0 -235
  129. package/dist/Modal/NordFlow/context/deposit/useDepositTransaction.js.map +0 -1
  130. package/dist/Modal/NordFlow/hooks/index.d.ts +0 -3
  131. package/dist/Modal/NordFlow/hooks/index.js +0 -4
  132. package/dist/Modal/NordFlow/hooks/index.js.map +0 -1
  133. package/dist/Modal/NordFlow/hooks/useDepositFlow.d.ts +0 -52
  134. package/dist/Modal/NordFlow/hooks/useDepositFlow.js +0 -385
  135. package/dist/Modal/NordFlow/hooks/useDepositFlow.js.map +0 -1
  136. package/dist/Modal/NordFlow/hooks/useFlowState.d.ts +0 -32
  137. package/dist/Modal/NordFlow/hooks/useFlowState.js +0 -189
  138. package/dist/Modal/NordFlow/hooks/useFlowState.js.map +0 -1
  139. package/dist/Modal/NordFlow/hooks/useInterruptHandler.d.ts +0 -24
  140. package/dist/Modal/NordFlow/hooks/useInterruptHandler.js +0 -59
  141. package/dist/Modal/NordFlow/hooks/useInterruptHandler.js.map +0 -1
  142. package/dist/Modal/NordFlow/hooks/useNordInstance.d.ts +0 -0
  143. package/dist/Modal/NordFlow/hooks/useNordInstance.js +0 -3
  144. package/dist/Modal/NordFlow/hooks/useNordInstance.js.map +0 -1
  145. package/dist/Modal/NordFlow/hooks/useNordWalletConnect.d.ts +0 -13
  146. package/dist/Modal/NordFlow/hooks/useNordWalletConnect.js +0 -259
  147. package/dist/Modal/NordFlow/hooks/useNordWalletConnect.js.map +0 -1
  148. package/dist/Modal/NordFlow/utils/persistence.d.ts +0 -24
  149. package/dist/Modal/NordFlow/utils/persistence.js +0 -84
  150. package/dist/Modal/NordFlow/utils/persistence.js.map +0 -1
  151. package/dist/Provider/useN1WalletProvider.d.ts +0 -37
  152. package/dist/Provider/useN1WalletProvider.js +0 -398
  153. package/dist/Provider/useN1WalletProvider.js.map +0 -1
@@ -12,7 +12,7 @@ import { FlowState } from '../types';
12
12
  // Custom N1Logo wrapper that responds to the group hover state
13
13
  var N1Logo = function (_a) {
14
14
  var _b = _a.size, size = _b === void 0 ? 38 : _b;
15
- return (_jsx("div", { className: "text-n1-gray-800 dark:text-white group-hover:text-red-500 dark:group-hover:text-red-500 transition-colors duration-200", children: _jsx(Logo, { size: size }) }));
15
+ return (_jsx("div", { className: "text-n1-ww-gray-800 dark:text-white group-hover:text-red-500 dark:group-hover:text-red-500 transition-colors duration-200", children: _jsx(Logo, { size: size }) }));
16
16
  };
17
17
  export function ChainSelectionScreen() {
18
18
  var transition = useFlowStateContext().transition;
@@ -61,6 +61,6 @@ export function ChainSelectionScreen() {
61
61
  disabled: true,
62
62
  },
63
63
  ];
64
- return (_jsxs("div", { className: "overflow-hidden relative", children: [_jsx("h2", { className: "text-xl text-n1-gray-800 dark:text-white font-semibold mb-6 text-center", children: "Select Origin Network" }), isLoading ? (_jsx("div", { className: "flex justify-center items-center py-8", children: _jsx("div", { className: "n1-animate-spin rounded-full h-8 w-8 border-b-2 border-n1-main" }) })) : (_jsxs("div", { className: "space-y-8", children: [_jsxs("div", { className: "grid grid-cols-2 gap-4", children: [_jsx(ChainButton, { chain: chainsWithNetworkInfo[0], onClick: function () { return handleChainSelect(chainsWithNetworkInfo[0].id); }, disabled: chainsWithNetworkInfo[0].disabled }, chainsWithNetworkInfo[0].id), _jsx(ChainButton, { chain: chainsWithNetworkInfo[1], onClick: function () { return handleChainSelect(chainsWithNetworkInfo[1].id); }, disabled: chainsWithNetworkInfo[1].disabled }, chainsWithNetworkInfo[1].id)] }), _jsxs("div", { className: "grid grid-cols-2 gap-4", children: [_jsx(EVMChainsButton, { chain: chainsWithNetworkInfo[2], onClick: function () { return handleChainSelect(chainsWithNetworkInfo[2].id); }, disabled: chainsWithNetworkInfo[2].disabled }, chainsWithNetworkInfo[2].id), _jsx(MoreButton, { chain: chainsWithNetworkInfo[3], onClick: function () { return handleChainSelect(chainsWithNetworkInfo[3].id); }, disabled: chainsWithNetworkInfo[3].disabled }, chainsWithNetworkInfo[3].id)] })] }))] }));
64
+ return (_jsxs("div", { className: "overflow-hidden relative", children: [_jsx("h2", { className: "text-xl text-n1-ww-gray-800 dark:text-white font-semibold mb-6 text-center", children: "Select Origin Network" }), isLoading ? (_jsx("div", { className: "flex justify-center items-center py-8", children: _jsx("div", { className: "n1-ww-animate-spin rounded-full h-8 w-8 border-b-2 border-n1-ww-main" }) })) : (_jsxs("div", { className: "space-y-8", children: [_jsxs("div", { className: "grid grid-cols-2 gap-4", children: [_jsx(ChainButton, { chain: chainsWithNetworkInfo[0], onClick: function () { return handleChainSelect(chainsWithNetworkInfo[0].id); }, disabled: chainsWithNetworkInfo[0].disabled }, chainsWithNetworkInfo[0].id), _jsx(ChainButton, { chain: chainsWithNetworkInfo[1], onClick: function () { return handleChainSelect(chainsWithNetworkInfo[1].id); }, disabled: chainsWithNetworkInfo[1].disabled }, chainsWithNetworkInfo[1].id)] }), _jsxs("div", { className: "grid grid-cols-2 gap-4", children: [_jsx(EVMChainsButton, { chain: chainsWithNetworkInfo[2], onClick: function () { return handleChainSelect(chainsWithNetworkInfo[2].id); }, disabled: chainsWithNetworkInfo[2].disabled }, chainsWithNetworkInfo[2].id), _jsx(MoreButton, { chain: chainsWithNetworkInfo[3], onClick: function () { return handleChainSelect(chainsWithNetworkInfo[3].id); }, disabled: chainsWithNetworkInfo[3].disabled }, chainsWithNetworkInfo[3].id)] })] }))] }));
65
65
  }
66
66
  //# sourceMappingURL=03-ChainSelectionScreen.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"03-ChainSelectionScreen.js","sourceRoot":"","sources":["../../../../src/Modal/NordFlow/screens/03-ChainSelectionScreen.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useState } from 'react';\nimport Logo from '../../../components/Logo';\nimport { SolanaLogo } from '../../../components/logos';\nimport { SolanaNetwork } from '../../../config/solana';\nimport { logger } from '../../../utils/logger';\nimport { ChainButton } from '../components/ChainButton';\nimport { EVMChainsButton } from '../components/EVMChainsButton';\nimport { MoreButton } from '../components/MoreButton';\nimport { useFlowStateContext } from '../context/FlowContext';\nimport { FlowState } from '../types';\n\n// Custom N1Logo wrapper that responds to the group hover state\nconst N1Logo = ({ size = 38 }) => (\n <div className=\"text-n1-gray-800 dark:text-white group-hover:text-red-500 dark:group-hover:text-red-500 transition-colors duration-200\">\n <Logo size={size} />\n </div>\n);\n\nexport function ChainSelectionScreen() {\n const { transition } = useFlowStateContext();\n const [isLoading, setIsLoading] = useState(false);\n\n // Only allow devnet, gray out other chains\n const handleChainSelect = (chainId: string) => {\n logger.debug('Chain selected in ChainSelectionScreen:', chainId);\n\n // Only allow devnet to be selected\n if (chainId === 'devnet') {\n setIsLoading(true);\n transition(FlowState.AMOUNT_INPUT, { selectedChain: chainId });\n } else {\n logger.debug('Chain not allowed:', chainId);\n // Could show a toast or message here\n }\n };\n\n // Define the 4 options as requested\n const chainsWithNetworkInfo = [\n {\n id: 'devnet',\n name: 'Devnet',\n logo: (\n <div\n className=\"flex items-center justify-center\"\n style={{ width: 48, height: 48 }}\n >\n <N1Logo />\n </div>\n ),\n network: SolanaNetwork.DEVNET,\n disabled: false, // Only devnet is clickable\n },\n {\n id: 'solana',\n name: 'Solana',\n logo: (\n <div\n className=\"flex items-center justify-center\"\n style={{ width: 48, height: 48 }}\n >\n <SolanaLogo width={36} height={36} />\n </div>\n ),\n network: SolanaNetwork.MAINNET,\n disabled: true,\n },\n {\n id: 'evm-chains',\n name: 'EVM Chains',\n logo: '', // Not needed as we're using EVMChainsButton\n network: '', // Empty string instead of null\n disabled: true,\n },\n {\n id: 'more',\n name: 'More',\n logo: '', // Not needed as we're using MoreButton\n network: '', // Empty string instead of null\n disabled: true,\n },\n ];\n\n return (\n <div className=\"overflow-hidden relative\">\n <h2 className=\"text-xl text-n1-gray-800 dark:text-white font-semibold mb-6 text-center\">\n Select Origin Network\n </h2>\n\n {isLoading ? (\n <div className=\"flex justify-center items-center py-8\">\n <div className=\"n1-animate-spin rounded-full h-8 w-8 border-b-2 border-n1-main\"></div>\n </div>\n ) : (\n <div className=\"space-y-8\">\n {/* First row: Devnet, Solana */}\n <div className=\"grid grid-cols-2 gap-4\">\n <ChainButton\n key={chainsWithNetworkInfo[0].id}\n chain={chainsWithNetworkInfo[0]}\n onClick={() => handleChainSelect(chainsWithNetworkInfo[0].id)}\n disabled={chainsWithNetworkInfo[0].disabled}\n />\n <ChainButton\n key={chainsWithNetworkInfo[1].id}\n chain={chainsWithNetworkInfo[1]}\n onClick={() => handleChainSelect(chainsWithNetworkInfo[1].id)}\n disabled={chainsWithNetworkInfo[1].disabled}\n />\n </div>\n\n {/* Second row: EVM Chains, More */}\n <div className=\"grid grid-cols-2 gap-4\">\n <EVMChainsButton\n key={chainsWithNetworkInfo[2].id}\n chain={chainsWithNetworkInfo[2]}\n onClick={() => handleChainSelect(chainsWithNetworkInfo[2].id)}\n disabled={chainsWithNetworkInfo[2].disabled}\n />\n <MoreButton\n key={chainsWithNetworkInfo[3].id}\n chain={chainsWithNetworkInfo[3]}\n onClick={() => handleChainSelect(chainsWithNetworkInfo[3].id)}\n disabled={chainsWithNetworkInfo[3].disabled}\n />\n </div>\n </div>\n )}\n </div>\n );\n}\n"]}
1
+ {"version":3,"file":"03-ChainSelectionScreen.js","sourceRoot":"","sources":["../../../../src/Modal/NordFlow/screens/03-ChainSelectionScreen.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useState } from 'react';\nimport Logo from '../../../components/Logo';\nimport { SolanaLogo } from '../../../components/logos';\nimport { SolanaNetwork } from '../../../config/solana';\nimport { logger } from '../../../utils/logger';\nimport { ChainButton } from '../components/ChainButton';\nimport { EVMChainsButton } from '../components/EVMChainsButton';\nimport { MoreButton } from '../components/MoreButton';\nimport { useFlowStateContext } from '../context/FlowContext';\nimport { FlowState } from '../types';\n\n// Custom N1Logo wrapper that responds to the group hover state\nconst N1Logo = ({ size = 38 }) => (\n <div className=\"text-n1-ww-gray-800 dark:text-white group-hover:text-red-500 dark:group-hover:text-red-500 transition-colors duration-200\">\n <Logo size={size} />\n </div>\n);\n\nexport function ChainSelectionScreen() {\n const { transition } = useFlowStateContext();\n const [isLoading, setIsLoading] = useState(false);\n\n // Only allow devnet, gray out other chains\n const handleChainSelect = (chainId: string) => {\n logger.debug('Chain selected in ChainSelectionScreen:', chainId);\n\n // Only allow devnet to be selected\n if (chainId === 'devnet') {\n setIsLoading(true);\n transition(FlowState.AMOUNT_INPUT, { selectedChain: chainId });\n } else {\n logger.debug('Chain not allowed:', chainId);\n // Could show a toast or message here\n }\n };\n\n // Define the 4 options as requested\n const chainsWithNetworkInfo = [\n {\n id: 'devnet',\n name: 'Devnet',\n logo: (\n <div\n className=\"flex items-center justify-center\"\n style={{ width: 48, height: 48 }}\n >\n <N1Logo />\n </div>\n ),\n network: SolanaNetwork.DEVNET,\n disabled: false, // Only devnet is clickable\n },\n {\n id: 'solana',\n name: 'Solana',\n logo: (\n <div\n className=\"flex items-center justify-center\"\n style={{ width: 48, height: 48 }}\n >\n <SolanaLogo width={36} height={36} />\n </div>\n ),\n network: SolanaNetwork.MAINNET,\n disabled: true,\n },\n {\n id: 'evm-chains',\n name: 'EVM Chains',\n logo: '', // Not needed as we're using EVMChainsButton\n network: '', // Empty string instead of null\n disabled: true,\n },\n {\n id: 'more',\n name: 'More',\n logo: '', // Not needed as we're using MoreButton\n network: '', // Empty string instead of null\n disabled: true,\n },\n ];\n\n return (\n <div className=\"overflow-hidden relative\">\n <h2 className=\"text-xl text-n1-ww-gray-800 dark:text-white font-semibold mb-6 text-center\">\n Select Origin Network\n </h2>\n\n {isLoading ? (\n <div className=\"flex justify-center items-center py-8\">\n <div className=\"n1-ww-animate-spin rounded-full h-8 w-8 border-b-2 border-n1-ww-main\"></div>\n </div>\n ) : (\n <div className=\"space-y-8\">\n {/* First row: Devnet, Solana */}\n <div className=\"grid grid-cols-2 gap-4\">\n <ChainButton\n key={chainsWithNetworkInfo[0].id}\n chain={chainsWithNetworkInfo[0]}\n onClick={() => handleChainSelect(chainsWithNetworkInfo[0].id)}\n disabled={chainsWithNetworkInfo[0].disabled}\n />\n <ChainButton\n key={chainsWithNetworkInfo[1].id}\n chain={chainsWithNetworkInfo[1]}\n onClick={() => handleChainSelect(chainsWithNetworkInfo[1].id)}\n disabled={chainsWithNetworkInfo[1].disabled}\n />\n </div>\n\n {/* Second row: EVM Chains, More */}\n <div className=\"grid grid-cols-2 gap-4\">\n <EVMChainsButton\n key={chainsWithNetworkInfo[2].id}\n chain={chainsWithNetworkInfo[2]}\n onClick={() => handleChainSelect(chainsWithNetworkInfo[2].id)}\n disabled={chainsWithNetworkInfo[2].disabled}\n />\n <MoreButton\n key={chainsWithNetworkInfo[3].id}\n chain={chainsWithNetworkInfo[3]}\n onClick={() => handleChainSelect(chainsWithNetworkInfo[3].id)}\n disabled={chainsWithNetworkInfo[3].disabled}\n />\n </div>\n </div>\n )}\n </div>\n );\n}\n"]}
@@ -186,13 +186,13 @@ export function AmountInputScreen() {
186
186
  }, [balance, hardcodedMinDeposit]);
187
187
  // Format the balance with the appropriate number of decimal places
188
188
  var formattedBalance = formatAmount(balance, tokenDecimals);
189
- return (_jsxs("div", { className: "overflow-hidden relative", children: [showFaucetOverlay && (_jsx("div", { className: "absolute inset-0 z-10 bg-white/70 dark:bg-neutral-900/80 backdrop-blur-md flex flex-col items-center justify-center p-6", children: isFaucetLoading ? (_jsxs(_Fragment, { children: [_jsx(LoadingSquares, {}), _jsxs("div", { className: "space-y-2 text-center mt-4", children: [_jsx("h3", { className: "text-xl text-n1-gray-800 dark:text-white font-semibold", children: "Obtaining Testnet Tokens" }), _jsx("p", { className: "text-sm text-n1-gray-500 dark:text-neutral-400", children: "Please wait while we request testnet tokens for your wallet..." })] })] })) : showFaucetSuccess ? (_jsxs(_Fragment, { children: [_jsx("div", { className: "text-green-500 text-5xl mb-4 n1-animate-fade-up", children: "\u2713" }), _jsxs("div", { className: "space-y-2 text-center", children: [_jsx("h3", { className: "text-xl text-n1-gray-800 dark:text-white font-semibold", children: "Tokens Obtained Successfully" }), _jsx("p", { className: "text-sm text-green-500 dark:text-green-400", children: "Your wallet has been funded with testnet tokens." }), _jsx("p", { className: "text-sm text-n1-gray-500 dark:text-neutral-400 mt-2", children: "Please wait while your balance updates..." })] })] })) : faucetError ? (_jsxs(_Fragment, { children: [_jsx("div", { className: "text-red-500 text-5xl mb-4 n1-animate-fade-up", children: "\u26A0\uFE0F" }), _jsxs("div", { className: "space-y-2 text-center", children: [_jsx("h3", { className: "text-xl text-n1-gray-800 dark:text-white font-semibold", children: "Failed to Get Tokens" }), _jsx("p", { className: "text-sm text-red-500 dark:text-red-400", children: faucetError }), _jsx("button", { onClick: requestTestnetTokens, className: "mt-4 px-4 py-2 bg-n1-main text-white rounded-sm hover:bg-n1-main/90 transition-colors", children: "Try Again" })] })] })) : null })), _jsx("h2", { className: "text-xl text-n1-gray-800 dark:text-white font-semibold mb-6 text-center", children: "Enter Amount" }), _jsxs("div", { className: "space-y-6", children: [_jsxs("div", { className: "relative border-2 border-n1-gray-200 dark:border-n1-gray-800 bg-n1-gray-100 dark:bg-n1-gray-900 rounded-sm p-0 overflow-hidden n1-animate-fade-up", style: { animationDelay: '0.1s' }, children: [_jsxs("div", { className: "flex items-center justify-between p-4 border-b border-n1-gray-200 dark:border-n1-gray-800 bg-white/30 dark:bg-black/10", children: [_jsxs("div", { className: "flex items-center space-x-3", children: [_jsx("div", { className: "w-8 h-8 rounded-full overflow-hidden bg-white dark:bg-n1-gray-800 flex items-center justify-center shadow-sm", children: _jsx(ImageWithFallback, { src: tokenLogo, alt: tokenSymbol, width: 24, height: 24, fallbackText: tokenSymbol.charAt(0), fallbackClassName: "w-6 h-6 rounded-full flex items-center justify-center", fallbackBgColor: "bg-blue-100 dark:bg-blue-900", fallbackTextColor: "text-blue-500 dark:text-blue-300" }) }), _jsx("span", { className: "text-n1-gray-800 dark:text-white font-medium", children: tokenSymbol })] }), _jsx("div", { className: "text-xs rounded-sm bg-n1-gray-200 dark:bg-n1-gray-800 px-2 py-1 text-n1-gray-600 dark:text-n1-gray-300", children: "Fixed Amount" })] }), _jsxs("div", { className: "relative p-6 flex flex-col items-center", children: [_jsxs("div", { className: "relative flex items-baseline justify-center w-full", children: [_jsx("span", { className: "text-4xl font-bold text-n1-gray-800 dark:text-white mr-1 n1-animate-fade-up", style: { animationDelay: '0.2s' }, children: amount }), _jsx("span", { className: "text-xl text-n1-gray-500 dark:text-neutral-400 ml-1 n1-animate-fade-up", style: { animationDelay: '0.3s' }, children: tokenSymbol })] }), _jsx("div", { className: "w-16 h-1 bg-n1-gray-200 dark:bg-n1-gray-800 rounded-full mt-4 mb-2" }), _jsx("div", { className: "flex justify-center items-center text-sm mt-2 w-full n1-animate-fade-up", style: { animationDelay: '0.4s' }, children: _jsxs("span", { className: "text-n1-gray-500 dark:text-neutral-400", children: ["Balance: ", formattedBalance, " ", tokenSymbol] }) })] })] }), context.depositError && (_jsx("div", { className: "bg-red-100 dark:bg-red-900/30 text-red-600 dark:text-red-400 p-3 rounded-sm text-sm border border-red-200 dark:border-red-800 n1-animate-fade-up", style: { animationDelay: '0.5s' }, children: context.depositError })), _jsx("button", { onClick: startDeposit, disabled: !isValidAmount, onMouseEnter: function () { return setIsHovered(true); }, onMouseLeave: function () { return setIsHovered(false); }, className: "\n group relative w-full overflow-hidden rounded-sm border-2 bg-n1-gray-100 dark:bg-neutral-950 py-4 text-center\n transition-all duration-300 ".concat(ANIMATION_EASE, " n1-animate-fade-up\n ").concat(isValidAmount
190
- ? 'cursor-pointer border-n1-gray-200 dark:border-n1-gray-800 hover:border-n1-gray-400 dark:hover:border-white/60'
189
+ return (_jsxs("div", { className: "overflow-hidden relative", children: [showFaucetOverlay && (_jsx("div", { className: "absolute inset-0 z-10 bg-white/70 dark:bg-neutral-900/80 backdrop-blur-md flex flex-col items-center justify-center p-6", children: isFaucetLoading ? (_jsxs(_Fragment, { children: [_jsx(LoadingSquares, {}), _jsxs("div", { className: "space-y-2 text-center mt-4", children: [_jsx("h3", { className: "text-xl text-n1-ww-gray-800 dark:text-white font-semibold", children: "Obtaining Testnet Tokens" }), _jsx("p", { className: "text-sm text-n1-ww-gray-500 dark:text-neutral-400", children: "Please wait while we request testnet tokens for your wallet..." })] })] })) : showFaucetSuccess ? (_jsxs(_Fragment, { children: [_jsx("div", { className: "text-green-500 text-5xl mb-4 n1-ww-animate-fade-up", children: "\u2713" }), _jsxs("div", { className: "space-y-2 text-center", children: [_jsx("h3", { className: "text-xl text-n1-ww-gray-800 dark:text-white font-semibold", children: "Tokens Obtained Successfully" }), _jsx("p", { className: "text-sm text-green-500 dark:text-green-400", children: "Your wallet has been funded with testnet tokens." }), _jsx("p", { className: "text-sm text-n1-ww-gray-500 dark:text-neutral-400 mt-2", children: "Please wait while your balance updates..." })] })] })) : faucetError ? (_jsxs(_Fragment, { children: [_jsx("div", { className: "text-red-500 text-5xl mb-4 n1-ww-animate-fade-up", children: "\u26A0\uFE0F" }), _jsxs("div", { className: "space-y-2 text-center", children: [_jsx("h3", { className: "text-xl text-n1-ww-gray-800 dark:text-white font-semibold", children: "Failed to Get Tokens" }), _jsx("p", { className: "text-sm text-red-500 dark:text-red-400", children: faucetError }), _jsx("button", { onClick: requestTestnetTokens, className: "mt-4 px-4 py-2 bg-n1-ww-main text-white rounded-sm hover:bg-n1-ww-main/90 transition-colors", children: "Try Again" })] })] })) : null })), _jsx("h2", { className: "text-xl text-n1-ww-gray-800 dark:text-white font-semibold mb-6 text-center", children: "Enter Amount" }), _jsxs("div", { className: "space-y-6", children: [_jsxs("div", { className: "relative border-2 border-n1-ww-gray-200 dark:border-n1-ww-gray-800 bg-n1-ww-gray-100 dark:bg-n1-ww-gray-900 rounded-sm p-0 overflow-hidden n1-ww-animate-fade-up", style: { animationDelay: '0.1s' }, children: [_jsxs("div", { className: "flex items-center justify-between p-4 border-b border-n1-ww-gray-200 dark:border-n1-ww-gray-800 bg-white/30 dark:bg-black/10", children: [_jsxs("div", { className: "flex items-center space-x-3", children: [_jsx("div", { className: "w-8 h-8 rounded-full overflow-hidden bg-white dark:bg-n1-ww-gray-800 flex items-center justify-center shadow-sm", children: _jsx(ImageWithFallback, { src: tokenLogo, alt: tokenSymbol, width: 24, height: 24, fallbackText: tokenSymbol.charAt(0), fallbackClassName: "w-6 h-6 rounded-full flex items-center justify-center", fallbackBgColor: "bg-blue-100 dark:bg-blue-900", fallbackTextColor: "text-blue-500 dark:text-blue-300" }) }), _jsx("span", { className: "text-n1-ww-gray-800 dark:text-white font-medium", children: tokenSymbol })] }), _jsx("div", { className: "text-xs rounded-sm bg-n1-ww-gray-200 dark:bg-n1-ww-gray-800 px-2 py-1 text-n1-ww-gray-600 dark:text-n1-ww-gray-300", children: "Fixed Amount" })] }), _jsxs("div", { className: "relative p-6 flex flex-col items-center", children: [_jsxs("div", { className: "relative flex items-baseline justify-center w-full", children: [_jsx("span", { className: "text-4xl font-bold text-n1-ww-gray-800 dark:text-white mr-1 n1-ww-animate-fade-up", style: { animationDelay: '0.2s' }, children: amount }), _jsx("span", { className: "text-xl text-n1-ww-gray-500 dark:text-neutral-400 ml-1 n1-ww-animate-fade-up", style: { animationDelay: '0.3s' }, children: tokenSymbol })] }), _jsx("div", { className: "w-16 h-1 bg-n1-ww-gray-200 dark:bg-n1-ww-gray-800 rounded-full mt-4 mb-2" }), _jsx("div", { className: "flex justify-center items-center text-sm mt-2 w-full n1-ww-animate-fade-up", style: { animationDelay: '0.4s' }, children: _jsxs("span", { className: "text-n1-ww-gray-500 dark:text-neutral-400", children: ["Balance: ", formattedBalance, " ", tokenSymbol] }) })] })] }), context.depositError && (_jsx("div", { className: "bg-red-100 dark:bg-red-900/30 text-red-600 dark:text-red-400 p-3 rounded-sm text-sm border border-red-200 dark:border-red-800 n1-ww-animate-fade-up", style: { animationDelay: '0.5s' }, children: context.depositError })), _jsx("button", { onClick: startDeposit, disabled: !isValidAmount, onMouseEnter: function () { return setIsHovered(true); }, onMouseLeave: function () { return setIsHovered(false); }, className: "\n group relative w-full overflow-hidden rounded-sm border-2 bg-n1-ww-gray-100 dark:bg-neutral-950 py-4 text-center\n transition-all duration-300 ".concat(ANIMATION_EASE, " n1-ww-animate-fade-up\n ").concat(isValidAmount
190
+ ? 'cursor-pointer border-n1-ww-gray-200 dark:border-n1-ww-gray-800 hover:border-n1-ww-gray-400 dark:hover:border-white/60'
191
191
  : 'cursor-not-allowed border-n1-gray-200 dark:border-n1-gray-800 opacity-50', "\n "), style: {
192
192
  transform: isHovered && isValidAmount ? 'scale(0.99)' : 'scale(1)',
193
193
  animationDelay: '0.6s'
194
194
  }, children: _jsx("span", { className: "\n text-base font-medium tracking-wide transition-colors duration-300 ".concat(ANIMATION_EASE, "\n ").concat(isValidAmount
195
- ? 'text-n1-gray-700 dark:text-n1-gray-300 group-hover:text-n1-gray-900 dark:group-hover:text-white'
196
- : 'text-n1-gray-400 dark:text-n1-gray-600', "\n "), children: "Continue" }) })] })] }));
195
+ ? 'text-n1-ww-gray-700 dark:text-n1-ww-gray-300 group-hover:text-n1-ww-gray-900 dark:group-hover:text-white'
196
+ : 'text-n1-ww-gray-400 dark:text-n1-ww-gray-600', "\n "), children: "Continue" }) })] })] }));
197
197
  }
198
198
  //# sourceMappingURL=04-AmountInputScreen.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"04-AmountInputScreen.js","sourceRoot":"","sources":["../../../../src/Modal/NordFlow/screens/04-AmountInputScreen.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useCallback, useEffect, useRef, useState } from 'react';\nimport {\n useN1WalletContext,\n useN1WalletInternalContext,\n} from '../../../Provider/hooks';\nimport { ImageWithFallback } from '../components';\nimport { ANIMATION_EASE } from '../constants';\nimport { formatAmount, isNordConfigured } from '../utils/nordUtils';\nimport { useDepositContext } from '../context/DepositContext';\nimport { useFlowStateContext } from '../context/FlowContext';\nimport { LoadingSquares } from '../components/LoadingSquares';\n\nexport function AmountInputScreen() {\n const { context } = useFlowStateContext();\n const { updateAmount, startDeposit } = useDepositContext();\n const { address, nord } = useN1WalletContext();\n const { faucetUrl: contextFaucetUrl } = useN1WalletInternalContext();\n\n // Hard code amount to 100\n const amount = '100';\n // Hard code balance to 0 to allow faucet to trigger\n const balance = 100;\n\n // Force the amount to be 100 on component mount only, not on every render\n useEffect(() => {\n updateAmount('100');\n // Empty dependency array ensures this only runs once on mount\n }, [updateAmount]);\n\n const [isHovered, setIsHovered] = useState(false);\n const [isFaucetLoading, setIsFaucetLoading] = useState(false);\n const [faucetError, setFaucetError] = useState<string | null>(null);\n const [tokensObtained, setTokensObtained] = useState(false);\n const [showFaucetSuccess, setShowFaucetSuccess] = useState(false);\n const prevBalanceRef = useRef(balance);\n\n const faucetUrl = contextFaucetUrl;\n\n // Get token information from Nord if available\n const [tokenSymbol, setTokenSymbol] = useState('USDC');\n const [tokenLogo, setTokenLogo] = useState('/images/tokens/usdc.svg');\n const [tokenDecimals, setTokenDecimals] = useState(6);\n\n // Try to get token information from Nord\n useEffect(() => {\n if (nord && isNordConfigured(nord)) {\n try {\n // Find the USDC token or the first token\n const usdcToken =\n nord.tokens.find((t: any) => t.symbol === 'USDC') || nord.tokens[0];\n if (usdcToken) {\n setTokenSymbol(usdcToken.symbol);\n // Use a default logo if not available\n setTokenLogo(`/images/tokens/${usdcToken.symbol.toLowerCase()}.svg`);\n setTokenDecimals(usdcToken.decimals);\n }\n } catch (error) {\n console.warn('Error getting token information from Nord:', error);\n }\n }\n }, [nord]);\n\n // Removed handleAmountChange since we don't want user to edit the amount\n\n // todo:fix\n const isValidAmount = true;\n\n const hardcodedMinDeposit = 100;\n\n // Check if faucet is enabled and balance is low\n const shouldShowFaucet = faucetUrl && !tokensObtained;\n\n // Determine if we should show the faucet overlay\n const showFaucetOverlay =\n (shouldShowFaucet && (isFaucetLoading || faucetError)) || showFaucetSuccess;\n\n // Function to refresh balances\n const refreshBalance = useCallback(async () => {\n // \n }, [nord]);\n\n // Function to request tokens from faucet\n const requestTestnetTokens = useCallback(async () => {\n if (!faucetUrl || !address) return;\n\n try {\n setIsFaucetLoading(true);\n setFaucetError(null);\n setShowFaucetSuccess(false);\n\n const response = await fetch(faucetUrl, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({ address }),\n });\n\n if (!response.ok) {\n const errorData = await response\n .json()\n .catch(() => ({ error: 'Failed to request tokens' }));\n throw new Error(errorData.error || 'Failed to request tokens');\n }\n\n await response.json();\n\n // Mark tokens as obtained to prevent further requests\n setTokensObtained(true);\n\n // Show success message\n setShowFaucetSuccess(true);\n\n // Refresh balance\n await refreshBalance();\n\n setShowFaucetSuccess(false);\n } catch (error) {\n console.error('Faucet error:', error);\n setFaucetError(\n error instanceof Error ? error.message : 'Failed to request tokens'\n );\n } finally {\n setIsFaucetLoading(false);\n }\n }, [faucetUrl, address, refreshBalance]);\n\n // Request tokens automatically when faucet is enabled and balance is low\n useEffect(() => {\n if (\n shouldShowFaucet &&\n !isFaucetLoading &&\n !faucetError &&\n !showFaucetSuccess &&\n context.depositError == null\n ) {\n requestTestnetTokens();\n }\n }, [\n shouldShowFaucet,\n isFaucetLoading,\n faucetError,\n showFaucetSuccess,\n requestTestnetTokens,\n context.depositError\n ]);\n\n // Reset tokensObtained state if balance changes to a higher value\n useEffect(() => {\n // If balance has increased and is now sufficient, reset the tokensObtained flag\n if (balance > prevBalanceRef.current && balance >= hardcodedMinDeposit) {\n setTokensObtained(false);\n setShowFaucetSuccess(false);\n }\n\n // Update the previous balance reference\n prevBalanceRef.current = balance;\n }, [balance, hardcodedMinDeposit]);\n\n // Format the balance with the appropriate number of decimal places\n const formattedBalance = formatAmount(balance, tokenDecimals);\n\n return (\n <div className=\"overflow-hidden relative\">\n {/* Faucet Overlay */}\n {showFaucetOverlay && (\n <div className=\"absolute inset-0 z-10 bg-white/70 dark:bg-neutral-900/80 backdrop-blur-md flex flex-col items-center justify-center p-6\">\n {isFaucetLoading ? (\n <>\n <LoadingSquares />\n <div className=\"space-y-2 text-center mt-4\">\n <h3 className=\"text-xl text-n1-gray-800 dark:text-white font-semibold\">\n Obtaining Testnet Tokens\n </h3>\n <p className=\"text-sm text-n1-gray-500 dark:text-neutral-400\">\n Please wait while we request testnet tokens for your wallet...\n </p>\n </div>\n </>\n ) : showFaucetSuccess ? (\n <>\n <div className=\"text-green-500 text-5xl mb-4 n1-animate-fade-up\">✓</div>\n <div className=\"space-y-2 text-center\">\n <h3 className=\"text-xl text-n1-gray-800 dark:text-white font-semibold\">\n Tokens Obtained Successfully\n </h3>\n <p className=\"text-sm text-green-500 dark:text-green-400\">\n Your wallet has been funded with testnet tokens.\n </p>\n <p className=\"text-sm text-n1-gray-500 dark:text-neutral-400 mt-2\">\n Please wait while your balance updates...\n </p>\n </div>\n </>\n ) : faucetError ? (\n <>\n <div className=\"text-red-500 text-5xl mb-4 n1-animate-fade-up\">⚠️</div>\n <div className=\"space-y-2 text-center\">\n <h3 className=\"text-xl text-n1-gray-800 dark:text-white font-semibold\">\n Failed to Get Tokens\n </h3>\n <p className=\"text-sm text-red-500 dark:text-red-400\">\n {faucetError}\n </p>\n <button\n onClick={requestTestnetTokens}\n className=\"mt-4 px-4 py-2 bg-n1-main text-white rounded-sm hover:bg-n1-main/90 transition-colors\"\n >\n Try Again\n </button>\n </div>\n </>\n ) : null}\n </div>\n )}\n\n <h2 className=\"text-xl text-n1-gray-800 dark:text-white font-semibold mb-6 text-center\">\n Enter Amount\n </h2>\n\n {/* Amount Input */}\n <div className=\"space-y-6\">\n {/* Token Selection and Amount Input */}\n <div className=\"relative border-2 border-n1-gray-200 dark:border-n1-gray-800 bg-n1-gray-100 dark:bg-n1-gray-900 rounded-sm p-0 overflow-hidden n1-animate-fade-up\" style={{ animationDelay: '0.1s' }}>\n {/* Token Selection Header */}\n <div className=\"flex items-center justify-between p-4 border-b border-n1-gray-200 dark:border-n1-gray-800 bg-white/30 dark:bg-black/10\">\n <div className=\"flex items-center space-x-3\">\n <div className=\"w-8 h-8 rounded-full overflow-hidden bg-white dark:bg-n1-gray-800 flex items-center justify-center shadow-sm\">\n <ImageWithFallback\n src={tokenLogo}\n alt={tokenSymbol}\n width={24}\n height={24}\n fallbackText={tokenSymbol.charAt(0)}\n fallbackClassName=\"w-6 h-6 rounded-full flex items-center justify-center\"\n fallbackBgColor=\"bg-blue-100 dark:bg-blue-900\"\n fallbackTextColor=\"text-blue-500 dark:text-blue-300\"\n />\n </div>\n <span className=\"text-n1-gray-800 dark:text-white font-medium\">\n {tokenSymbol}\n </span>\n </div>\n <div className=\"text-xs rounded-sm bg-n1-gray-200 dark:bg-n1-gray-800 px-2 py-1 text-n1-gray-600 dark:text-n1-gray-300\">\n Fixed Amount\n </div>\n </div>\n\n {/* Amount Input - Hardcoded to 100 */}\n <div className=\"relative p-6 flex flex-col items-center\">\n <div className=\"relative flex items-baseline justify-center w-full\">\n <span className=\"text-4xl font-bold text-n1-gray-800 dark:text-white mr-1 n1-animate-fade-up\" style={{ animationDelay: '0.2s' }}>\n {amount}\n </span>\n <span className=\"text-xl text-n1-gray-500 dark:text-neutral-400 ml-1 n1-animate-fade-up\" style={{ animationDelay: '0.3s' }}>\n {tokenSymbol}\n </span>\n </div>\n\n {/* Decorative element */}\n <div className=\"w-16 h-1 bg-n1-gray-200 dark:bg-n1-gray-800 rounded-full mt-4 mb-2\"></div>\n\n {/* Balance Display */}\n <div className=\"flex justify-center items-center text-sm mt-2 w-full n1-animate-fade-up\" style={{ animationDelay: '0.4s' }}>\n <span className=\"text-n1-gray-500 dark:text-neutral-400\">\n Balance: {formattedBalance} {tokenSymbol}\n </span>\n </div>\n </div>\n </div>\n\n {/* Error Message */}\n {context.depositError && (\n <div className=\"bg-red-100 dark:bg-red-900/30 text-red-600 dark:text-red-400 p-3 rounded-sm text-sm border border-red-200 dark:border-red-800 n1-animate-fade-up\" style={{ animationDelay: '0.5s' }}>\n {context.depositError}\n </div>\n )}\n\n {/* Continue Button */}\n <button\n onClick={startDeposit}\n disabled={!isValidAmount}\n onMouseEnter={() => setIsHovered(true)}\n onMouseLeave={() => setIsHovered(false)}\n className={`\n group relative w-full overflow-hidden rounded-sm border-2 bg-n1-gray-100 dark:bg-neutral-950 py-4 text-center\n transition-all duration-300 ${ANIMATION_EASE} n1-animate-fade-up\n ${isValidAmount\n ? 'cursor-pointer border-n1-gray-200 dark:border-n1-gray-800 hover:border-n1-gray-400 dark:hover:border-white/60'\n : 'cursor-not-allowed border-n1-gray-200 dark:border-n1-gray-800 opacity-50'\n }\n `}\n style={{\n transform: isHovered && isValidAmount ? 'scale(0.99)' : 'scale(1)',\n animationDelay: '0.6s'\n }}\n >\n <span\n className={`\n text-base font-medium tracking-wide transition-colors duration-300 ${ANIMATION_EASE}\n ${isValidAmount\n ? 'text-n1-gray-700 dark:text-n1-gray-300 group-hover:text-n1-gray-900 dark:group-hover:text-white'\n : 'text-n1-gray-400 dark:text-n1-gray-600'\n }\n `}\n >\n Continue\n </span>\n </button>\n </div>\n </div>\n );\n}\n"]}
1
+ {"version":3,"file":"04-AmountInputScreen.js","sourceRoot":"","sources":["../../../../src/Modal/NordFlow/screens/04-AmountInputScreen.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useCallback, useEffect, useRef, useState } from 'react';\nimport {\n useN1WalletContext,\n useN1WalletInternalContext,\n} from '../../../Provider/hooks';\nimport { ImageWithFallback } from '../components';\nimport { ANIMATION_EASE } from '../constants';\nimport { formatAmount, isNordConfigured } from '../utils/nordUtils';\nimport { useDepositContext } from '../context/DepositContext';\nimport { useFlowStateContext } from '../context/FlowContext';\nimport { LoadingSquares } from '../components/LoadingSquares';\n\nexport function AmountInputScreen() {\n const { context } = useFlowStateContext();\n const { updateAmount, startDeposit } = useDepositContext();\n const { address, nord } = useN1WalletContext();\n const { faucetUrl: contextFaucetUrl } = useN1WalletInternalContext();\n\n // Hard code amount to 100\n const amount = '100';\n // Hard code balance to 0 to allow faucet to trigger\n const balance = 100;\n\n // Force the amount to be 100 on component mount only, not on every render\n useEffect(() => {\n updateAmount('100');\n // Empty dependency array ensures this only runs once on mount\n }, [updateAmount]);\n\n const [isHovered, setIsHovered] = useState(false);\n const [isFaucetLoading, setIsFaucetLoading] = useState(false);\n const [faucetError, setFaucetError] = useState<string | null>(null);\n const [tokensObtained, setTokensObtained] = useState(false);\n const [showFaucetSuccess, setShowFaucetSuccess] = useState(false);\n const prevBalanceRef = useRef(balance);\n\n const faucetUrl = contextFaucetUrl;\n\n // Get token information from Nord if available\n const [tokenSymbol, setTokenSymbol] = useState('USDC');\n const [tokenLogo, setTokenLogo] = useState('/images/tokens/usdc.svg');\n const [tokenDecimals, setTokenDecimals] = useState(6);\n\n // Try to get token information from Nord\n useEffect(() => {\n if (nord && isNordConfigured(nord)) {\n try {\n // Find the USDC token or the first token\n const usdcToken =\n nord.tokens.find((t: any) => t.symbol === 'USDC') || nord.tokens[0];\n if (usdcToken) {\n setTokenSymbol(usdcToken.symbol);\n // Use a default logo if not available\n setTokenLogo(`/images/tokens/${usdcToken.symbol.toLowerCase()}.svg`);\n setTokenDecimals(usdcToken.decimals);\n }\n } catch (error) {\n console.warn('Error getting token information from Nord:', error);\n }\n }\n }, [nord]);\n\n // Removed handleAmountChange since we don't want user to edit the amount\n\n // todo:fix\n const isValidAmount = true;\n\n const hardcodedMinDeposit = 100;\n\n // Check if faucet is enabled and balance is low\n const shouldShowFaucet = faucetUrl && !tokensObtained;\n\n // Determine if we should show the faucet overlay\n const showFaucetOverlay =\n (shouldShowFaucet && (isFaucetLoading || faucetError)) || showFaucetSuccess;\n\n // Function to refresh balances\n const refreshBalance = useCallback(async () => {\n // \n }, [nord]);\n\n // Function to request tokens from faucet\n const requestTestnetTokens = useCallback(async () => {\n if (!faucetUrl || !address) return;\n\n try {\n setIsFaucetLoading(true);\n setFaucetError(null);\n setShowFaucetSuccess(false);\n\n const response = await fetch(faucetUrl, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({ address }),\n });\n\n if (!response.ok) {\n const errorData = await response\n .json()\n .catch(() => ({ error: 'Failed to request tokens' }));\n throw new Error(errorData.error || 'Failed to request tokens');\n }\n\n await response.json();\n\n // Mark tokens as obtained to prevent further requests\n setTokensObtained(true);\n\n // Show success message\n setShowFaucetSuccess(true);\n\n // Refresh balance\n await refreshBalance();\n\n setShowFaucetSuccess(false);\n } catch (error) {\n console.error('Faucet error:', error);\n setFaucetError(\n error instanceof Error ? error.message : 'Failed to request tokens'\n );\n } finally {\n setIsFaucetLoading(false);\n }\n }, [faucetUrl, address, refreshBalance]);\n\n // Request tokens automatically when faucet is enabled and balance is low\n useEffect(() => {\n if (\n shouldShowFaucet &&\n !isFaucetLoading &&\n !faucetError &&\n !showFaucetSuccess &&\n context.depositError == null\n ) {\n requestTestnetTokens();\n }\n }, [\n shouldShowFaucet,\n isFaucetLoading,\n faucetError,\n showFaucetSuccess,\n requestTestnetTokens,\n context.depositError\n ]);\n\n // Reset tokensObtained state if balance changes to a higher value\n useEffect(() => {\n // If balance has increased and is now sufficient, reset the tokensObtained flag\n if (balance > prevBalanceRef.current && balance >= hardcodedMinDeposit) {\n setTokensObtained(false);\n setShowFaucetSuccess(false);\n }\n\n // Update the previous balance reference\n prevBalanceRef.current = balance;\n }, [balance, hardcodedMinDeposit]);\n\n // Format the balance with the appropriate number of decimal places\n const formattedBalance = formatAmount(balance, tokenDecimals);\n\n return (\n <div className=\"overflow-hidden relative\">\n {/* Faucet Overlay */}\n {showFaucetOverlay && (\n <div className=\"absolute inset-0 z-10 bg-white/70 dark:bg-neutral-900/80 backdrop-blur-md flex flex-col items-center justify-center p-6\">\n {isFaucetLoading ? (\n <>\n <LoadingSquares />\n <div className=\"space-y-2 text-center mt-4\">\n <h3 className=\"text-xl text-n1-ww-gray-800 dark:text-white font-semibold\">\n Obtaining Testnet Tokens\n </h3>\n <p className=\"text-sm text-n1-ww-gray-500 dark:text-neutral-400\">\n Please wait while we request testnet tokens for your wallet...\n </p>\n </div>\n </>\n ) : showFaucetSuccess ? (\n <>\n <div className=\"text-green-500 text-5xl mb-4 n1-ww-animate-fade-up\">✓</div>\n <div className=\"space-y-2 text-center\">\n <h3 className=\"text-xl text-n1-ww-gray-800 dark:text-white font-semibold\">\n Tokens Obtained Successfully\n </h3>\n <p className=\"text-sm text-green-500 dark:text-green-400\">\n Your wallet has been funded with testnet tokens.\n </p>\n <p className=\"text-sm text-n1-ww-gray-500 dark:text-neutral-400 mt-2\">\n Please wait while your balance updates...\n </p>\n </div>\n </>\n ) : faucetError ? (\n <>\n <div className=\"text-red-500 text-5xl mb-4 n1-ww-animate-fade-up\">⚠️</div>\n <div className=\"space-y-2 text-center\">\n <h3 className=\"text-xl text-n1-ww-gray-800 dark:text-white font-semibold\">\n Failed to Get Tokens\n </h3>\n <p className=\"text-sm text-red-500 dark:text-red-400\">\n {faucetError}\n </p>\n <button\n onClick={requestTestnetTokens}\n className=\"mt-4 px-4 py-2 bg-n1-ww-main text-white rounded-sm hover:bg-n1-ww-main/90 transition-colors\"\n >\n Try Again\n </button>\n </div>\n </>\n ) : null}\n </div>\n )}\n\n <h2 className=\"text-xl text-n1-ww-gray-800 dark:text-white font-semibold mb-6 text-center\">\n Enter Amount\n </h2>\n\n {/* Amount Input */}\n <div className=\"space-y-6\">\n {/* Token Selection and Amount Input */}\n <div className=\"relative border-2 border-n1-ww-gray-200 dark:border-n1-ww-gray-800 bg-n1-ww-gray-100 dark:bg-n1-ww-gray-900 rounded-sm p-0 overflow-hidden n1-ww-animate-fade-up\" style={{ animationDelay: '0.1s' }}>\n {/* Token Selection Header */}\n <div className=\"flex items-center justify-between p-4 border-b border-n1-ww-gray-200 dark:border-n1-ww-gray-800 bg-white/30 dark:bg-black/10\">\n <div className=\"flex items-center space-x-3\">\n <div className=\"w-8 h-8 rounded-full overflow-hidden bg-white dark:bg-n1-ww-gray-800 flex items-center justify-center shadow-sm\">\n <ImageWithFallback\n src={tokenLogo}\n alt={tokenSymbol}\n width={24}\n height={24}\n fallbackText={tokenSymbol.charAt(0)}\n fallbackClassName=\"w-6 h-6 rounded-full flex items-center justify-center\"\n fallbackBgColor=\"bg-blue-100 dark:bg-blue-900\"\n fallbackTextColor=\"text-blue-500 dark:text-blue-300\"\n />\n </div>\n <span className=\"text-n1-ww-gray-800 dark:text-white font-medium\">\n {tokenSymbol}\n </span>\n </div>\n <div className=\"text-xs rounded-sm bg-n1-ww-gray-200 dark:bg-n1-ww-gray-800 px-2 py-1 text-n1-ww-gray-600 dark:text-n1-ww-gray-300\">\n Fixed Amount\n </div>\n </div>\n\n {/* Amount Input - Hardcoded to 100 */}\n <div className=\"relative p-6 flex flex-col items-center\">\n <div className=\"relative flex items-baseline justify-center w-full\">\n <span className=\"text-4xl font-bold text-n1-ww-gray-800 dark:text-white mr-1 n1-ww-animate-fade-up\" style={{ animationDelay: '0.2s' }}>\n {amount}\n </span>\n <span className=\"text-xl text-n1-ww-gray-500 dark:text-neutral-400 ml-1 n1-ww-animate-fade-up\" style={{ animationDelay: '0.3s' }}>\n {tokenSymbol}\n </span>\n </div>\n\n {/* Decorative element */}\n <div className=\"w-16 h-1 bg-n1-ww-gray-200 dark:bg-n1-ww-gray-800 rounded-full mt-4 mb-2\"></div>\n\n {/* Balance Display */}\n <div className=\"flex justify-center items-center text-sm mt-2 w-full n1-ww-animate-fade-up\" style={{ animationDelay: '0.4s' }}>\n <span className=\"text-n1-ww-gray-500 dark:text-neutral-400\">\n Balance: {formattedBalance} {tokenSymbol}\n </span>\n </div>\n </div>\n </div>\n\n {/* Error Message */}\n {context.depositError && (\n <div className=\"bg-red-100 dark:bg-red-900/30 text-red-600 dark:text-red-400 p-3 rounded-sm text-sm border border-red-200 dark:border-red-800 n1-ww-animate-fade-up\" style={{ animationDelay: '0.5s' }}>\n {context.depositError}\n </div>\n )}\n\n {/* Continue Button */}\n <button\n onClick={startDeposit}\n disabled={!isValidAmount}\n onMouseEnter={() => setIsHovered(true)}\n onMouseLeave={() => setIsHovered(false)}\n className={`\n group relative w-full overflow-hidden rounded-sm border-2 bg-n1-ww-gray-100 dark:bg-neutral-950 py-4 text-center\n transition-all duration-300 ${ANIMATION_EASE} n1-ww-animate-fade-up\n ${isValidAmount\n ? 'cursor-pointer border-n1-ww-gray-200 dark:border-n1-ww-gray-800 hover:border-n1-ww-gray-400 dark:hover:border-white/60'\n : 'cursor-not-allowed border-n1-gray-200 dark:border-n1-gray-800 opacity-50'\n }\n `}\n style={{\n transform: isHovered && isValidAmount ? 'scale(0.99)' : 'scale(1)',\n animationDelay: '0.6s'\n }}\n >\n <span\n className={`\n text-base font-medium tracking-wide transition-colors duration-300 ${ANIMATION_EASE}\n ${isValidAmount\n ? 'text-n1-ww-gray-700 dark:text-n1-ww-gray-300 group-hover:text-n1-ww-gray-900 dark:group-hover:text-white'\n : 'text-n1-ww-gray-400 dark:text-n1-ww-gray-600'\n }\n `}\n >\n Continue\n </span>\n </button>\n </div>\n </div>\n );\n}\n"]}
@@ -46,6 +46,6 @@ export function DepositProgressScreen() {
46
46
  "Please wait while we process your ".concat(accountType, " deposit") });
47
47
  };
48
48
  var sessionMessage = getSessionSpecificMessage();
49
- return (_jsxs("div", { className: "overflow-hidden relative", children: [_jsx(WaitingMessage, { message: sessionMessage }), _jsxs("div", { className: "text-center mt-4 text-sm text-n1-gray-500", children: ["Time elapsed: ", elapsedTime, "s / ", maxTime, "s"] })] }));
49
+ return (_jsxs("div", { className: "overflow-hidden relative", children: [_jsx(WaitingMessage, { message: sessionMessage }), _jsxs("div", { className: "text-center mt-4 text-sm text-n1-ww-gray-500", children: ["Time elapsed: ", elapsedTime, "s / ", maxTime, "s"] })] }));
50
50
  }
51
51
  //# sourceMappingURL=05-DepositProgressScreen.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"05-DepositProgressScreen.js","sourceRoot":"","sources":["../../../../src/Modal/NordFlow/screens/05-DepositProgressScreen.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAE9D,OAAO,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAG5C,MAAM,UAAU,qBAAqB;IAC3B,IAAA,WAAW,GAAK,0BAA0B,EAAE,YAAjC,CAAkC;IAC/C,IAAA,KAAgC,QAAQ,CAAC,CAAC,CAAC,EAA1C,WAAW,QAAA,EAAE,cAAc,QAAe,CAAC;IAClD,IAAM,OAAO,GAAG,GAAG,CAAC,CAAC,0BAA0B;IAE/C,IAAM,OAAO,GAAG;QACd,OAAO,EAAE,IAAI;QACb,KAAK,EAAE,oBAAoB;QAC3B,QAAQ,EAAE,2CAA2C;QACrD,QAAQ,EAAE,KAAK;KAChB,CAAA;IAED,oCAAoC;IACpC,SAAS,CAAC;QACR,IAAM,KAAK,GAAG,WAAW,CAAC;YACxB,cAAc,CAAC,UAAC,QAAQ;gBACtB,IAAI,QAAQ,IAAI,OAAO,EAAE,CAAC;oBACxB,aAAa,CAAC,KAAK,CAAC,CAAC;oBACrB,OAAO,OAAO,CAAC;gBACjB,CAAC;gBACD,OAAO,QAAQ,GAAG,CAAC,CAAC;YACtB,CAAC,CAAC,CAAC;QACL,CAAC,EAAE,IAAI,CAAC,CAAC;QAET,4BAA4B;QAC5B,OAAO,cAAM,OAAA,aAAa,CAAC,KAAK,CAAC,EAApB,CAAoB,CAAC;IACpC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,0DAA0D;IAC1D,IAAM,yBAAyB,GAAG;QAChC,IAAM,kBAAkB,GAAG,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,aAAa,CAAC,GAAG,CAAC;QAC5D,IAAM,WAAW,GACf,kBAAkB,KAAK,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;QAE7D,6BACK,OAAO,KACV,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,qBAAc,WAAW,aAAU,EAC3D,QAAQ,EACN,OAAO,CAAC,QAAQ;gBAChB,4CAAqC,WAAW,aAAU,IAC5D;IACJ,CAAC,CAAC;IAEF,IAAM,cAAc,GAAG,yBAAyB,EAAE,CAAC;IAEnD,OAAO,CACL,eAAK,SAAS,EAAC,0BAA0B,aACvC,KAAC,cAAc,IAAC,OAAO,EAAE,cAAc,GAAI,EAC3C,eAAK,SAAS,EAAC,2CAA2C,+BACzC,WAAW,UAAM,OAAO,SACnC,IACF,CACP,CAAC;AACJ,CAAC","sourcesContent":["import { WaitingMessage } from '../components/WaitingMessage';\nimport { WaitingMessageState } from '../types';\nimport { useN1WalletInternalContext } from '../../../Provider/hooks';\nimport { N1SessionMode } from '../../../Provider/types';\nimport { useState, useEffect } from 'react';\n\n\nexport function DepositProgressScreen() {\n const { sessionMode } = useN1WalletInternalContext();\n const [elapsedTime, setElapsedTime] = useState(0);\n const maxTime = 300; // Maximum time in seconds\n\n const message = {\n visible: true,\n title: 'Processing Deposit',\n subtitle: 'Please wait while we process your deposit',\n isTyping: false,\n }\n\n // Start timer when component mounts\n useEffect(() => {\n const timer = setInterval(() => {\n setElapsedTime((prevTime) => {\n if (prevTime >= maxTime) {\n clearInterval(timer);\n return maxTime;\n }\n return prevTime + 1;\n });\n }, 1000);\n\n // Clean up timer on unmount\n return () => clearInterval(timer);\n }, []);\n\n // Determine the appropriate message based on session mode\n const getSessionSpecificMessage = () => {\n const currentSessionMode = sessionMode ?? N1SessionMode.NTS;\n const accountType =\n currentSessionMode === N1SessionMode.Nord ? 'Nord' : 'NTS';\n\n return {\n ...message,\n title: message.title || `Processing ${accountType} Deposit`,\n subtitle:\n message.subtitle ||\n `Please wait while we process your ${accountType} deposit`,\n };\n };\n\n const sessionMessage = getSessionSpecificMessage();\n\n return (\n <div className=\"overflow-hidden relative\">\n <WaitingMessage message={sessionMessage} />\n <div className=\"text-center mt-4 text-sm text-n1-gray-500\">\n Time elapsed: {elapsedTime}s / {maxTime}s\n </div>\n </div>\n );\n}\n"]}
1
+ {"version":3,"file":"05-DepositProgressScreen.js","sourceRoot":"","sources":["../../../../src/Modal/NordFlow/screens/05-DepositProgressScreen.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAE9D,OAAO,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAG5C,MAAM,UAAU,qBAAqB;IAC3B,IAAA,WAAW,GAAK,0BAA0B,EAAE,YAAjC,CAAkC;IAC/C,IAAA,KAAgC,QAAQ,CAAC,CAAC,CAAC,EAA1C,WAAW,QAAA,EAAE,cAAc,QAAe,CAAC;IAClD,IAAM,OAAO,GAAG,GAAG,CAAC,CAAC,0BAA0B;IAE/C,IAAM,OAAO,GAAG;QACd,OAAO,EAAE,IAAI;QACb,KAAK,EAAE,oBAAoB;QAC3B,QAAQ,EAAE,2CAA2C;QACrD,QAAQ,EAAE,KAAK;KAChB,CAAA;IAED,oCAAoC;IACpC,SAAS,CAAC;QACR,IAAM,KAAK,GAAG,WAAW,CAAC;YACxB,cAAc,CAAC,UAAC,QAAQ;gBACtB,IAAI,QAAQ,IAAI,OAAO,EAAE,CAAC;oBACxB,aAAa,CAAC,KAAK,CAAC,CAAC;oBACrB,OAAO,OAAO,CAAC;gBACjB,CAAC;gBACD,OAAO,QAAQ,GAAG,CAAC,CAAC;YACtB,CAAC,CAAC,CAAC;QACL,CAAC,EAAE,IAAI,CAAC,CAAC;QAET,4BAA4B;QAC5B,OAAO,cAAM,OAAA,aAAa,CAAC,KAAK,CAAC,EAApB,CAAoB,CAAC;IACpC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,0DAA0D;IAC1D,IAAM,yBAAyB,GAAG;QAChC,IAAM,kBAAkB,GAAG,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,aAAa,CAAC,GAAG,CAAC;QAC5D,IAAM,WAAW,GACf,kBAAkB,KAAK,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;QAE7D,6BACK,OAAO,KACV,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,qBAAc,WAAW,aAAU,EAC3D,QAAQ,EACN,OAAO,CAAC,QAAQ;gBAChB,4CAAqC,WAAW,aAAU,IAC5D;IACJ,CAAC,CAAC;IAEF,IAAM,cAAc,GAAG,yBAAyB,EAAE,CAAC;IAEnD,OAAO,CACL,eAAK,SAAS,EAAC,0BAA0B,aACvC,KAAC,cAAc,IAAC,OAAO,EAAE,cAAc,GAAI,EAC3C,eAAK,SAAS,EAAC,8CAA8C,+BAC5C,WAAW,UAAM,OAAO,SACnC,IACF,CACP,CAAC;AACJ,CAAC","sourcesContent":["import { WaitingMessage } from '../components/WaitingMessage';\nimport { WaitingMessageState } from '../types';\nimport { useN1WalletInternalContext } from '../../../Provider/hooks';\nimport { N1SessionMode } from '../../../Provider/types';\nimport { useState, useEffect } from 'react';\n\n\nexport function DepositProgressScreen() {\n const { sessionMode } = useN1WalletInternalContext();\n const [elapsedTime, setElapsedTime] = useState(0);\n const maxTime = 300; // Maximum time in seconds\n\n const message = {\n visible: true,\n title: 'Processing Deposit',\n subtitle: 'Please wait while we process your deposit',\n isTyping: false,\n }\n\n // Start timer when component mounts\n useEffect(() => {\n const timer = setInterval(() => {\n setElapsedTime((prevTime) => {\n if (prevTime >= maxTime) {\n clearInterval(timer);\n return maxTime;\n }\n return prevTime + 1;\n });\n }, 1000);\n\n // Clean up timer on unmount\n return () => clearInterval(timer);\n }, []);\n\n // Determine the appropriate message based on session mode\n const getSessionSpecificMessage = () => {\n const currentSessionMode = sessionMode ?? N1SessionMode.NTS;\n const accountType =\n currentSessionMode === N1SessionMode.Nord ? 'Nord' : 'NTS';\n\n return {\n ...message,\n title: message.title || `Processing ${accountType} Deposit`,\n subtitle:\n message.subtitle ||\n `Please wait while we process your ${accountType} deposit`,\n };\n };\n\n const sessionMessage = getSessionSpecificMessage();\n\n return (\n <div className=\"overflow-hidden relative\">\n <WaitingMessage message={sessionMessage} />\n <div className=\"text-center mt-4 text-sm text-n1-ww-gray-500\">\n Time elapsed: {elapsedTime}s / {maxTime}s\n </div>\n </div>\n );\n}\n"]}
@@ -121,12 +121,12 @@ export function DepositSuccessScreen() {
121
121
  var toggleDetails = function () {
122
122
  setShowDetails(function (prev) { return !prev; });
123
123
  };
124
- return (_jsx("div", { className: "relative w-full px-4", children: _jsx("div", { className: "flex flex-col space-y-6", children: _jsxs("div", { className: "w-full", children: [_jsx("div", { className: "relative w-full px-3 py-3 flex items-center justify-center transition-all duration-300 ".concat(ANIMATION_EASE, " ").concat(showDetails ? 'opacity-0 max-h-0' : 'opacity-100 max-h-[200px]'), children: _jsxs("div", { className: "relative w-full px-5 py-8 transition-all duration-300 ".concat(ANIMATION_EASE, " ").concat(showDetails ? 'max-h-0 overflow-hidden' : 'max-h-[200px]'), children: [_jsx("div", { className: "w-2 h-2 bg-green-200 dark:bg-emerald-800 absolute -top-2 -left-2 rounded-sm" }), _jsx("div", { className: "w-2 h-2 bg-green-200 dark:bg-emerald-800 absolute -top-2 -right-2 rounded-sm" }), _jsx("div", { className: "w-2 h-2 bg-green-200 dark:bg-emerald-800 absolute -bottom-2 -left-2 rounded-sm" }), _jsx("div", { className: "w-2 h-2 bg-green-200 dark:bg-emerald-800 absolute -bottom-2 -right-2 rounded-sm" }), _jsxs("p", { className: "text-5xl md:text-7xl tracking-tight text-green-500/80 dark:text-emerald-500/80 font-medium pt-4 underline text-center n1-animate-fade-up", style: { animationDelay: '0.3s' }, children: ["+", Number(amount).toLocaleString(), _jsx("span", { className: "text-xl md:text-2xl text-green-500/50 dark:text-emerald-500/50 ml-2", children: tokenSymbol })] }), _jsx("div", { className: "absolute bottom-0 left-0 right-0 flex justify-center -mb-3", children: _jsxs("button", { onClick: toggleDetails, className: "\n group flex items-center space-x-1 px-3 py-1 text-xs font-medium \n transition-colors duration-200 focus:outline-none\n ".concat(showDetails
124
+ return (_jsx("div", { className: "relative w-full px-4", children: _jsx("div", { className: "flex flex-col space-y-6", children: _jsxs("div", { className: "w-full", children: [_jsx("div", { className: "relative w-full px-3 py-3 flex items-center justify-center transition-all duration-300 ".concat(ANIMATION_EASE, " ").concat(showDetails ? 'opacity-0 max-h-0' : 'opacity-100 max-h-[200px]'), children: _jsxs("div", { className: "relative w-full px-5 py-8 transition-all duration-300 ".concat(ANIMATION_EASE, " ").concat(showDetails ? 'max-h-0 overflow-hidden' : 'max-h-[200px]'), children: [_jsx("div", { className: "w-2 h-2 bg-green-200 dark:bg-emerald-800 absolute -top-2 -left-2 rounded-sm" }), _jsx("div", { className: "w-2 h-2 bg-green-200 dark:bg-emerald-800 absolute -top-2 -right-2 rounded-sm" }), _jsx("div", { className: "w-2 h-2 bg-green-200 dark:bg-emerald-800 absolute -bottom-2 -left-2 rounded-sm" }), _jsx("div", { className: "w-2 h-2 bg-green-200 dark:bg-emerald-800 absolute -bottom-2 -right-2 rounded-sm" }), _jsxs("p", { className: "text-5xl md:text-7xl tracking-tight text-green-500/80 dark:text-emerald-500/80 font-medium pt-4 underline text-center n1-ww-animate-fade-up", style: { animationDelay: '0.3s' }, children: ["+", Number(amount).toLocaleString(), _jsx("span", { className: "text-xl md:text-2xl text-green-500/50 dark:text-emerald-500/50 ml-2", children: tokenSymbol })] }), _jsx("div", { className: "absolute bottom-0 left-0 right-0 flex justify-center -mb-3", children: _jsxs("button", { onClick: toggleDetails, className: "\n group flex items-center space-x-1 px-3 py-1 text-xs font-medium \n transition-colors duration-200 focus:outline-none\n ".concat(showDetails
125
125
  ? 'text-green-600 dark:text-emerald-400 hover:text-green-700 dark:hover:text-emerald-300'
126
- : 'text-n1-gray-500 dark:text-n1-gray-400 hover:text-green-600 dark:hover:text-emerald-400', "\n "), children: [_jsx("span", { children: "View details" }), _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", className: "h-3 w-3 transition-transform duration-200", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M19 9l-7 7-7-7" }) })] }) })] }) }), _jsx("div", { className: "transition-all duration-300 ease-in-out overflow-hidden ".concat(showDetails
126
+ : 'text-n1-ww-gray-500 dark:text-n1-ww-gray-400 hover:text-green-600 dark:hover:text-emerald-400', "\n "), children: [_jsx("span", { children: "View details" }), _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", className: "h-3 w-3 transition-transform duration-200", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M19 9l-7 7-7-7" }) })] }) })] }) }), _jsx("div", { className: "transition-all duration-300 ease-in-out overflow-hidden ".concat(showDetails
127
127
  ? 'max-h-[500px] opacity-100 -mt-4'
128
- : 'max-h-0 opacity-0'), children: _jsx(TransactionTable, { tableValues: animatedTableValues, onClose: toggleDetails }) }), _jsxs("div", { className: "mt-6", children: [showWaitingMessage && (_jsx("p", { className: "text-sm text-n1-gray-600 dark:text-neutral-400 text-center mb-2 n1-animate-pulse", children: "Please wait a moment..." })), _jsx("button", { onClick: isContinueEnabled ? completeDeposit : undefined, onMouseEnter: function () { return setIsHovered(true); }, onMouseLeave: function () { return setIsHovered(false); }, className: "\n group relative w-full overflow-hidden rounded-md border-2 bg-n1-gray-100 dark:bg-neutral-950 py-4 text-center\n transition-all duration-300 ".concat(ANIMATION_EASE, "\n cursor-pointer border-n1-gray-200 dark:border-n1-gray-800 hover:border-n1-gray-400 dark:hover:border-white/60\n ").concat(!isContinueEnabled ? 'opacity-50 cursor-not-allowed' : '', "\n "), style: {
128
+ : 'max-h-0 opacity-0'), children: _jsx(TransactionTable, { tableValues: animatedTableValues, onClose: toggleDetails }) }), _jsxs("div", { className: "mt-6", children: [showWaitingMessage && (_jsx("p", { className: "text-sm text-n1-ww-gray-600 dark:text-neutral-400 text-center mb-2 n1-ww-animate-pulse", children: "Please wait a moment..." })), _jsx("button", { onClick: isContinueEnabled ? completeDeposit : undefined, onMouseEnter: function () { return setIsHovered(true); }, onMouseLeave: function () { return setIsHovered(false); }, className: "\n group relative w-full overflow-hidden rounded-md border-2 bg-n1-ww-gray-100 dark:bg-neutral-950 py-4 text-center\n transition-all duration-300 ".concat(ANIMATION_EASE, "\n cursor-pointer border-n1-ww-gray-200 dark:border-n1-ww-gray-800 hover:border-n1-ww-gray-400 dark:hover:border-white/60\n ").concat(!isContinueEnabled ? 'opacity-50 cursor-not-allowed' : '', "\n "), style: {
129
129
  transform: isHovered && isContinueEnabled ? 'scale(0.99)' : 'scale(1)',
130
- }, disabled: !isContinueEnabled, children: _jsx("span", { className: "\n text-base font-medium tracking-wide transition-colors duration-300 ".concat(ANIMATION_EASE, "\n text-n1-gray-700 dark:text-n1-gray-300 group-hover:text-n1-gray-900 dark:group-hover:text-white\n "), children: "Continue" }) })] })] }) }) }));
130
+ }, disabled: !isContinueEnabled, children: _jsx("span", { className: "\n text-base font-medium tracking-wide transition-colors duration-300 ".concat(ANIMATION_EASE, "\n text-n1-ww-gray-700 dark:text-n1-ww-gray-300 group-hover:text-n1-ww-gray-900 dark:group-hover:text-white\n "), children: "Continue" }) })] })] }) }) }));
131
131
  }
132
132
  //# sourceMappingURL=06-DepositSuccessScreen.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"06-DepositSuccessScreen.js","sourceRoot":"","sources":["../../../../src/Modal/NordFlow/screens/06-DepositSuccessScreen.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useEffect, useState } from 'react';\nimport { TransactionTable } from '../components/TransactionTable';\nimport { ANIMATION_EASE, TYPING_INTERVAL } from '../constants';\nimport { TableValues } from '../types';\nimport { useN1WalletContext } from '../../../Provider/hooks';\nimport { isNordConfigured } from '../utils/nordUtils';\nimport { useDepositContext } from '../context/DepositContext';\nimport { getExplorerUrl } from '../../../Logic/transactionManager';\n\nexport function DepositSuccessScreen() {\n const { amount, completeDeposit, transactionResult } = useDepositContext();\n const { nord } = useN1WalletContext();\n const [isHovered, setIsHovered] = useState(false);\n const [showDetails, setShowDetails] = useState(false);\n const [animatedTableValues, setAnimatedTableValues] = useState<TableValues>({\n amount: { text: '', visible: false, typing: false },\n tx: { text: '', visible: false, typing: false },\n from: { text: '', visible: false, typing: false },\n to: { text: '', visible: false, typing: false },\n network: { text: '', visible: false, typing: false },\n status: { text: '', visible: false, typing: false },\n });\n // Add state to track if the button should be enabled\n const [isContinueEnabled, setIsContinueEnabled] = useState(false);\n // Add state to show a message about waiting\n const [showWaitingMessage, setShowWaitingMessage] = useState(true);\n \n // Create table values from transaction details\n const tableValues = {\n amount: { text: transactionResult!.amount, visible: true, typing: false },\n tx: { text: transactionResult!.transactionId, visible: true, typing: false },\n from: { text: transactionResult!.fromAddress, visible: true, typing: false },\n to: { text: transactionResult!.toAddress, visible: true, typing: false },\n network: { text: transactionResult!.networkName, visible: true, typing: false },\n status: { text: transactionResult!.status, visible: true, typing: false },\n };\n\n // Get token information from Nord if available\n const [tokenSymbol, setTokenSymbol] = useState('USDC');\n\n // Try to get token information from Nord\n useEffect(() => {\n if (nord && isNordConfigured(nord)) {\n try {\n // Find the USDC token or the first token\n const usdcToken =\n nord.tokens.find((t) => t.symbol === 'USDC') || nord.tokens[0];\n if (usdcToken) {\n setTokenSymbol(usdcToken.symbol);\n }\n } catch (error) {\n console.warn('Error getting token information from Nord:', error);\n }\n }\n }, [nord]);\n\n // Add animation to table values\n useEffect(() => {\n if (!showDetails) return;\n\n // Extract the text values from the tableValues\n const values = {\n amount: `${Number(amount).toLocaleString()} ${tokenSymbol}`,\n tx: tableValues.tx.text,\n from: tableValues.from.text,\n to: tableValues.to.text,\n network: tableValues.network.text,\n status: tableValues.status.text,\n };\n\n // Animate each field with typing effect\n Object.entries(values).forEach(([key, value], index) => {\n setTimeout(() => {\n // Make the field visible first\n setAnimatedTableValues((prev) => ({\n ...prev,\n [key]: {\n ...prev[key as keyof typeof prev],\n visible: true,\n typing: true,\n },\n }));\n\n let textIndex = 0;\n // Type out each character with the typing animation\n const interval = setInterval(() => {\n if (textIndex <= value.length) {\n setAnimatedTableValues((prev) => ({\n ...prev,\n [key]: {\n text: value.slice(0, textIndex),\n visible: true,\n typing: textIndex < value.length,\n },\n }));\n textIndex++;\n } else {\n clearInterval(interval);\n setAnimatedTableValues((prev) => ({\n ...prev,\n [key]: {\n text: value,\n visible: true,\n typing: false,\n },\n }));\n }\n }, TYPING_INTERVAL);\n }, index * 300); // Slightly faster staggering for better UX\n });\n }, [showDetails]);\n\n // Enable the continue button after a minimum viewing time\n useEffect(() => {\n const enableTimer = setTimeout(() => {\n setIsContinueEnabled(true);\n setShowWaitingMessage(false);\n }, 4000);\n\n return () => clearTimeout(enableTimer);\n }, []);\n\n const toggleDetails = () => {\n setShowDetails((prev) => !prev);\n };\n\n return (\n <div className=\"relative w-full px-4\">\n <div className=\"flex flex-col space-y-6\">\n {/* Amount display */}\n <div className=\"w-full\">\n <div\n className={`relative w-full px-3 py-3 flex items-center justify-center transition-all duration-300 ${ANIMATION_EASE} ${showDetails ? 'opacity-0 max-h-0' : 'opacity-100 max-h-[200px]'}`}\n >\n <div\n className={`relative w-full px-5 py-8 transition-all duration-300 ${ANIMATION_EASE} ${\n showDetails ? 'max-h-0 overflow-hidden' : 'max-h-[200px]'\n }`}\n >\n <div className=\"w-2 h-2 bg-green-200 dark:bg-emerald-800 absolute -top-2 -left-2 rounded-sm\"></div>\n <div className=\"w-2 h-2 bg-green-200 dark:bg-emerald-800 absolute -top-2 -right-2 rounded-sm\"></div>\n <div className=\"w-2 h-2 bg-green-200 dark:bg-emerald-800 absolute -bottom-2 -left-2 rounded-sm\"></div>\n <div className=\"w-2 h-2 bg-green-200 dark:bg-emerald-800 absolute -bottom-2 -right-2 rounded-sm\"></div>\n <p\n className=\"text-5xl md:text-7xl tracking-tight text-green-500/80 dark:text-emerald-500/80 font-medium pt-4 underline text-center n1-animate-fade-up\"\n style={{ animationDelay: '0.3s' }}\n >\n +{Number(amount).toLocaleString()}\n <span className=\"text-xl md:text-2xl text-green-500/50 dark:text-emerald-500/50 ml-2\">\n {tokenSymbol}\n </span>\n </p>\n\n {/* Subtle transaction details toggle positioned at the bottom of amount display */}\n <div className=\"absolute bottom-0 left-0 right-0 flex justify-center -mb-3\">\n <button\n onClick={toggleDetails}\n className={`\n group flex items-center space-x-1 px-3 py-1 text-xs font-medium \n transition-colors duration-200 focus:outline-none\n ${\n showDetails\n ? 'text-green-600 dark:text-emerald-400 hover:text-green-700 dark:hover:text-emerald-300'\n : 'text-n1-gray-500 dark:text-n1-gray-400 hover:text-green-600 dark:hover:text-emerald-400'\n }\n `}\n >\n <span>View details</span>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"h-3 w-3 transition-transform duration-200\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n stroke=\"currentColor\"\n >\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d=\"M19 9l-7 7-7-7\"\n />\n </svg>\n </button>\n </div>\n </div>\n </div>\n <div\n className={`transition-all duration-300 ease-in-out overflow-hidden ${\n showDetails\n ? 'max-h-[500px] opacity-100 -mt-4'\n : 'max-h-0 opacity-0'\n }`}\n >\n <TransactionTable\n tableValues={animatedTableValues}\n onClose={toggleDetails}\n />\n </div>\n\n {/* Continue button */}\n <div className=\"mt-6\">\n {showWaitingMessage && (\n <p className=\"text-sm text-n1-gray-600 dark:text-neutral-400 text-center mb-2 n1-animate-pulse\">\n Please wait a moment...\n </p>\n )}\n <button\n onClick={isContinueEnabled ? completeDeposit : undefined}\n onMouseEnter={() => setIsHovered(true)}\n onMouseLeave={() => setIsHovered(false)}\n className={`\n group relative w-full overflow-hidden rounded-md border-2 bg-n1-gray-100 dark:bg-neutral-950 py-4 text-center\n transition-all duration-300 ${ANIMATION_EASE}\n cursor-pointer border-n1-gray-200 dark:border-n1-gray-800 hover:border-n1-gray-400 dark:hover:border-white/60\n ${!isContinueEnabled ? 'opacity-50 cursor-not-allowed' : ''}\n `}\n style={{\n transform:\n isHovered && isContinueEnabled ? 'scale(0.99)' : 'scale(1)',\n }}\n disabled={!isContinueEnabled}\n >\n <span\n className={`\n text-base font-medium tracking-wide transition-colors duration-300 ${ANIMATION_EASE}\n text-n1-gray-700 dark:text-n1-gray-300 group-hover:text-n1-gray-900 dark:group-hover:text-white\n `}\n >\n Continue\n </span>\n </button>\n </div>\n </div>\n </div>\n </div>\n );\n}\n"]}
1
+ {"version":3,"file":"06-DepositSuccessScreen.js","sourceRoot":"","sources":["../../../../src/Modal/NordFlow/screens/06-DepositSuccessScreen.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useEffect, useState } from 'react';\nimport { TransactionTable } from '../components/TransactionTable';\nimport { ANIMATION_EASE, TYPING_INTERVAL } from '../constants';\nimport { TableValues } from '../types';\nimport { useN1WalletContext } from '../../../Provider/hooks';\nimport { isNordConfigured } from '../utils/nordUtils';\nimport { useDepositContext } from '../context/DepositContext';\nimport { getExplorerUrl } from '../../../Logic/transactionManager';\n\nexport function DepositSuccessScreen() {\n const { amount, completeDeposit, transactionResult } = useDepositContext();\n const { nord } = useN1WalletContext();\n const [isHovered, setIsHovered] = useState(false);\n const [showDetails, setShowDetails] = useState(false);\n const [animatedTableValues, setAnimatedTableValues] = useState<TableValues>({\n amount: { text: '', visible: false, typing: false },\n tx: { text: '', visible: false, typing: false },\n from: { text: '', visible: false, typing: false },\n to: { text: '', visible: false, typing: false },\n network: { text: '', visible: false, typing: false },\n status: { text: '', visible: false, typing: false },\n });\n // Add state to track if the button should be enabled\n const [isContinueEnabled, setIsContinueEnabled] = useState(false);\n // Add state to show a message about waiting\n const [showWaitingMessage, setShowWaitingMessage] = useState(true);\n \n // Create table values from transaction details\n const tableValues = {\n amount: { text: transactionResult!.amount, visible: true, typing: false },\n tx: { text: transactionResult!.transactionId, visible: true, typing: false },\n from: { text: transactionResult!.fromAddress, visible: true, typing: false },\n to: { text: transactionResult!.toAddress, visible: true, typing: false },\n network: { text: transactionResult!.networkName, visible: true, typing: false },\n status: { text: transactionResult!.status, visible: true, typing: false },\n };\n\n // Get token information from Nord if available\n const [tokenSymbol, setTokenSymbol] = useState('USDC');\n\n // Try to get token information from Nord\n useEffect(() => {\n if (nord && isNordConfigured(nord)) {\n try {\n // Find the USDC token or the first token\n const usdcToken =\n nord.tokens.find((t) => t.symbol === 'USDC') || nord.tokens[0];\n if (usdcToken) {\n setTokenSymbol(usdcToken.symbol);\n }\n } catch (error) {\n console.warn('Error getting token information from Nord:', error);\n }\n }\n }, [nord]);\n\n // Add animation to table values\n useEffect(() => {\n if (!showDetails) return;\n\n // Extract the text values from the tableValues\n const values = {\n amount: `${Number(amount).toLocaleString()} ${tokenSymbol}`,\n tx: tableValues.tx.text,\n from: tableValues.from.text,\n to: tableValues.to.text,\n network: tableValues.network.text,\n status: tableValues.status.text,\n };\n\n // Animate each field with typing effect\n Object.entries(values).forEach(([key, value], index) => {\n setTimeout(() => {\n // Make the field visible first\n setAnimatedTableValues((prev) => ({\n ...prev,\n [key]: {\n ...prev[key as keyof typeof prev],\n visible: true,\n typing: true,\n },\n }));\n\n let textIndex = 0;\n // Type out each character with the typing animation\n const interval = setInterval(() => {\n if (textIndex <= value.length) {\n setAnimatedTableValues((prev) => ({\n ...prev,\n [key]: {\n text: value.slice(0, textIndex),\n visible: true,\n typing: textIndex < value.length,\n },\n }));\n textIndex++;\n } else {\n clearInterval(interval);\n setAnimatedTableValues((prev) => ({\n ...prev,\n [key]: {\n text: value,\n visible: true,\n typing: false,\n },\n }));\n }\n }, TYPING_INTERVAL);\n }, index * 300); // Slightly faster staggering for better UX\n });\n }, [showDetails]);\n\n // Enable the continue button after a minimum viewing time\n useEffect(() => {\n const enableTimer = setTimeout(() => {\n setIsContinueEnabled(true);\n setShowWaitingMessage(false);\n }, 4000);\n\n return () => clearTimeout(enableTimer);\n }, []);\n\n const toggleDetails = () => {\n setShowDetails((prev) => !prev);\n };\n\n return (\n <div className=\"relative w-full px-4\">\n <div className=\"flex flex-col space-y-6\">\n {/* Amount display */}\n <div className=\"w-full\">\n <div\n className={`relative w-full px-3 py-3 flex items-center justify-center transition-all duration-300 ${ANIMATION_EASE} ${showDetails ? 'opacity-0 max-h-0' : 'opacity-100 max-h-[200px]'}`}\n >\n <div\n className={`relative w-full px-5 py-8 transition-all duration-300 ${ANIMATION_EASE} ${\n showDetails ? 'max-h-0 overflow-hidden' : 'max-h-[200px]'\n }`}\n >\n <div className=\"w-2 h-2 bg-green-200 dark:bg-emerald-800 absolute -top-2 -left-2 rounded-sm\"></div>\n <div className=\"w-2 h-2 bg-green-200 dark:bg-emerald-800 absolute -top-2 -right-2 rounded-sm\"></div>\n <div className=\"w-2 h-2 bg-green-200 dark:bg-emerald-800 absolute -bottom-2 -left-2 rounded-sm\"></div>\n <div className=\"w-2 h-2 bg-green-200 dark:bg-emerald-800 absolute -bottom-2 -right-2 rounded-sm\"></div>\n <p\n className=\"text-5xl md:text-7xl tracking-tight text-green-500/80 dark:text-emerald-500/80 font-medium pt-4 underline text-center n1-ww-animate-fade-up\"\n style={{ animationDelay: '0.3s' }}\n >\n +{Number(amount).toLocaleString()}\n <span className=\"text-xl md:text-2xl text-green-500/50 dark:text-emerald-500/50 ml-2\">\n {tokenSymbol}\n </span>\n </p>\n\n {/* Subtle transaction details toggle positioned at the bottom of amount display */}\n <div className=\"absolute bottom-0 left-0 right-0 flex justify-center -mb-3\">\n <button\n onClick={toggleDetails}\n className={`\n group flex items-center space-x-1 px-3 py-1 text-xs font-medium \n transition-colors duration-200 focus:outline-none\n ${\n showDetails\n ? 'text-green-600 dark:text-emerald-400 hover:text-green-700 dark:hover:text-emerald-300'\n : 'text-n1-ww-gray-500 dark:text-n1-ww-gray-400 hover:text-green-600 dark:hover:text-emerald-400'\n }\n `}\n >\n <span>View details</span>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"h-3 w-3 transition-transform duration-200\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n stroke=\"currentColor\"\n >\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d=\"M19 9l-7 7-7-7\"\n />\n </svg>\n </button>\n </div>\n </div>\n </div>\n <div\n className={`transition-all duration-300 ease-in-out overflow-hidden ${\n showDetails\n ? 'max-h-[500px] opacity-100 -mt-4'\n : 'max-h-0 opacity-0'\n }`}\n >\n <TransactionTable\n tableValues={animatedTableValues}\n onClose={toggleDetails}\n />\n </div>\n\n {/* Continue button */}\n <div className=\"mt-6\">\n {showWaitingMessage && (\n <p className=\"text-sm text-n1-ww-gray-600 dark:text-neutral-400 text-center mb-2 n1-ww-animate-pulse\">\n Please wait a moment...\n </p>\n )}\n <button\n onClick={isContinueEnabled ? completeDeposit : undefined}\n onMouseEnter={() => setIsHovered(true)}\n onMouseLeave={() => setIsHovered(false)}\n className={`\n group relative w-full overflow-hidden rounded-md border-2 bg-n1-ww-gray-100 dark:bg-neutral-950 py-4 text-center\n transition-all duration-300 ${ANIMATION_EASE}\n cursor-pointer border-n1-ww-gray-200 dark:border-n1-ww-gray-800 hover:border-n1-ww-gray-400 dark:hover:border-white/60\n ${!isContinueEnabled ? 'opacity-50 cursor-not-allowed' : ''}\n `}\n style={{\n transform:\n isHovered && isContinueEnabled ? 'scale(0.99)' : 'scale(1)',\n }}\n disabled={!isContinueEnabled}\n >\n <span\n className={`\n text-base font-medium tracking-wide transition-colors duration-300 ${ANIMATION_EASE}\n text-n1-ww-gray-700 dark:text-n1-ww-gray-300 group-hover:text-n1-ww-gray-900 dark:group-hover:text-white\n `}\n >\n Continue\n </span>\n </button>\n </div>\n </div>\n </div>\n </div>\n );\n}\n"]}
@@ -19,12 +19,12 @@ export function AuthLoadingScreen() {
19
19
  authInitiatedRef.current = false;
20
20
  performAuth();
21
21
  };
22
- return (_jsxs("div", { className: "flex flex-col items-center justify-center py-12 space-y-6", children: [authStatus === 'loading' && _jsx(LoadingSquares, {}), authStatus === 'success' && (_jsx("div", { className: "text-green-500 text-4xl mb-4", children: "\u2713" })), authStatus === 'error' && (_jsx("div", { className: "text-red-500 text-4xl mb-4", children: "\u26A0\uFE0F" })), _jsxs("div", { className: "space-y-2 text-center w-[300px]", children: [_jsxs("h3", { className: "text-xl text-n1-gray-800 dark:text-white font-semibold", children: [authStatus === 'loading' && 'Authenticating', authStatus === 'success' && 'Authentication Successful', authStatus === 'error' && 'Authentication Failed'] }), _jsxs("p", { className: "text-sm text-n1-gray-600 dark:text-neutral-400", children: [authStatus === 'loading' && authStatusMessage
22
+ return (_jsxs("div", { className: "flex flex-col items-center justify-center py-12 space-y-6", children: [authStatus === 'loading' && _jsx(LoadingSquares, {}), authStatus === 'success' && (_jsx("div", { className: "text-green-500 text-4xl mb-4", children: "\u2713" })), authStatus === 'error' && (_jsx("div", { className: "text-red-500 text-4xl mb-4", children: "\u26A0\uFE0F" })), _jsxs("div", { className: "space-y-2 text-center w-[300px]", children: [_jsxs("h3", { className: "text-xl text-n1-ww-gray-800 dark:text-white font-semibold", children: [authStatus === 'loading' && 'Authenticating', authStatus === 'success' && 'Authentication Successful', authStatus === 'error' && 'Authentication Failed'] }), _jsxs("p", { className: "text-sm text-n1-ww-gray-600 dark:text-neutral-400", children: [authStatus === 'loading' && authStatusMessage
23
23
  ? authStatusMessage
24
24
  : 'Please wait while we create your Nord account', authStatus === 'success' && 'You have been logged in successfully', authStatus === 'error' &&
25
25
  (authErrorMessage ||
26
- 'There was an error during authentication. Please try again.')] }), authStatus === 'error' && (_jsx("div", { className: "mt-6 space-y-3", children: _jsx("button", { onClick: handleRetry, onMouseEnter: function () { return setIsHovered(true); }, onMouseLeave: function () { return setIsHovered(false); }, className: "\n group relative w-full overflow-hidden rounded-md border-2 bg-n1-gray-100 dark:bg-neutral-950 py-4 text-center\n transition-all duration-300 ".concat(ANIMATION_EASE, "\n cursor-pointer border-n1-gray-200 dark:border-n1-gray-800 hover:border-n1-gray-400 dark:hover:border-white/60\n "), style: {
26
+ 'There was an error during authentication. Please try again.')] }), authStatus === 'error' && (_jsx("div", { className: "mt-6 space-y-3", children: _jsx("button", { onClick: handleRetry, onMouseEnter: function () { return setIsHovered(true); }, onMouseLeave: function () { return setIsHovered(false); }, className: "\n group relative w-full overflow-hidden rounded-md border-2 bg-n1-ww-gray-100 dark:bg-neutral-950 py-4 text-center\n transition-all duration-300 ".concat(ANIMATION_EASE, "\n cursor-pointer border-n1-ww-gray-200 dark:border-n1-ww-gray-800 hover:border-n1-ww-gray-400 dark:hover:border-white/60\n "), style: {
27
27
  transform: isHovered ? 'scale(0.99)' : 'scale(1)',
28
- }, children: _jsx("span", { className: "\n text-base font-medium tracking-wide transition-colors duration-300 ".concat(ANIMATION_EASE, "\n text-n1-gray-700 dark:text-n1-gray-300 group-hover:text-n1-gray-900 dark:group-hover:text-white\n "), children: "Try Again" }) }) }))] })] }));
28
+ }, children: _jsx("span", { className: "\n text-base font-medium tracking-wide transition-colors duration-300 ".concat(ANIMATION_EASE, "\n text-n1-ww-gray-700 dark:text-n1-ww-gray-300 group-hover:text-n1-ww-gray-900 dark:group-hover:text-white\n "), children: "Try Again" }) }) }))] })] }));
29
29
  }
30
30
  //# sourceMappingURL=07-AuthLoadingScreen.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"07-AuthLoadingScreen.js","sourceRoot":"","sources":["../../../../src/Modal/NordFlow/screens/07-AuthLoadingScreen.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAE9D,MAAM,UAAU,iBAAiB;IACzB,IAAA,KAA4B,QAAQ,CAAU,KAAK,CAAC,EAAnD,SAAS,QAAA,EAAE,YAAY,QAA4B,CAAC;IAC3D,IAAM,gBAAgB,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAEvC,2DAA2D;IACrD,IAAA,KAKF,iBAAiB,EAAE,EAJrB,WAAW,iBAAA,EACX,UAAU,gBAAA,EACV,gBAAgB,sBAAA,EAChB,iBAAiB,uBACI,CAAC;IAExB,SAAS,CAAC;QACR,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC;YAC9B,gBAAgB,CAAC,OAAO,GAAG,IAAI,CAAC;YAChC,WAAW,EAAE,CAAC;QAChB,CAAC;IACH,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAElB,IAAM,WAAW,GAAG;QAClB,iCAAiC;QACjC,gBAAgB,CAAC,OAAO,GAAG,KAAK,CAAC;QACjC,WAAW,EAAE,CAAC;IAChB,CAAC,CAAC;IAEF,OAAO,CACL,eAAK,SAAS,EAAC,2DAA2D,aACvE,UAAU,KAAK,SAAS,IAAI,KAAC,cAAc,KAAG,EAC9C,UAAU,KAAK,SAAS,IAAI,CAC3B,cAAK,SAAS,EAAC,8BAA8B,uBAAQ,CACtD,EACA,UAAU,KAAK,OAAO,IAAI,CACzB,cAAK,SAAS,EAAC,4BAA4B,6BAAS,CACrD,EAED,eAAK,SAAS,EAAC,iCAAiC,aAC9C,cAAI,SAAS,EAAC,wDAAwD,aACnE,UAAU,KAAK,SAAS,IAAI,gBAAgB,EAC5C,UAAU,KAAK,SAAS,IAAI,2BAA2B,EACvD,UAAU,KAAK,OAAO,IAAI,uBAAuB,IAC/C,EACL,aAAG,SAAS,EAAC,gDAAgD,aAC1D,UAAU,KAAK,SAAS,IAAI,iBAAiB;gCAC5C,CAAC,CAAC,iBAAiB;gCACnB,CAAC,CAAC,+CAA+C,EAClD,UAAU,KAAK,SAAS,IAAI,sCAAsC,EAClE,UAAU,KAAK,OAAO;gCACrB,CAAC,gBAAgB;oCACf,6DAA6D,CAAC,IAChE,EAEH,UAAU,KAAK,OAAO,IAAI,CACzB,cAAK,SAAS,EAAC,gBAAgB,YAC7B,iBACE,OAAO,EAAE,WAAW,EACpB,YAAY,EAAE,cAAM,OAAA,YAAY,CAAC,IAAI,CAAC,EAAlB,CAAkB,EACtC,YAAY,EAAE,cAAM,OAAA,YAAY,CAAC,KAAK,CAAC,EAAnB,CAAmB,EACvC,SAAS,EAAE,uLAEqB,cAAc,oJAE7C,EACD,KAAK,EAAE;gCACL,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU;6BAClD,YAED,eACE,SAAS,EAAE,+FAC0D,cAAc,sIAEpF,0BAGM,GACA,GACL,CACP,IACG,IACF,CACP,CAAC;AACJ,CAAC","sourcesContent":["import { useEffect, useRef, useState } from 'react';\nimport { LoadingSquares } from '../components/LoadingSquares';\nimport { ANIMATION_EASE } from '../constants';\nimport { useDepositContext } from '../context/DepositContext';\n\nexport function AuthLoadingScreen() {\n const [isHovered, setIsHovered] = useState<boolean>(false);\n const authInitiatedRef = useRef(false);\n \n // Get auth-related state and functions from DepositContext\n const { \n performAuth,\n authStatus, \n authErrorMessage, \n authStatusMessage\n } = useDepositContext();\n\n useEffect(() => {\n if (!authInitiatedRef.current) {\n authInitiatedRef.current = true;\n performAuth();\n }\n }, [performAuth]);\n\n const handleRetry = () => {\n // Reset and retry authentication\n authInitiatedRef.current = false;\n performAuth();\n };\n\n return (\n <div className=\"flex flex-col items-center justify-center py-12 space-y-6\">\n {authStatus === 'loading' && <LoadingSquares />}\n {authStatus === 'success' && (\n <div className=\"text-green-500 text-4xl mb-4\">✓</div>\n )}\n {authStatus === 'error' && (\n <div className=\"text-red-500 text-4xl mb-4\">⚠️</div>\n )}\n\n <div className=\"space-y-2 text-center w-[300px]\">\n <h3 className=\"text-xl text-n1-gray-800 dark:text-white font-semibold\">\n {authStatus === 'loading' && 'Authenticating'}\n {authStatus === 'success' && 'Authentication Successful'}\n {authStatus === 'error' && 'Authentication Failed'}\n </h3>\n <p className=\"text-sm text-n1-gray-600 dark:text-neutral-400\">\n {authStatus === 'loading' && authStatusMessage\n ? authStatusMessage\n : 'Please wait while we create your Nord account'}\n {authStatus === 'success' && 'You have been logged in successfully'}\n {authStatus === 'error' &&\n (authErrorMessage ||\n 'There was an error during authentication. Please try again.')}\n </p>\n\n {authStatus === 'error' && (\n <div className=\"mt-6 space-y-3\">\n <button\n onClick={handleRetry}\n onMouseEnter={() => setIsHovered(true)}\n onMouseLeave={() => setIsHovered(false)}\n className={`\n group relative w-full overflow-hidden rounded-md border-2 bg-n1-gray-100 dark:bg-neutral-950 py-4 text-center\n transition-all duration-300 ${ANIMATION_EASE}\n cursor-pointer border-n1-gray-200 dark:border-n1-gray-800 hover:border-n1-gray-400 dark:hover:border-white/60\n `}\n style={{\n transform: isHovered ? 'scale(0.99)' : 'scale(1)',\n }}\n >\n <span\n className={`\n text-base font-medium tracking-wide transition-colors duration-300 ${ANIMATION_EASE}\n text-n1-gray-700 dark:text-n1-gray-300 group-hover:text-n1-gray-900 dark:group-hover:text-white\n `}\n >\n Try Again\n </span>\n </button>\n </div>\n )}\n </div>\n </div>\n );\n}\n"]}
1
+ {"version":3,"file":"07-AuthLoadingScreen.js","sourceRoot":"","sources":["../../../../src/Modal/NordFlow/screens/07-AuthLoadingScreen.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAE9D,MAAM,UAAU,iBAAiB;IACzB,IAAA,KAA4B,QAAQ,CAAU,KAAK,CAAC,EAAnD,SAAS,QAAA,EAAE,YAAY,QAA4B,CAAC;IAC3D,IAAM,gBAAgB,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAEvC,2DAA2D;IACrD,IAAA,KAKF,iBAAiB,EAAE,EAJrB,WAAW,iBAAA,EACX,UAAU,gBAAA,EACV,gBAAgB,sBAAA,EAChB,iBAAiB,uBACI,CAAC;IAExB,SAAS,CAAC;QACR,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC;YAC9B,gBAAgB,CAAC,OAAO,GAAG,IAAI,CAAC;YAChC,WAAW,EAAE,CAAC;QAChB,CAAC;IACH,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAElB,IAAM,WAAW,GAAG;QAClB,iCAAiC;QACjC,gBAAgB,CAAC,OAAO,GAAG,KAAK,CAAC;QACjC,WAAW,EAAE,CAAC;IAChB,CAAC,CAAC;IAEF,OAAO,CACL,eAAK,SAAS,EAAC,2DAA2D,aACvE,UAAU,KAAK,SAAS,IAAI,KAAC,cAAc,KAAG,EAC9C,UAAU,KAAK,SAAS,IAAI,CAC3B,cAAK,SAAS,EAAC,8BAA8B,uBAAQ,CACtD,EACA,UAAU,KAAK,OAAO,IAAI,CACzB,cAAK,SAAS,EAAC,4BAA4B,6BAAS,CACrD,EAED,eAAK,SAAS,EAAC,iCAAiC,aAC9C,cAAI,SAAS,EAAC,2DAA2D,aACtE,UAAU,KAAK,SAAS,IAAI,gBAAgB,EAC5C,UAAU,KAAK,SAAS,IAAI,2BAA2B,EACvD,UAAU,KAAK,OAAO,IAAI,uBAAuB,IAC/C,EACL,aAAG,SAAS,EAAC,mDAAmD,aAC7D,UAAU,KAAK,SAAS,IAAI,iBAAiB;gCAC5C,CAAC,CAAC,iBAAiB;gCACnB,CAAC,CAAC,+CAA+C,EAClD,UAAU,KAAK,SAAS,IAAI,sCAAsC,EAClE,UAAU,KAAK,OAAO;gCACrB,CAAC,gBAAgB;oCACf,6DAA6D,CAAC,IAChE,EAEH,UAAU,KAAK,OAAO,IAAI,CACzB,cAAK,SAAS,EAAC,gBAAgB,YAC7B,iBACE,OAAO,EAAE,WAAW,EACpB,YAAY,EAAE,cAAM,OAAA,YAAY,CAAC,IAAI,CAAC,EAAlB,CAAkB,EACtC,YAAY,EAAE,cAAM,OAAA,YAAY,CAAC,KAAK,CAAC,EAAnB,CAAmB,EACvC,SAAS,EAAE,0LAEqB,cAAc,6JAE7C,EACD,KAAK,EAAE;gCACL,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU;6BAClD,YAED,eACE,SAAS,EAAE,+FAC0D,cAAc,+IAEpF,0BAGM,GACA,GACL,CACP,IACG,IACF,CACP,CAAC;AACJ,CAAC","sourcesContent":["import { useEffect, useRef, useState } from 'react';\nimport { LoadingSquares } from '../components/LoadingSquares';\nimport { ANIMATION_EASE } from '../constants';\nimport { useDepositContext } from '../context/DepositContext';\n\nexport function AuthLoadingScreen() {\n const [isHovered, setIsHovered] = useState<boolean>(false);\n const authInitiatedRef = useRef(false);\n \n // Get auth-related state and functions from DepositContext\n const { \n performAuth,\n authStatus, \n authErrorMessage, \n authStatusMessage\n } = useDepositContext();\n\n useEffect(() => {\n if (!authInitiatedRef.current) {\n authInitiatedRef.current = true;\n performAuth();\n }\n }, [performAuth]);\n\n const handleRetry = () => {\n // Reset and retry authentication\n authInitiatedRef.current = false;\n performAuth();\n };\n\n return (\n <div className=\"flex flex-col items-center justify-center py-12 space-y-6\">\n {authStatus === 'loading' && <LoadingSquares />}\n {authStatus === 'success' && (\n <div className=\"text-green-500 text-4xl mb-4\">✓</div>\n )}\n {authStatus === 'error' && (\n <div className=\"text-red-500 text-4xl mb-4\">⚠️</div>\n )}\n\n <div className=\"space-y-2 text-center w-[300px]\">\n <h3 className=\"text-xl text-n1-ww-gray-800 dark:text-white font-semibold\">\n {authStatus === 'loading' && 'Authenticating'}\n {authStatus === 'success' && 'Authentication Successful'}\n {authStatus === 'error' && 'Authentication Failed'}\n </h3>\n <p className=\"text-sm text-n1-ww-gray-600 dark:text-neutral-400\">\n {authStatus === 'loading' && authStatusMessage\n ? authStatusMessage\n : 'Please wait while we create your Nord account'}\n {authStatus === 'success' && 'You have been logged in successfully'}\n {authStatus === 'error' &&\n (authErrorMessage ||\n 'There was an error during authentication. Please try again.')}\n </p>\n\n {authStatus === 'error' && (\n <div className=\"mt-6 space-y-3\">\n <button\n onClick={handleRetry}\n onMouseEnter={() => setIsHovered(true)}\n onMouseLeave={() => setIsHovered(false)}\n className={`\n group relative w-full overflow-hidden rounded-md border-2 bg-n1-ww-gray-100 dark:bg-neutral-950 py-4 text-center\n transition-all duration-300 ${ANIMATION_EASE}\n cursor-pointer border-n1-ww-gray-200 dark:border-n1-ww-gray-800 hover:border-n1-ww-gray-400 dark:hover:border-white/60\n `}\n style={{\n transform: isHovered ? 'scale(0.99)' : 'scale(1)',\n }}\n >\n <span\n className={`\n text-base font-medium tracking-wide transition-colors duration-300 ${ANIMATION_EASE}\n text-n1-ww-gray-700 dark:text-n1-ww-gray-300 group-hover:text-n1-ww-gray-900 dark:group-hover:text-white\n `}\n >\n Try Again\n </span>\n </button>\n </div>\n )}\n </div>\n </div>\n );\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  interface FinalSuccessScreenProps {
2
2
  onDone?: () => void;
3
3
  }
4
- export declare function FinalSuccessScreen({ onDone }: FinalSuccessScreenProps): import("react/jsx-runtime").JSX.Element;
4
+ export declare function FinalSuccessScreen({ onDone }: FinalSuccessScreenProps): import("react/jsx-runtime").JSX.Element | null;
5
5
  export {};
@@ -1,31 +1,33 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useEffect, useState } from 'react';
2
+ import { useEffect, useRef, useState } from 'react';
3
3
  import { useN1WalletContext, useN1WalletInternalContext, } from '../../../Provider/hooks';
4
4
  import { N1SessionMode } from '../../../Provider/types';
5
5
  import { ANIMATION_EASE } from '../constants';
6
- import { isNordConfigured } from '../utils/nordUtils';
7
6
  export function FinalSuccessScreen(_a) {
8
7
  var onDone = _a.onDone;
9
8
  var _b = useState(false), isHovered = _b[0], setIsHovered = _b[1];
10
- var _c = useN1WalletContext(), nord = _c.nord, address = _c.address, nordUser = _c.nordUser;
11
- var _d = useN1WalletInternalContext(), sessionMode = _d.sessionMode, setIsConnected = _d.setIsConnected;
12
- // Add a minimum viewing time before enabling the button
9
+ var address = useN1WalletContext().address;
10
+ var _c = useN1WalletInternalContext(), sessionMode = _c.sessionMode, setIsConnected = _c.setIsConnected, skipFinalScreen = _c.skipFinalScreen;
11
+ var hasCalledOnDone = useRef(false);
13
12
  useEffect(function () {
14
13
  setIsConnected(true);
15
14
  }, [setIsConnected]);
15
+ useEffect(function () {
16
+ if (skipFinalScreen && onDone && !hasCalledOnDone.current) {
17
+ hasCalledOnDone.current = true;
18
+ onDone();
19
+ }
20
+ }, [skipFinalScreen, onDone]);
21
+ if (skipFinalScreen) {
22
+ return null;
23
+ }
16
24
  var handleDone = function () {
17
25
  if (onDone) {
18
26
  onDone();
19
27
  }
20
28
  };
21
- // Get the appropriate title and message based on Nord configuration
22
29
  var getTitle = function () {
23
- if (nord && isNordConfigured(nord)) {
24
- return 'Authentication Successful!';
25
- }
26
- else {
27
- return 'Authentication Successful!';
28
- }
30
+ return 'Authentication Successful!';
29
31
  };
30
32
  var getMessage = function () {
31
33
  if (sessionMode === N1SessionMode.Nord) {
@@ -35,8 +37,8 @@ export function FinalSuccessScreen(_a) {
35
37
  return 'Your wallet has been successfully connected';
36
38
  }
37
39
  };
38
- return (_jsx("div", { className: "overflow-hidden relative", children: _jsxs("div", { className: "space-y-8", children: [_jsxs("div", { className: "flex flex-col items-center justify-center pt-4", children: [_jsx("div", { className: "mb-6", children: _jsx("div", { className: "w-20 h-20 rounded-full bg-green-100 dark:bg-green-900/30 flex items-center justify-center", children: _jsx("svg", { className: "w-10 h-10 text-green-500 dark:text-green-400", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "2", d: "M5 13l4 4L19 7" }) }) }) }), _jsx("h2", { className: "text-2xl text-n1-gray-800 dark:text-white font-semibold mb-2 text-center", children: getTitle() }), _jsx("p", { className: "text-lg text-n1-gray-700 dark:text-neutral-300 text-center", children: getMessage() }), address && (_jsxs("p", { className: "text-sm text-n1-gray-500 dark:text-neutral-400 text-center mt-2", children: ["Wallet: ", address.substring(0, 6), "...", address.substring(address.length - 4)] }))] }), _jsx("button", { onClick: handleDone, onMouseEnter: function () { return setIsHovered(true); }, onMouseLeave: function () { return setIsHovered(false); }, className: "\n group relative w-full overflow-hidden rounded-md border-2 bg-n1-gray-100 dark:bg-neutral-950 py-4 text-center\n transition-all duration-300 ".concat(ANIMATION_EASE, "\n cursor-pointer border-n1-gray-200 dark:border-n1-gray-800 hover:border-n1-gray-400 dark:hover:border-white/60\n "), style: {
40
+ return (_jsx("div", { className: "overflow-hidden relative", children: _jsxs("div", { className: "space-y-8", children: [_jsxs("div", { className: "flex flex-col items-center justify-center pt-4", children: [_jsx("div", { className: "mb-6", children: _jsx("div", { className: "w-20 h-20 rounded-full bg-green-100 dark:bg-green-900/30 flex items-center justify-center", children: _jsx("svg", { className: "w-10 h-10 text-green-500 dark:text-green-400", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "2", d: "M5 13l4 4L19 7" }) }) }) }), _jsx("h2", { className: "text-2xl text-n1-ww-gray-800 dark:text-white font-semibold mb-2 text-center", children: getTitle() }), _jsx("p", { className: "text-lg text-n1-ww-gray-700 dark:text-neutral-300 text-center", children: getMessage() }), address && (_jsxs("p", { className: "text-sm text-n1-ww-gray-500 dark:text-neutral-400 text-center mt-2", children: ["Wallet: ", address.substring(0, 6), "...", address.substring(address.length - 4)] }))] }), _jsx("button", { onClick: handleDone, onMouseEnter: function () { return setIsHovered(true); }, onMouseLeave: function () { return setIsHovered(false); }, className: "\n group relative w-full overflow-hidden rounded-md border-2 bg-n1-ww-gray-100 dark:bg-neutral-950 py-4 text-center\n transition-all duration-300 ".concat(ANIMATION_EASE, "\n cursor-pointer border-n1-ww-gray-200 dark:border-n1-ww-gray-800 hover:border-n1-ww-gray-400 dark:hover:border-white/60\n "), style: {
39
41
  transform: isHovered ? 'scale(0.99)' : 'scale(1)',
40
- }, children: _jsx("span", { className: "\n text-base font-medium tracking-wide transition-colors duration-300 ".concat(ANIMATION_EASE, "\n text-n1-gray-700 dark:text-n1-gray-300 group-hover:text-n1-gray-900 dark:group-hover:text-white\n "), children: "Open App" }) })] }) }));
42
+ }, children: _jsx("span", { className: "\n text-base font-medium tracking-wide transition-colors duration-300 ".concat(ANIMATION_EASE, "\n text-n1-ww-gray-700 dark:text-n1-ww-gray-300 group-hover:text-n1-ww-gray-900 dark:group-hover:text-white\n "), children: "Open App" }) })] }) }));
41
43
  }
42
44
  //# sourceMappingURL=08-FinalSuccessScreen.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"08-FinalSuccessScreen.js","sourceRoot":"","sources":["../../../../src/Modal/NordFlow/screens/08-FinalSuccessScreen.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useEffect, useState } from 'react';\nimport {\n useN1WalletContext,\n useN1WalletInternalContext,\n} from '../../../Provider/hooks';\nimport { N1SessionMode } from '../../../Provider/types';\nimport { ANIMATION_EASE } from '../constants';\nimport { isNordConfigured } from '../utils/nordUtils';\n\ninterface FinalSuccessScreenProps {\n onDone?: () => void;\n}\n\nexport function FinalSuccessScreen({ onDone }: FinalSuccessScreenProps) {\n const [isHovered, setIsHovered] = useState(false);\n const { nord, address, nordUser } = useN1WalletContext();\n const { sessionMode, setIsConnected } = useN1WalletInternalContext();\n \n // Add a minimum viewing time before enabling the button\n useEffect(() => {\n setIsConnected(true);\n }, [setIsConnected]);\n\n const handleDone = () => {\n if (onDone) {\n onDone();\n }\n };\n\n // Get the appropriate title and message based on Nord configuration\n const getTitle = () => {\n if (nord && isNordConfigured(nord)) {\n return 'Authentication Successful!';\n } else {\n return 'Authentication Successful!';\n }\n };\n\n const getMessage = () => {\n if (sessionMode === N1SessionMode.Nord) {\n return 'Your wallet has been successfully connected';\n } else {\n return 'Your wallet has been successfully connected';\n }\n };\n\n return (\n <div className=\"overflow-hidden relative\">\n <div className=\"space-y-8\">\n <div className=\"flex flex-col items-center justify-center pt-4\">\n <div className=\"mb-6\">\n {/* Success icon/animation */}\n <div className=\"w-20 h-20 rounded-full bg-green-100 dark:bg-green-900/30 flex items-center justify-center\">\n <svg\n className=\"w-10 h-10 text-green-500 dark:text-green-400\"\n fill=\"none\"\n stroke=\"currentColor\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth=\"2\"\n d=\"M5 13l4 4L19 7\"\n />\n </svg>\n </div>\n </div>\n\n <h2 className=\"text-2xl text-n1-gray-800 dark:text-white font-semibold mb-2 text-center\">\n {getTitle()}\n </h2>\n\n <p className=\"text-lg text-n1-gray-700 dark:text-neutral-300 text-center\">\n {getMessage()}\n </p>\n\n {/* Display wallet address if available */}\n {address && (\n <p className=\"text-sm text-n1-gray-500 dark:text-neutral-400 text-center mt-2\">\n Wallet: {address.substring(0, 6)}...\n {address.substring(address.length - 4)}\n </p>\n )}\n </div>\n\n <button\n onClick={handleDone}\n onMouseEnter={() => setIsHovered(true)}\n onMouseLeave={() => setIsHovered(false)}\n className={`\n group relative w-full overflow-hidden rounded-md border-2 bg-n1-gray-100 dark:bg-neutral-950 py-4 text-center\n transition-all duration-300 ${ANIMATION_EASE}\n cursor-pointer border-n1-gray-200 dark:border-n1-gray-800 hover:border-n1-gray-400 dark:hover:border-white/60\n `}\n style={{\n transform: isHovered ? 'scale(0.99)' : 'scale(1)',\n }}\n >\n <span\n className={`\n text-base font-medium tracking-wide transition-colors duration-300 ${ANIMATION_EASE}\n text-n1-gray-700 dark:text-n1-gray-300 group-hover:text-n1-gray-900 dark:group-hover:text-white\n `}\n >\n Open App\n </span>\n </button>\n </div>\n </div>\n );\n}\n"]}
1
+ {"version":3,"file":"08-FinalSuccessScreen.js","sourceRoot":"","sources":["../../../../src/Modal/NordFlow/screens/08-FinalSuccessScreen.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useEffect, useRef, useState } from 'react';\nimport {\n useN1WalletContext,\n useN1WalletInternalContext,\n} from '../../../Provider/hooks';\nimport { N1SessionMode } from '../../../Provider/types';\nimport { ANIMATION_EASE } from '../constants';\n\ninterface FinalSuccessScreenProps {\n onDone?: () => void;\n}\n\nexport function FinalSuccessScreen({ onDone }: FinalSuccessScreenProps) {\n const [isHovered, setIsHovered] = useState(false);\n const { address } = useN1WalletContext();\n const { sessionMode, setIsConnected, skipFinalScreen } = useN1WalletInternalContext();\n const hasCalledOnDone = useRef(false);\n\n useEffect(() => {\n setIsConnected(true);\n }, [setIsConnected]);\n\n useEffect(() => {\n if (skipFinalScreen && onDone && !hasCalledOnDone.current) {\n hasCalledOnDone.current = true;\n onDone();\n }\n }, [skipFinalScreen, onDone]);\n\n if (skipFinalScreen) {\n return null;\n }\n\n const handleDone = () => {\n if (onDone) {\n onDone();\n }\n };\n\n const getTitle = () => {\n return 'Authentication Successful!';\n };\n\n const getMessage = () => {\n if (sessionMode === N1SessionMode.Nord) {\n return 'Your wallet has been successfully connected';\n } else {\n return 'Your wallet has been successfully connected';\n }\n };\n\n return (\n <div className=\"overflow-hidden relative\">\n <div className=\"space-y-8\">\n <div className=\"flex flex-col items-center justify-center pt-4\">\n <div className=\"mb-6\">\n {/* Success icon/animation */}\n <div className=\"w-20 h-20 rounded-full bg-green-100 dark:bg-green-900/30 flex items-center justify-center\">\n <svg\n className=\"w-10 h-10 text-green-500 dark:text-green-400\"\n fill=\"none\"\n stroke=\"currentColor\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth=\"2\"\n d=\"M5 13l4 4L19 7\"\n />\n </svg>\n </div>\n </div>\n\n <h2 className=\"text-2xl text-n1-ww-gray-800 dark:text-white font-semibold mb-2 text-center\">\n {getTitle()}\n </h2>\n\n <p className=\"text-lg text-n1-ww-gray-700 dark:text-neutral-300 text-center\">\n {getMessage()}\n </p>\n\n {/* Display wallet address if available */}\n {address && (\n <p className=\"text-sm text-n1-ww-gray-500 dark:text-neutral-400 text-center mt-2\">\n Wallet: {address.substring(0, 6)}...\n {address.substring(address.length - 4)}\n </p>\n )}\n </div>\n\n <button\n onClick={handleDone}\n onMouseEnter={() => setIsHovered(true)}\n onMouseLeave={() => setIsHovered(false)}\n className={`\n group relative w-full overflow-hidden rounded-md border-2 bg-n1-ww-gray-100 dark:bg-neutral-950 py-4 text-center\n transition-all duration-300 ${ANIMATION_EASE}\n cursor-pointer border-n1-ww-gray-200 dark:border-n1-ww-gray-800 hover:border-n1-ww-gray-400 dark:hover:border-white/60\n `}\n style={{\n transform: isHovered ? 'scale(0.99)' : 'scale(1)',\n }}\n >\n <span\n className={`\n text-base font-medium tracking-wide transition-colors duration-300 ${ANIMATION_EASE}\n text-n1-ww-gray-700 dark:text-n1-ww-gray-300 group-hover:text-n1-ww-gray-900 dark:group-hover:text-white\n `}\n >\n Open App\n </span>\n </button>\n </div>\n </div>\n );\n}\n"]}
@@ -61,8 +61,8 @@ export function ErrorScreen() {
61
61
  }
62
62
  return 'Please try again or try a different wallet.';
63
63
  };
64
- return (_jsx("div", { className: "overflow-hidden relative", children: _jsxs("div", { className: "space-y-6", children: [_jsxs("div", { className: "flex flex-col items-center justify-center py-4", children: [_jsx("div", { className: "mb-6", children: _jsx("div", { className: "w-20 h-20 rounded-full bg-red-100 dark:bg-red-900/30 flex items-center justify-center", children: _jsx("svg", { className: "w-10 h-10 text-red-500 dark:text-red-400", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "2", d: "M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z" }) }) }) }), _jsx("h2", { className: "text-xl text-n1-gray-800 dark:text-white font-semibold mb-2 text-center", children: isNordError ? 'Nord Error' : 'Something went wrong' }), _jsx("p", { className: "text-sm text-n1-gray-600 dark:text-neutral-400 text-center mb-2 max-w-xs", children: errorMessage }), _jsx("p", { className: "text-xs text-n1-gray-500 dark:text-neutral-500 text-center mb-6 max-w-xs", children: getSuggestion() })] }), _jsx("div", { className: "space-y-3", children: _jsx("button", { onClick: function () { }, onMouseEnter: function () { return setIsHovered('cancel'); }, onMouseLeave: function () { return setIsHovered(null); }, className: "\n group relative w-full overflow-hidden rounded-md border-2 border-n1-gray-200 dark:border-n1-gray-800 bg-white dark:bg-neutral-900 py-4 text-center\n transition-all duration-300 ".concat(ANIMATION_EASE, "\n cursor-pointer hover:bg-n1-gray-50 dark:hover:bg-neutral-950\n "), style: {
64
+ return (_jsx("div", { className: "overflow-hidden relative", children: _jsxs("div", { className: "space-y-6", children: [_jsxs("div", { className: "flex flex-col items-center justify-center py-4", children: [_jsx("div", { className: "mb-6", children: _jsx("div", { className: "w-20 h-20 rounded-full bg-red-100 dark:bg-red-900/30 flex items-center justify-center", children: _jsx("svg", { className: "w-10 h-10 text-red-500 dark:text-red-400", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "2", d: "M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z" }) }) }) }), _jsx("h2", { className: "text-xl text-n1-ww-gray-800 dark:text-white font-semibold mb-2 text-center", children: isNordError ? 'Nord Error' : 'Something went wrong' }), _jsx("p", { className: "text-sm text-n1-ww-gray-600 dark:text-neutral-400 text-center mb-2 max-w-xs", children: errorMessage }), _jsx("p", { className: "text-xs text-n1-ww-gray-500 dark:text-neutral-500 text-center mb-6 max-w-xs", children: getSuggestion() })] }), _jsx("div", { className: "space-y-3", children: _jsx("button", { onClick: function () { }, onMouseEnter: function () { return setIsHovered('cancel'); }, onMouseLeave: function () { return setIsHovered(null); }, className: "\n group relative w-full overflow-hidden rounded-md border-2 border-n1-ww-gray-200 dark:border-n1-ww-gray-800 bg-white dark:bg-neutral-900 py-4 text-center\n transition-all duration-300 ".concat(ANIMATION_EASE, "\n cursor-pointer hover:bg-n1-ww-gray-50 dark:hover:bg-neutral-950\n "), style: {
65
65
  transform: isHovered === 'cancel' ? 'scale(0.99)' : 'scale(1)',
66
- }, children: _jsx("span", { className: "\n text-base font-medium tracking-wide transition-colors duration-300 ".concat(ANIMATION_EASE, "\n text-n1-gray-500 dark:text-n1-gray-400 group-hover:text-n1-gray-700 dark:group-hover:text-n1-gray-300\n "), children: "Cancel" }) }) })] }) }));
66
+ }, children: _jsx("span", { className: "\n text-base font-medium tracking-wide transition-colors duration-300 ".concat(ANIMATION_EASE, "\n text-n1-ww-gray-500 dark:text-n1-ww-gray-400 group-hover:text-n1-ww-gray-700 dark:group-hover:text-n1-ww-gray-300\n "), children: "Cancel" }) }) })] }) }));
67
67
  }
68
68
  //# sourceMappingURL=09-ErrorScreen.js.map