@n1xyz/wallet-widget 0.0.14 → 0.0.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Modal/LoadingFallback.js +1 -1
- package/dist/Modal/LoadingFallback.js.map +1 -1
- package/dist/Modal/N1WalletModal.js +6 -5
- package/dist/Modal/N1WalletModal.js.map +1 -1
- package/dist/Modal/NTSFlow/LoadingFallback.js +1 -1
- package/dist/Modal/NTSFlow/LoadingFallback.js.map +1 -1
- package/dist/Modal/NTSFlow/components/BackButton.js +1 -1
- package/dist/Modal/NTSFlow/components/BackButton.js.map +1 -1
- package/dist/Modal/NTSFlow/components/ModalHeader.js +1 -1
- package/dist/Modal/NTSFlow/components/ModalHeader.js.map +1 -1
- package/dist/Modal/NTSFlow/views/ConnectView.js +2 -2
- package/dist/Modal/NTSFlow/views/ConnectView.js.map +1 -1
- package/dist/Modal/NTSFlow/views/CreateSessionView.js +5 -5
- package/dist/Modal/NTSFlow/views/CreateSessionView.js.map +1 -1
- package/dist/Modal/NTSFlow/views/CreateUserView.js +1 -1
- package/dist/Modal/NTSFlow/views/CreateUserView.js.map +1 -1
- package/dist/Modal/NTSFlow/views/NoWhitelistView.js +3 -3
- package/dist/Modal/NTSFlow/views/NoWhitelistView.js.map +1 -1
- package/dist/Modal/NTSFlow/views/SigningView.js +1 -1
- package/dist/Modal/NTSFlow/views/SigningView.js.map +1 -1
- package/dist/Modal/NordFlow/NordFlow.js +2 -2
- package/dist/Modal/NordFlow/NordFlow.js.map +1 -1
- package/dist/Modal/NordFlow/components/ChainButton.js +5 -5
- package/dist/Modal/NordFlow/components/ChainButton.js.map +1 -1
- package/dist/Modal/NordFlow/components/EVMChainsButton.js +4 -4
- package/dist/Modal/NordFlow/components/EVMChainsButton.js.map +1 -1
- package/dist/Modal/NordFlow/components/Header.js +1 -1
- package/dist/Modal/NordFlow/components/Header.js.map +1 -1
- package/dist/Modal/NordFlow/components/ImageWithFallback.js +1 -1
- package/dist/Modal/NordFlow/components/ImageWithFallback.js.map +1 -1
- package/dist/Modal/NordFlow/components/LoadingSquares.js +1 -1
- package/dist/Modal/NordFlow/components/LoadingSquares.js.map +1 -1
- package/dist/Modal/NordFlow/components/MoreButton.js +4 -4
- package/dist/Modal/NordFlow/components/MoreButton.js.map +1 -1
- package/dist/Modal/NordFlow/components/TransactionTable.js +6 -6
- package/dist/Modal/NordFlow/components/TransactionTable.js.map +1 -1
- package/dist/Modal/NordFlow/components/WaitingMessage.js +1 -1
- package/dist/Modal/NordFlow/components/WaitingMessage.js.map +1 -1
- package/dist/Modal/NordFlow/screens/00-IdleScreen.js +1 -1
- package/dist/Modal/NordFlow/screens/00-IdleScreen.js.map +1 -1
- package/dist/Modal/NordFlow/screens/01-ConnectWalletScreen.js +3 -3
- package/dist/Modal/NordFlow/screens/01-ConnectWalletScreen.js.map +1 -1
- package/dist/Modal/NordFlow/screens/02-EvmWalletAuthScreen.js +4 -4
- package/dist/Modal/NordFlow/screens/02-EvmWalletAuthScreen.js.map +1 -1
- package/dist/Modal/NordFlow/screens/03-ChainSelectionScreen.js +2 -2
- package/dist/Modal/NordFlow/screens/03-ChainSelectionScreen.js.map +1 -1
- package/dist/Modal/NordFlow/screens/04-AmountInputScreen.js +4 -4
- package/dist/Modal/NordFlow/screens/04-AmountInputScreen.js.map +1 -1
- package/dist/Modal/NordFlow/screens/05-DepositProgressScreen.js +1 -1
- package/dist/Modal/NordFlow/screens/05-DepositProgressScreen.js.map +1 -1
- package/dist/Modal/NordFlow/screens/06-DepositSuccessScreen.js +4 -4
- package/dist/Modal/NordFlow/screens/06-DepositSuccessScreen.js.map +1 -1
- package/dist/Modal/NordFlow/screens/07-AuthLoadingScreen.js +3 -3
- package/dist/Modal/NordFlow/screens/07-AuthLoadingScreen.js.map +1 -1
- package/dist/Modal/NordFlow/screens/08-FinalSuccessScreen.js +2 -2
- package/dist/Modal/NordFlow/screens/08-FinalSuccessScreen.js.map +1 -1
- package/dist/Modal/NordFlow/screens/09-ErrorScreen.js +2 -2
- package/dist/Modal/NordFlow/screens/09-ErrorScreen.js.map +1 -1
- package/dist/Modal/Sidebar/N1Sidebar.js +10 -10
- package/dist/Modal/Sidebar/N1Sidebar.js.map +1 -1
- package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketSelector.js +5 -5
- package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketSelector.js.map +1 -1
- package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketStats.js +3 -3
- package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketStats.js.map +1 -1
- package/dist/Modal/Sidebar/NordTradingView/NordTradingView.js +2 -2
- package/dist/Modal/Sidebar/NordTradingView/NordTradingView.js.map +1 -1
- package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBook.js +2 -2
- package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBook.js.map +1 -1
- package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookDepthVisualizer.js +1 -1
- package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookDepthVisualizer.js.map +1 -1
- package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookHeader.js +4 -4
- package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookHeader.js.map +1 -1
- package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookTable.js +6 -6
- package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookTable.js.map +1 -1
- package/dist/Modal/Sidebar/NordTradingView/TradeForm/AmountInput.js +1 -1
- package/dist/Modal/Sidebar/NordTradingView/TradeForm/AmountInput.js.map +1 -1
- package/dist/Modal/Sidebar/NordTradingView/TradeForm/BuySellTabs.js +3 -3
- package/dist/Modal/Sidebar/NordTradingView/TradeForm/BuySellTabs.js.map +1 -1
- package/dist/Modal/Sidebar/NordTradingView/TradeForm/FillModeSelector.js +7 -7
- package/dist/Modal/Sidebar/NordTradingView/TradeForm/FillModeSelector.js.map +1 -1
- package/dist/Modal/Sidebar/NordTradingView/TradeForm/OrderTypeSelector.js +13 -13
- package/dist/Modal/Sidebar/NordTradingView/TradeForm/OrderTypeSelector.js.map +1 -1
- package/dist/Modal/Sidebar/NordTradingView/TradeForm/PriceInput.js +1 -1
- package/dist/Modal/Sidebar/NordTradingView/TradeForm/PriceInput.js.map +1 -1
- package/dist/Modal/Sidebar/NordTradingView/TradeForm/SubmitButton.js +2 -2
- package/dist/Modal/Sidebar/NordTradingView/TradeForm/SubmitButton.js.map +1 -1
- package/dist/Modal/Sidebar/NordTradingView/TradeForm/TotalCalculator.js +1 -1
- package/dist/Modal/Sidebar/NordTradingView/TradeForm/TotalCalculator.js.map +1 -1
- package/dist/Modal/Sidebar/NordTradingView/TradeForm/TradeForm.js +5 -5
- package/dist/Modal/Sidebar/NordTradingView/TradeForm/TradeForm.js.map +1 -1
- package/dist/Modal/Sidebar/NordTradingView/UserBalances/UserBalances.js +1 -1
- package/dist/Modal/Sidebar/NordTradingView/UserBalances/UserBalances.js.map +1 -1
- package/dist/Modal/Sidebar/NordTradingView/UserOrders/UserOrders.js +5 -5
- package/dist/Modal/Sidebar/NordTradingView/UserOrders/UserOrders.js.map +1 -1
- package/dist/Modal/Sidebar/NordTradingView/UserPositions/UserPositions.js +4 -4
- package/dist/Modal/Sidebar/NordTradingView/UserPositions/UserPositions.js.map +1 -1
- package/dist/Provider/N1WalletProvider.js.map +1 -1
- package/dist/WidgetButton/N1ConnectButton.js +1 -1
- package/dist/WidgetButton/N1ConnectButton.js.map +1 -1
- package/dist/components/Logo.js.map +1 -1
- package/dist/components/QRCodeLoader.js +1 -1
- package/dist/components/QRCodeLoader.js.map +1 -1
- package/dist/components/logos/EVMChainsGroup.js +1 -1
- package/dist/components/logos/EVMChainsGroup.js.map +1 -1
- package/dist/components/logos/MoreChainsGroup.js +1 -1
- package/dist/components/logos/MoreChainsGroup.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/main.css +2 -1
- package/package.json +2 -2
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
export var LoadingFallback = function () { return (_jsx("div", { className: "flex items-center justify-center w-full h-full", children: _jsx("div", { className: "n1-animate-spin-slow rounded-full h-8 w-8 border-b-2 border-n1-gray-200 dark:border-n1-gray-800" }) })); };
|
|
2
|
+
export var LoadingFallback = function () { return (_jsx("div", { className: "flex items-center justify-center w-full h-full", children: _jsx("div", { className: "n1-ww-animate-spin-slow rounded-full h-8 w-8 border-b-2 border-n1-ww-gray-200 dark:border-n1-ww-gray-800" }) })); };
|
|
3
3
|
//# sourceMappingURL=LoadingFallback.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LoadingFallback.js","sourceRoot":"","sources":["../../src/Modal/LoadingFallback.tsx"],"names":[],"mappings":";AAEA,MAAM,CAAC,IAAM,eAAe,GAAa,cAAM,OAAA,CAC7C,cAAK,SAAS,EAAC,gDAAgD,YAC7D,cAAK,SAAS,EAAC,
|
|
1
|
+
{"version":3,"file":"LoadingFallback.js","sourceRoot":"","sources":["../../src/Modal/LoadingFallback.tsx"],"names":[],"mappings":";AAEA,MAAM,CAAC,IAAM,eAAe,GAAa,cAAM,OAAA,CAC7C,cAAK,SAAS,EAAC,gDAAgD,YAC7D,cAAK,SAAS,EAAC,0GAA0G,GAAO,GAC5H,CACP,EAJ8C,CAI9C,CAAC","sourcesContent":["import React from 'react';\n\nexport const LoadingFallback: React.FC = () => (\n <div className=\"flex items-center justify-center w-full h-full\">\n <div className=\"n1-ww-animate-spin-slow rounded-full h-8 w-8 border-b-2 border-n1-ww-gray-200 dark:border-n1-ww-gray-800\"></div>\n </div>\n);\n"]}
|
|
@@ -150,10 +150,11 @@ export function N1WalletModal() {
|
|
|
150
150
|
return [4 /*yield*/, signEd25519(message, sessionData_1.ed25519PrivateKey)];
|
|
151
151
|
case 1:
|
|
152
152
|
signature = _a.sent();
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
153
|
+
console.log("baby", {
|
|
154
|
+
signature: signature,
|
|
155
|
+
pubKey: sessionPubKey_1,
|
|
156
|
+
});
|
|
157
|
+
return [2 /*return*/, signature];
|
|
157
158
|
}
|
|
158
159
|
});
|
|
159
160
|
}); };
|
|
@@ -238,6 +239,6 @@ export function N1WalletModal() {
|
|
|
238
239
|
};
|
|
239
240
|
if (!showLogin && !showSidebar)
|
|
240
241
|
return null;
|
|
241
|
-
return (_jsxs("div", { className: darkMode ? 'dark' : '', children: [showLogin && (_jsxs("div", { className: "fixed inset-0 z-50 flex items-center justify-center w-full h-full", children: [_jsx("div", { className: "\n fixed inset-0 w-full h-full bg-black/20 dark:bg-black/40 backdrop-blur-sm\n transition-all duration-500 ".concat(ANIMATION_EASE, "\n ").concat(showLoginAnimation ? 'opacity-100' : 'opacity-0', "\n "), onClick: function () { return setStartClosingLogin(true); } }), _jsx("div", { className: "\n relative z-50 transition-all duration-500 ".concat(ANIMATION_EASE, "\n ").concat(showLoginAnimation ? 'opacity-100 scale-100' : 'opacity-0 scale-95', "\n "), children: sessionMode === N1SessionMode.Nord ? (_jsx(NordFlow, { onClose: handleNordFlowClose })) : (_jsx(NTSFlow, {})) })] })), _jsx(Suspense, { fallback: _jsx(LoadingFallback, {}), children: _jsx(N1Sidebar, {}) })] }));
|
|
242
|
+
return (_jsxs("div", { className: 'n1-wallet-widget ' + (darkMode ? 'dark' : ''), children: [showLogin && (_jsxs("div", { className: "fixed inset-0 z-50 flex items-center justify-center w-full h-full", children: [_jsx("div", { className: "\n fixed inset-0 w-full h-full bg-black/20 dark:bg-black/40 backdrop-blur-sm\n transition-all duration-500 ".concat(ANIMATION_EASE, "\n ").concat(showLoginAnimation ? 'opacity-100' : 'opacity-0', "\n "), onClick: function () { return setStartClosingLogin(true); } }), _jsx("div", { className: "\n relative z-50 transition-all duration-500 ".concat(ANIMATION_EASE, "\n ").concat(showLoginAnimation ? 'opacity-100 scale-100' : 'opacity-0 scale-95', "\n "), children: sessionMode === N1SessionMode.Nord ? (_jsx(NordFlow, { onClose: handleNordFlowClose })) : (_jsx(NTSFlow, {})) })] })), _jsx(Suspense, { fallback: _jsx(LoadingFallback, {}), children: _jsx(N1Sidebar, {}) })] }));
|
|
242
243
|
}
|
|
243
244
|
//# sourceMappingURL=N1WalletModal.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"N1WalletModal.js","sourceRoot":"","sources":["../../src/Modal/N1WalletModal.tsx"],"names":[],"mappings":"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","sourcesContent":["import { bs58Decode, getEd25519PublicKey, signEd25519 } from '@n1xyz/nts-sdk';\nimport { lazy, Suspense, useEffect, useState } from 'react';\nimport { ANIMATION_EASE } from './NordFlow/constants';\nimport { WalletError, WalletErrorCode } from '../errors/types';\nimport {\n getSessionKeysFromLocalStorage,\n getUser,\n getUserBalances,\n} from '../Logic/utils';\nimport {\n useN1WalletContext,\n useN1WalletInternalContext,\n} from '../Provider/hooks';\nimport { N1ModalViewMode, N1SessionMode } from '../Provider/types';\nimport { logger } from '../utils/logger';\nimport { LoadingFallback } from './LoadingFallback';\n\n// Lazy load components\nconst N1Sidebar = lazy(() =>\n import('./Sidebar/N1Sidebar').then((mod) => ({ default: mod.N1Sidebar }))\n);\n\n// Lazy load the NTSFlow component\nconst NTSFlow = lazy(() =>\n import('./NTSFlow').then((mod) => ({\n default: mod.NTSFlow,\n }))\n);\n\n// Lazy load the NordFlow component\nconst NordFlow = lazy(() =>\n import('./NordFlow/NordFlow').then((mod) => ({\n default: mod.NordFlow,\n }))\n);\n\nexport function N1WalletModal() {\n const { showLogin, setShowLogin, viewMode } = useN1WalletContext();\n\n const {\n setBalances,\n setViewMode,\n setUsername,\n setSessionPubKey,\n setSignMessageWithSessionKey,\n setIsConnected,\n setWalletPubKey,\n setStartClosingLogin,\n startClosingLogin,\n setLoading,\n setAddress,\n dynamicWallet,\n dynamicSdkHasLoaded,\n darkMode,\n handleError,\n showSidebar,\n sessionMode,\n } = useN1WalletInternalContext();\n\n const [showLoginAnimation, setShowLoginAnimation] = useState(false);\n\n // Handle loading state\n useEffect(() => {\n if (dynamicSdkHasLoaded || dynamicWallet) {\n setLoading(false);\n }\n }, [dynamicSdkHasLoaded, dynamicWallet]);\n\n // Initialize session when wallet is connected\n useEffect(() => {\n\n // For Nord mode, we don't need to execute the NTS flow\n if (sessionMode === N1SessionMode.Nord) {\n return;\n }\n\n const initializeSession = async () => {\n // If wallet is not connected, or not in connect mode, skip\n if (!dynamicWallet || viewMode !== N1ModalViewMode.Connect) {\n return;\n }\n\n // NTS Flow below\n // Wallet is connected or we're in connect mode\n // TODO: make this clearer/ more organized\n try {\n logger.debug('Initialize Session...');\n\n if (dynamicWallet) {\n // Check whitelist status first\n const response = await fetch(\n 'https://argus-1g4n.onrender.com/api/db/verifyWhitelist',\n {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({ address: dynamicWallet.address }),\n }\n );\n\n const whitelistData = await response.json();\n\n if (!whitelistData.isWhitelisted) {\n logger.info('Wallet not whitelisted');\n setViewMode(N1ModalViewMode.NoWhitelist);\n return;\n }\n }\n\n logger.group('Session Initialization');\n try {\n // Get wallet public key\n const walletPubKey =\n dynamicWallet.chain === 'SOL'\n ? bs58Decode(dynamicWallet.address)\n : Uint8Array.from(\n Buffer.from(dynamicWallet.address.slice(2), 'hex')\n );\n setWalletPubKey(walletPubKey);\n\n // Check for existing session\n const sessionData = getSessionKeysFromLocalStorage(\n dynamicWallet.address\n );\n if (!sessionData) {\n logger.info(\n 'No existing session found, transitioning to CreateSession'\n );\n setViewMode(N1ModalViewMode.CreateSession);\n return;\n }\n logger.debug('Session time', sessionData.createdAt);\n logger.debug(\n 'Session time',\n new Date(sessionData.createdAt).getTime()\n );\n logger.debug('Current time', Date.now());\n if (\n new Date(sessionData.createdAt).getTime() <\n Date.now() - 30 * 24 * 60 * 60 * 1000\n ) {\n // Session expired (older than 30 days)\n logger.info(\n 'Session expired, transitioning to CreateSession',\n new Date(sessionData.createdAt)\n );\n setViewMode(N1ModalViewMode.CreateSession);\n return;\n }\n\n // Use existing session\n logger.info('Using existing session');\n const sessionPubKey = await getEd25519PublicKey(\n sessionData.ed25519PrivateKey\n );\n setSessionPubKey(sessionPubKey);\n\n // Setup signing function\n const signFn = async (message: Uint8Array) => {\n logger.debug('signFn', { message });\n const signature = await signEd25519(\n message,\n sessionData.ed25519PrivateKey\n );\n return {\n signature,\n pubKey: sessionPubKey,\n };\n };\n setSignMessageWithSessionKey(() => signFn);\n\n // Fetch user data\n try {\n logger.debug('Fetching user data');\n const userData = await getUser();\n logger.debug('User data:', userData);\n\n if (!userData) {\n logger.info('No user data found, transitioning to CreatingUser');\n setViewMode(N1ModalViewMode.CreatingUser);\n return;\n }\n\n // User exists, set data and check balances\n setUsername(userData.name || '');\n setAddress(dynamicWallet.address);\n setWalletPubKey(walletPubKey);\n setIsConnected(true);\n\n // Fetch balances\n try {\n const balances = await getUserBalances(dynamicWallet.address);\n logger.debug('User balances:', balances);\n setBalances(balances);\n } catch (error) {\n logger.error('Error fetching balances:', error);\n // Continue anyway, non-critical error\n }\n\n // Success!\n setViewMode(N1ModalViewMode.Success);\n } catch (error) {\n logger.error('Error fetching user:', error);\n throw new WalletError(\n WalletErrorCode.USER_FETCH_FAILED,\n 'Failed to fetch user data'\n );\n }\n } finally {\n logger.groupEnd();\n }\n } catch (error) {\n logger.error('Error in session initialization:', error);\n handleError(\n error instanceof WalletError\n ? error\n : new WalletError(\n WalletErrorCode.SESSION_INITIALIZATION_FAILED,\n 'Failed to initialize session'\n )\n );\n }\n };\n\n initializeSession();\n }, [dynamicWallet, dynamicSdkHasLoaded, viewMode, sessionMode]);\n\n // Handle modal visibility\n useEffect(() => {\n if (showLogin) {\n setStartClosingLogin(false);\n setShowLoginAnimation(true);\n }\n }, [showLogin]);\n\n useEffect(() => {\n if (startClosingLogin) {\n setShowLoginAnimation(false);\n const timeout = setTimeout(() => {\n setShowLogin(false);\n setStartClosingLogin(false);\n }, 700);\n return () => clearTimeout(timeout);\n }\n }, [startClosingLogin, setShowLogin, setStartClosingLogin]);\n\n // Handle modal close for Nord mode\n const handleNordFlowClose = () => {\n setStartClosingLogin(true);\n };\n\n if (!showLogin && !showSidebar) return null;\n\n return (\n <div className={darkMode ? 'dark' : ''}>\n {showLogin && (\n <div className=\"fixed inset-0 z-50 flex items-center justify-center w-full h-full\">\n <div\n className={`\n fixed inset-0 w-full h-full bg-black/20 dark:bg-black/40 backdrop-blur-sm\n transition-all duration-500 ${ANIMATION_EASE}\n ${showLoginAnimation ? 'opacity-100' : 'opacity-0'}\n `}\n onClick={() => setStartClosingLogin(true)}\n />\n <div\n className={`\n relative z-50 transition-all duration-500 ${ANIMATION_EASE}\n ${showLoginAnimation ? 'opacity-100 scale-100' : 'opacity-0 scale-95'}\n `}\n >\n {sessionMode === N1SessionMode.Nord ? (\n <NordFlow onClose={handleNordFlowClose} />\n ) : (\n <NTSFlow />\n )}\n </div>\n </div>\n )}\n <Suspense fallback={<LoadingFallback />}>\n <N1Sidebar />\n </Suspense>\n </div>\n );\n}\n"]}
|
|
1
|
+
{"version":3,"file":"N1WalletModal.js","sourceRoot":"","sources":["../../src/Modal/N1WalletModal.tsx"],"names":[],"mappings":"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","sourcesContent":["import { bs58Decode, getEd25519PublicKey, signEd25519 } from '@n1xyz/nts-sdk';\nimport { lazy, Suspense, useEffect, useState } from 'react';\nimport { ANIMATION_EASE } from './NordFlow/constants';\nimport { WalletError, WalletErrorCode } from '../errors/types';\nimport {\n getSessionKeysFromLocalStorage,\n getUser,\n getUserBalances,\n} from '../Logic/utils';\nimport {\n useN1WalletContext,\n useN1WalletInternalContext,\n} from '../Provider/hooks';\nimport { N1ModalViewMode, N1SessionMode } from '../Provider/types';\nimport { logger } from '../utils/logger';\nimport { LoadingFallback } from './LoadingFallback';\n\n// Lazy load components\nconst N1Sidebar = lazy(() =>\n import('./Sidebar/N1Sidebar').then((mod) => ({ default: mod.N1Sidebar }))\n);\n\n// Lazy load the NTSFlow component\nconst NTSFlow = lazy(() =>\n import('./NTSFlow').then((mod) => ({\n default: mod.NTSFlow,\n }))\n);\n\n// Lazy load the NordFlow component\nconst NordFlow = lazy(() =>\n import('./NordFlow/NordFlow').then((mod) => ({\n default: mod.NordFlow,\n }))\n);\n\nexport function N1WalletModal() {\n const { showLogin, setShowLogin, viewMode } = useN1WalletContext();\n\n const {\n setBalances,\n setViewMode,\n setUsername,\n setSessionPubKey,\n setSignMessageWithSessionKey,\n setIsConnected,\n setWalletPubKey,\n setStartClosingLogin,\n startClosingLogin,\n setLoading,\n setAddress,\n dynamicWallet,\n dynamicSdkHasLoaded,\n darkMode,\n handleError,\n showSidebar,\n sessionMode,\n } = useN1WalletInternalContext();\n\n const [showLoginAnimation, setShowLoginAnimation] = useState(false);\n\n // Handle loading state\n useEffect(() => {\n if (dynamicSdkHasLoaded || dynamicWallet) {\n setLoading(false);\n }\n }, [dynamicSdkHasLoaded, dynamicWallet]);\n\n // Initialize session when wallet is connected\n useEffect(() => {\n\n // For Nord mode, we don't need to execute the NTS flow\n if (sessionMode === N1SessionMode.Nord) {\n return;\n }\n\n const initializeSession = async () => {\n // If wallet is not connected, or not in connect mode, skip\n if (!dynamicWallet || viewMode !== N1ModalViewMode.Connect) {\n return;\n }\n\n // NTS Flow below\n // Wallet is connected or we're in connect mode\n // TODO: make this clearer/ more organized\n try {\n logger.debug('Initialize Session...');\n\n if (dynamicWallet) {\n // Check whitelist status first\n const response = await fetch(\n 'https://argus-1g4n.onrender.com/api/db/verifyWhitelist',\n {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({ address: dynamicWallet.address }),\n }\n );\n\n const whitelistData = await response.json();\n\n if (!whitelistData.isWhitelisted) {\n logger.info('Wallet not whitelisted');\n setViewMode(N1ModalViewMode.NoWhitelist);\n return;\n }\n }\n\n logger.group('Session Initialization');\n try {\n // Get wallet public key\n const walletPubKey =\n dynamicWallet.chain === 'SOL'\n ? bs58Decode(dynamicWallet.address)\n : Uint8Array.from(\n Buffer.from(dynamicWallet.address.slice(2), 'hex')\n );\n setWalletPubKey(walletPubKey);\n\n // Check for existing session\n const sessionData = getSessionKeysFromLocalStorage(\n dynamicWallet.address\n );\n if (!sessionData) {\n logger.info(\n 'No existing session found, transitioning to CreateSession'\n );\n setViewMode(N1ModalViewMode.CreateSession);\n return;\n }\n logger.debug('Session time', sessionData.createdAt);\n logger.debug(\n 'Session time',\n new Date(sessionData.createdAt).getTime()\n );\n logger.debug('Current time', Date.now());\n if (\n new Date(sessionData.createdAt).getTime() <\n Date.now() - 30 * 24 * 60 * 60 * 1000\n ) {\n // Session expired (older than 30 days)\n logger.info(\n 'Session expired, transitioning to CreateSession',\n new Date(sessionData.createdAt)\n );\n setViewMode(N1ModalViewMode.CreateSession);\n return;\n }\n\n // Use existing session\n logger.info('Using existing session');\n const sessionPubKey = await getEd25519PublicKey(\n sessionData.ed25519PrivateKey\n );\n setSessionPubKey(sessionPubKey);\n\n // Setup signing function\n const signFn = async (message: Uint8Array) => {\n logger.debug('signFn', { message });\n const signature = await signEd25519(\n message,\n sessionData.ed25519PrivateKey\n );\n console.log(\"baby\", {\n signature,\n pubKey: sessionPubKey,\n })\n return signature;\n };\n setSignMessageWithSessionKey(() => signFn);\n\n // Fetch user data\n try {\n logger.debug('Fetching user data');\n const userData = await getUser();\n logger.debug('User data:', userData);\n\n if (!userData) {\n logger.info('No user data found, transitioning to CreatingUser');\n setViewMode(N1ModalViewMode.CreatingUser);\n return;\n }\n\n // User exists, set data and check balances\n setUsername(userData.name || '');\n setAddress(dynamicWallet.address);\n setWalletPubKey(walletPubKey);\n setIsConnected(true);\n\n // Fetch balances\n try {\n const balances = await getUserBalances(dynamicWallet.address);\n logger.debug('User balances:', balances);\n setBalances(balances);\n } catch (error) {\n logger.error('Error fetching balances:', error);\n // Continue anyway, non-critical error\n }\n\n // Success!\n setViewMode(N1ModalViewMode.Success);\n } catch (error) {\n logger.error('Error fetching user:', error);\n throw new WalletError(\n WalletErrorCode.USER_FETCH_FAILED,\n 'Failed to fetch user data'\n );\n }\n } finally {\n logger.groupEnd();\n }\n } catch (error) {\n logger.error('Error in session initialization:', error);\n handleError(\n error instanceof WalletError\n ? error\n : new WalletError(\n WalletErrorCode.SESSION_INITIALIZATION_FAILED,\n 'Failed to initialize session'\n )\n );\n }\n };\n\n initializeSession();\n }, [dynamicWallet, dynamicSdkHasLoaded, viewMode, sessionMode]);\n\n // Handle modal visibility\n useEffect(() => {\n if (showLogin) {\n setStartClosingLogin(false);\n setShowLoginAnimation(true);\n }\n }, [showLogin]);\n\n useEffect(() => {\n if (startClosingLogin) {\n setShowLoginAnimation(false);\n const timeout = setTimeout(() => {\n setShowLogin(false);\n setStartClosingLogin(false);\n }, 700);\n return () => clearTimeout(timeout);\n }\n }, [startClosingLogin, setShowLogin, setStartClosingLogin]);\n\n // Handle modal close for Nord mode\n const handleNordFlowClose = () => {\n setStartClosingLogin(true);\n };\n\n if (!showLogin && !showSidebar) return null;\n\n return (\n <div className={'n1-wallet-widget '+(darkMode ? 'dark' : '')}>\n {showLogin && (\n <div className=\"fixed inset-0 z-50 flex items-center justify-center w-full h-full\">\n <div\n className={`\n fixed inset-0 w-full h-full bg-black/20 dark:bg-black/40 backdrop-blur-sm\n transition-all duration-500 ${ANIMATION_EASE}\n ${showLoginAnimation ? 'opacity-100' : 'opacity-0'}\n `}\n onClick={() => setStartClosingLogin(true)}\n />\n <div\n className={`\n relative z-50 transition-all duration-500 ${ANIMATION_EASE}\n ${showLoginAnimation ? 'opacity-100 scale-100' : 'opacity-0 scale-95'}\n `}\n >\n {sessionMode === N1SessionMode.Nord ? (\n <NordFlow onClose={handleNordFlowClose} />\n ) : (\n <NTSFlow />\n )}\n </div>\n </div>\n )}\n <Suspense fallback={<LoadingFallback />}>\n <N1Sidebar />\n </Suspense>\n </div>\n );\n}\n"]}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
export var LoadingFallback = function () { return (_jsx("div", { className: "flex items-center justify-center w-full h-full", children: _jsx("div", { className: "n1-animate-spin-slow rounded-full h-8 w-8 border-b-2 border-n1-gray-200 dark:border-n1-gray-800" }) })); };
|
|
2
|
+
export var LoadingFallback = function () { return (_jsx("div", { className: "flex items-center justify-center w-full h-full", children: _jsx("div", { className: "n1-ww-animate-spin-slow rounded-full h-8 w-8 border-b-2 border-n1-ww-gray-200 dark:border-n1-ww-gray-800" }) })); };
|
|
3
3
|
//# sourceMappingURL=LoadingFallback.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LoadingFallback.js","sourceRoot":"","sources":["../../../src/Modal/NTSFlow/LoadingFallback.tsx"],"names":[],"mappings":";AAEA,MAAM,CAAC,IAAM,eAAe,GAAa,cAAM,OAAA,CAC7C,cAAK,SAAS,EAAC,gDAAgD,YAC7D,cAAK,SAAS,EAAC,
|
|
1
|
+
{"version":3,"file":"LoadingFallback.js","sourceRoot":"","sources":["../../../src/Modal/NTSFlow/LoadingFallback.tsx"],"names":[],"mappings":";AAEA,MAAM,CAAC,IAAM,eAAe,GAAa,cAAM,OAAA,CAC7C,cAAK,SAAS,EAAC,gDAAgD,YAC7D,cAAK,SAAS,EAAC,0GAA0G,GAAO,GAC5H,CACP,EAJ8C,CAI9C,CAAC","sourcesContent":["import React from 'react';\n\nexport const LoadingFallback: React.FC = () => (\n <div className=\"flex items-center justify-center w-full h-full\">\n <div className=\"n1-ww-animate-spin-slow rounded-full h-8 w-8 border-b-2 border-n1-ww-gray-200 dark:border-n1-ww-gray-800\"></div>\n </div>\n);\n"]}
|
|
@@ -15,7 +15,7 @@ export function BackButton(props) {
|
|
|
15
15
|
return (_jsx("button", { onClick: props.onClick || back, onMouseEnter: function () { return setIsHovered(true); }, onMouseLeave: function () {
|
|
16
16
|
setIsHovered(false);
|
|
17
17
|
setIsPressed(false);
|
|
18
|
-
}, onMouseDown: function () { return setIsPressed(true); }, onMouseUp: function () { return setIsPressed(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: {
|
|
18
|
+
}, onMouseDown: function () { return setIsPressed(true); }, onMouseUp: function () { return setIsPressed(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: {
|
|
19
19
|
transform: isPressed
|
|
20
20
|
? 'scale(0.98)'
|
|
21
21
|
: isHovered
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BackButton.js","sourceRoot":"","sources":["../../../../src/Modal/NTSFlow/components/BackButton.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,MAAM,UAAU,UAAU,CAAC,KAA+B;IAClD,IAAA,KAAuC,0BAA0B,EAAE,EAAjE,WAAW,iBAAA,EAAE,mBAAmB,yBAAiC,CAAC;IACpE,IAAA,KAA4B,QAAQ,CAAC,KAAK,CAAC,EAA1C,SAAS,QAAA,EAAE,YAAY,QAAmB,CAAC;IAC5C,IAAA,KAA4B,QAAQ,CAAC,KAAK,CAAC,EAA1C,SAAS,QAAA,EAAE,YAAY,QAAmB,CAAC;IAElD,SAAS,IAAI;QACX,mBAAmB;QACnB,mBAAmB,EAAE,CAAC;QACtB,WAAW,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;IAED,OAAO,CACL,iBACE,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,IAAI,EAC9B,YAAY,EAAE,cAAM,OAAA,YAAY,CAAC,IAAI,CAAC,EAAlB,CAAkB,EACtC,YAAY,EAAE;YACZ,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,YAAY,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC,EACD,WAAW,EAAE,cAAM,OAAA,YAAY,CAAC,IAAI,CAAC,EAAlB,CAAkB,EACrC,SAAS,EAAE,cAAM,OAAA,YAAY,CAAC,KAAK,CAAC,EAAnB,CAAmB,EACpC,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"BackButton.js","sourceRoot":"","sources":["../../../../src/Modal/NTSFlow/components/BackButton.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,MAAM,UAAU,UAAU,CAAC,KAA+B;IAClD,IAAA,KAAuC,0BAA0B,EAAE,EAAjE,WAAW,iBAAA,EAAE,mBAAmB,yBAAiC,CAAC;IACpE,IAAA,KAA4B,QAAQ,CAAC,KAAK,CAAC,EAA1C,SAAS,QAAA,EAAE,YAAY,QAAmB,CAAC;IAC5C,IAAA,KAA4B,QAAQ,CAAC,KAAK,CAAC,EAA1C,SAAS,QAAA,EAAE,YAAY,QAAmB,CAAC;IAElD,SAAS,IAAI;QACX,mBAAmB;QACnB,mBAAmB,EAAE,CAAC;QACtB,WAAW,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;IAED,OAAO,CACL,iBACE,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,IAAI,EAC9B,YAAY,EAAE,cAAM,OAAA,YAAY,CAAC,IAAI,CAAC,EAAlB,CAAkB,EACtC,YAAY,EAAE;YACZ,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,YAAY,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC,EACD,WAAW,EAAE,cAAM,OAAA,YAAY,CAAC,IAAI,CAAC,EAAlB,CAAkB,EACrC,SAAS,EAAE,cAAM,OAAA,YAAY,CAAC,KAAK,CAAC,EAAnB,CAAmB,EACpC,SAAS,EAAE,0KAEqB,cAAc,6IAE7C,EACD,KAAK,EAAE;YACL,SAAS,EAAE,SAAS;gBAClB,CAAC,CAAC,aAAa;gBACf,CAAC,CAAC,SAAS;oBACT,CAAC,CAAC,aAAa;oBACf,CAAC,CAAC,UAAU;SACjB,YAED,cAAK,SAAS,EAAC,+BAA+B,YAC5C,cAAK,SAAS,EAAC,mBAAmB,YAChC,eACE,SAAS,EAAE,2FAC0D,cAAc,8HAEpF,qBAGM,GACH,GACF,GACC,CACV,CAAC;AACJ,CAAC","sourcesContent":["import { useState } from 'react';\nimport { useN1WalletInternalContext } from '../../../Provider/hooks';\nimport { N1ModalViewMode } from '../../../Provider/types';\nimport { ANIMATION_EASE } from '../../NordFlow/constants';\n\nexport function BackButton(props: { onClick?: () => void }) {\n const { setViewMode, dynamicHandleLogOut } = useN1WalletInternalContext();\n const [isHovered, setIsHovered] = useState(false);\n const [isPressed, setIsPressed] = useState(false);\n\n function back() {\n // todo: disconnect\n dynamicHandleLogOut();\n setViewMode(N1ModalViewMode.Connect);\n }\n\n return (\n <button\n onClick={props.onClick || back}\n onMouseEnter={() => setIsHovered(true)}\n onMouseLeave={() => {\n setIsHovered(false);\n setIsPressed(false);\n }}\n onMouseDown={() => setIsPressed(true)}\n onMouseUp={() => setIsPressed(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: isPressed\n ? 'scale(0.98)'\n : isHovered\n ? 'scale(0.99)'\n : 'scale(1)',\n }}\n >\n <div className=\"relative z-[200] pl-4 isolate\">\n <div className=\"flex items-center\">\n <span\n className={`\n text-base font-medium tracking-wide transition-colors duration-300 ${ANIMATION_EASE}\n text-n1-gray-500 dark:text-neutral-400 group-hover:text-n1-gray-900 dark:group-hover:text-white\n `}\n >\n Back\n </span>\n </div>\n </div>\n </button>\n );\n}\n"]}
|
|
@@ -16,6 +16,6 @@ export function ModalHeader() {
|
|
|
16
16
|
setViewMode(N1ModalViewMode.Connect);
|
|
17
17
|
}
|
|
18
18
|
};
|
|
19
|
-
return (_jsxs("div", { className: "flex items-center justify-between", children: [_jsxs("div", { className: "flex items-center gap-3", children: [_jsx("div", { className: "w-6 h-6 text-n1-gray-50", children: _jsx(Logo, { size: 24 }) }), _jsxs("h2", { className: "text-xl text-n1-gray-400 flex items-center gap-2", children: ["Connect", viewMode === N1ModalViewMode.CreateSession && (_jsx("span", { className: "text-n1-gray-700 dark:text-n1-gray-300 font-normal", children: "/ / Session" })), viewMode === N1ModalViewMode.Signing && (_jsx("span", { className: "text-n1-gray-700 dark:text-n1-gray-300 font-normal", children: "/ / Sign" })), viewMode === N1ModalViewMode.CreatingUser && (_jsx("span", { className: "text-n1-gray-700 dark:text-n1-gray-300 font-normal", children: "/ / Create User" })), viewMode === N1ModalViewMode.Success && (_jsx("span", { className: "text-n1-gray-700 dark:text-n1-gray-300 font-normal", children: "/ / Success" }))] })] }), _jsx("button", { onClick: close, className: "\n text-neutral-400 hover:text-n1-gray-900 dark:hover:text-white \n transition-colors duration-300 ".concat(ANIMATION_EASE, "\n h-10 w-10 rounded-full hover:bg-n1-gray-100 dark:hover:bg-n1-gray-800\n flex items-center justify-center\n "), children: _jsx(X, { size: 20 }) })] }));
|
|
19
|
+
return (_jsxs("div", { className: "flex items-center justify-between", children: [_jsxs("div", { className: "flex items-center gap-3", children: [_jsx("div", { className: "w-6 h-6 text-n1-ww-gray-50", children: _jsx(Logo, { size: 24 }) }), _jsxs("h2", { className: "text-xl text-n1-ww-gray-400 flex items-center gap-2", children: ["Connect", viewMode === N1ModalViewMode.CreateSession && (_jsx("span", { className: "text-n1-ww-gray-700 dark:text-n1-ww-gray-300 font-normal", children: "/ / Session" })), viewMode === N1ModalViewMode.Signing && (_jsx("span", { className: "text-n1-ww-gray-700 dark:text-n1-ww-gray-300 font-normal", children: "/ / Sign" })), viewMode === N1ModalViewMode.CreatingUser && (_jsx("span", { className: "text-n1-ww-gray-700 dark:text-n1-ww-gray-300 font-normal", children: "/ / Create User" })), viewMode === N1ModalViewMode.Success && (_jsx("span", { className: "text-n1-ww-gray-700 dark:text-n1-ww-gray-300 font-normal", children: "/ / Success" }))] })] }), _jsx("button", { onClick: close, className: "\n text-neutral-400 hover:text-n1-ww-gray-900 dark:hover:text-white \n transition-colors duration-300 ".concat(ANIMATION_EASE, "\n h-10 w-10 rounded-full hover:bg-n1-ww-gray-100 dark:hover:bg-n1-ww-gray-800\n flex items-center justify-center\n "), children: _jsx(X, { size: 20 }) })] }));
|
|
20
20
|
}
|
|
21
21
|
//# sourceMappingURL=ModalHeader.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModalHeader.js","sourceRoot":"","sources":["../../../../src/Modal/NTSFlow/components/ModalHeader.tsx"],"names":[],"mappings":";AACA,OAAO,EACL,kBAAkB,EAClB,0BAA0B,GAC3B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,CAAC,EAAE,MAAM,cAAc,CAAC;AACjC,OAAO,IAAI,MAAM,0BAA0B,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,MAAM,UAAU,WAAW;IACnB,IAAA,KAMF,0BAA0B,EAAE,EAL9B,WAAW,iBAAA,EACX,oBAAoB,0BAAA,EACpB,gBAAgB,sBAAA,EAChB,UAAU,gBAAA,EACV,mBAAmB,yBACW,CAAC;IAEzB,IAAA,QAAQ,GAAK,kBAAkB,EAAE,SAAzB,CAA0B;IAE1C,IAAM,KAAK,GAAG;QACZ,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAE3B,IAAI,QAAQ,KAAK,eAAe,CAAC,aAAa,EAAE,CAAC;YAC/C,gBAAgB,CAAC,IAAI,CAAC,CAAC;YACvB,UAAU,CAAC,EAAE,CAAC,CAAC;YACf,mBAAmB,EAAE,CAAC;YACtB,WAAW,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QACvC,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,CACL,eAAK,SAAS,EAAC,mCAAmC,aAChD,eAAK,SAAS,EAAC,yBAAyB,aACtC,cAAK,SAAS,EAAC,
|
|
1
|
+
{"version":3,"file":"ModalHeader.js","sourceRoot":"","sources":["../../../../src/Modal/NTSFlow/components/ModalHeader.tsx"],"names":[],"mappings":";AACA,OAAO,EACL,kBAAkB,EAClB,0BAA0B,GAC3B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,CAAC,EAAE,MAAM,cAAc,CAAC;AACjC,OAAO,IAAI,MAAM,0BAA0B,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,MAAM,UAAU,WAAW;IACnB,IAAA,KAMF,0BAA0B,EAAE,EAL9B,WAAW,iBAAA,EACX,oBAAoB,0BAAA,EACpB,gBAAgB,sBAAA,EAChB,UAAU,gBAAA,EACV,mBAAmB,yBACW,CAAC;IAEzB,IAAA,QAAQ,GAAK,kBAAkB,EAAE,SAAzB,CAA0B;IAE1C,IAAM,KAAK,GAAG;QACZ,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAE3B,IAAI,QAAQ,KAAK,eAAe,CAAC,aAAa,EAAE,CAAC;YAC/C,gBAAgB,CAAC,IAAI,CAAC,CAAC;YACvB,UAAU,CAAC,EAAE,CAAC,CAAC;YACf,mBAAmB,EAAE,CAAC;YACtB,WAAW,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QACvC,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,CACL,eAAK,SAAS,EAAC,mCAAmC,aAChD,eAAK,SAAS,EAAC,yBAAyB,aACtC,cAAK,SAAS,EAAC,4BAA4B,YACzC,KAAC,IAAI,IAAC,IAAI,EAAE,EAAE,GAAI,GACd,EACN,cAAI,SAAS,EAAC,qDAAqD,wBAEhE,QAAQ,KAAK,eAAe,CAAC,aAAa,IAAI,CAC7C,eAAM,SAAS,EAAC,0DAA0D,4BAEnE,CACR,EACA,QAAQ,KAAK,eAAe,CAAC,OAAO,IAAI,CACvC,eAAM,SAAS,EAAC,0DAA0D,yBAEnE,CACR,EACA,QAAQ,KAAK,eAAe,CAAC,YAAY,IAAI,CAC5C,eAAM,SAAS,EAAC,0DAA0D,gCAEnE,CACR,EACA,QAAQ,KAAK,eAAe,CAAC,OAAO,IAAI,CACvC,eAAM,SAAS,EAAC,0DAA0D,4BAEnE,CACR,IACE,IACD,EACN,iBACE,OAAO,EAAE,KAAK,EACd,SAAS,EAAE,kIAEwB,cAAc,kJAGhD,YAED,KAAC,CAAC,IAAC,IAAI,EAAE,EAAE,GAAI,GACR,IACL,CACP,CAAC;AACJ,CAAC","sourcesContent":["import React from 'react';\nimport {\n useN1WalletContext,\n useN1WalletInternalContext,\n} from '../../../Provider/hooks';\nimport { N1ModalViewMode } from '../../../Provider/types';\nimport { X } from 'lucide-react';\nimport Logo from '../../../components/Logo';\nimport { ANIMATION_EASE } from '../../NordFlow/constants';\n\nexport function ModalHeader() {\n const {\n setViewMode,\n setStartClosingLogin,\n setDynamicWallet,\n setAddress,\n dynamicHandleLogOut,\n } = useN1WalletInternalContext();\n\n const { viewMode } = useN1WalletContext();\n\n const close = () => {\n setStartClosingLogin(true);\n\n if (viewMode === N1ModalViewMode.CreateSession) {\n setDynamicWallet(null);\n setAddress('');\n dynamicHandleLogOut();\n setViewMode(N1ModalViewMode.Connect);\n }\n };\n\n return (\n <div className=\"flex items-center justify-between\">\n <div className=\"flex items-center gap-3\">\n <div className=\"w-6 h-6 text-n1-ww-gray-50\">\n <Logo size={24} />\n </div>\n <h2 className=\"text-xl text-n1-ww-gray-400 flex items-center gap-2\">\n Connect\n {viewMode === N1ModalViewMode.CreateSession && (\n <span className=\"text-n1-ww-gray-700 dark:text-n1-ww-gray-300 font-normal\">\n / / Session\n </span>\n )}\n {viewMode === N1ModalViewMode.Signing && (\n <span className=\"text-n1-ww-gray-700 dark:text-n1-ww-gray-300 font-normal\">\n / / Sign\n </span>\n )}\n {viewMode === N1ModalViewMode.CreatingUser && (\n <span className=\"text-n1-ww-gray-700 dark:text-n1-ww-gray-300 font-normal\">\n / / Create User\n </span>\n )}\n {viewMode === N1ModalViewMode.Success && (\n <span className=\"text-n1-ww-gray-700 dark:text-n1-ww-gray-300 font-normal\">\n / / Success\n </span>\n )}\n </h2>\n </div>\n <button\n onClick={close}\n className={`\n text-neutral-400 hover:text-n1-ww-gray-900 dark:hover:text-white \n transition-colors duration-300 ${ANIMATION_EASE}\n h-10 w-10 rounded-full hover:bg-n1-ww-gray-100 dark:hover:bg-n1-ww-gray-800\n flex items-center justify-center\n `}\n >\n <X size={20} />\n </button>\n </div>\n );\n}\n"]}
|
|
@@ -62,8 +62,8 @@ export function ConnectView() {
|
|
|
62
62
|
}
|
|
63
63
|
});
|
|
64
64
|
}); };
|
|
65
|
-
return (_jsxs("div", { className: "bg-n1-gray-50 dark:bg-n1-gray-950 relative border border-n1-gray-200 dark:border-n1-gray-800 rounded-md transition-[max-width,transform,opacity] duration-[3000ms] ease-[cubic-bezier(0.16,1,0.3,1)] w-full max-w-sm m-4 origin-center will-change-[max-width,transform,opacity]", children: [_jsx("div", { className: "p-6 border-b border-n1-gray-200 dark:border-n1-gray-800", children: _jsx(ModalHeader, {}) }), _jsx("div", { className: "p-6 overflow-hidden relative", children: _jsxs("div", { className: "space-y-4", children: [_jsx("button", { onClick: handleConnect, onMouseEnter: function () { return setIsHovered('wallet'); }, onMouseLeave: function () { return setIsHovered(null); }, 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: {
|
|
65
|
+
return (_jsxs("div", { className: "bg-n1-ww-gray-50 dark:bg-n1-ww-gray-950 relative border border-n1-ww-gray-200 dark:border-n1-ww-gray-800 rounded-md transition-[max-width,transform,opacity] duration-[3000ms] ease-[cubic-bezier(0.16,1,0.3,1)] w-full max-w-sm m-4 origin-center will-change-[max-width,transform,opacity]", children: [_jsx("div", { className: "p-6 border-b border-n1-ww-gray-200 dark:border-n1-ww-gray-800", children: _jsx(ModalHeader, {}) }), _jsx("div", { className: "p-6 overflow-hidden relative", children: _jsxs("div", { className: "space-y-4", children: [_jsx("button", { onClick: handleConnect, onMouseEnter: function () { return setIsHovered('wallet'); }, onMouseLeave: function () { return setIsHovered(null); }, 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: {
|
|
66
66
|
transform: isHovered === 'wallet' ? 'scale(0.99)' : 'scale(1)',
|
|
67
|
-
}, children: _jsx("div", { className: "relative z-[200] pl-4 isolate", children: _jsxs("div", { className: "flex items-center", children: [_jsx(IoMdWallet, { className: "w-5 h-5 text-n1-gray-500 dark:text-neutral-400 group-hover:text-n1-gray-900 dark:group-hover:text-white transition-colors duration-300" }), _jsx("span", { className: "\n ml-2 text-base font-medium tracking-wide transition-colors duration-300 ".concat(ANIMATION_EASE, "\n text-n1-gray-500 dark:text-neutral-400 group-hover:text-n1-gray-900 dark:group-hover:text-white\n "), children: "Continue with Wallet" })] }) }) }), _jsx("button", { disabled: true, onMouseEnter: function () { return setIsHovered('google'); }, onMouseLeave: function () { return setIsHovered(null); }, 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-not-allowed border-n1-gray-200 dark:border-n1-gray-800 opacity-50\n "), children: _jsx("div", { className: "relative z-[200] pl-4 isolate", children: _jsx("div", { className: "flex items-center", children: _jsx("span", { className: "text-base font-medium tracking-wide text-n1-gray-500 dark:text-neutral-400", children: "Continue with Google (soon)" }) }) }) }), _jsx("button", { disabled: true, onMouseEnter: function () { return setIsHovered('email'); }, onMouseLeave: function () { return setIsHovered(null); }, 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-not-allowed border-n1-gray-200 dark:border-n1-gray-800 opacity-50\n "), children: _jsx("div", { className: "relative z-[200] pl-4 isolate", children: _jsx("div", { className: "flex items-center", children: _jsx("span", { className: "text-base font-medium tracking-wide text-n1-gray-500 dark:text-neutral-400", children: "Continue with Email (soon)" }) }) }) })] }) })] }));
|
|
67
|
+
}, children: _jsx("div", { className: "relative z-[200] pl-4 isolate", children: _jsxs("div", { className: "flex items-center", children: [_jsx(IoMdWallet, { className: "w-5 h-5 text-n1-ww-gray-500 dark:text-neutral-400 group-hover:text-n1-ww-gray-900 dark:group-hover:text-white transition-colors duration-300" }), _jsx("span", { className: "\n ml-2 text-base font-medium tracking-wide transition-colors duration-300 ".concat(ANIMATION_EASE, "\n text-n1-ww-gray-500 dark:text-neutral-400 group-hover:text-n1-ww-gray-900 dark:group-hover:text-white\n "), children: "Continue with Wallet" })] }) }) }), _jsx("button", { disabled: true, onMouseEnter: function () { return setIsHovered('google'); }, onMouseLeave: function () { return setIsHovered(null); }, 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-not-allowed border-n1-ww-gray-200 dark:border-n1-ww-gray-800 opacity-50\n "), children: _jsx("div", { className: "relative z-[200] pl-4 isolate", children: _jsx("div", { className: "flex items-center", children: _jsx("span", { className: "text-base font-medium tracking-wide text-n1-ww-gray-500 dark:text-neutral-400", children: "Continue with Google (soon)" }) }) }) }), _jsx("button", { disabled: true, onMouseEnter: function () { return setIsHovered('email'); }, onMouseLeave: function () { return setIsHovered(null); }, 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-not-allowed border-n1-ww-gray-200 dark:border-n1-ww-gray-800 opacity-50\n "), children: _jsx("div", { className: "relative z-[200] pl-4 isolate", children: _jsx("div", { className: "flex items-center", children: _jsx("span", { className: "text-base font-medium tracking-wide text-n1-ww-gray-500 dark:text-neutral-400", children: "Continue with Email (soon)" }) }) }) })] }) })] }));
|
|
68
68
|
}
|
|
69
69
|
//# sourceMappingURL=ConnectView.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConnectView.js","sourceRoot":"","sources":["../../../../src/Modal/NTSFlow/views/ConnectView.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,OAAO,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,MAAM,UAAU,WAAW;IAA3B,iBA2FC;IA1FO,IAAA,KAAqC,0BAA0B,EAAE,EAA/D,iBAAiB,uBAAA,EAAE,WAAW,iBAAiC,CAAC;IAClE,IAAA,KAA4B,QAAQ,CAExC,IAAI,CAAC,EAFA,SAAS,QAAA,EAAE,YAAY,QAEvB,CAAC;IAER,IAAM,aAAa,GAAG;;;;;;oBAElB,qBAAM,iBAAiB,CAAC,IAAI,CAAC,EAAA;;oBAA7B,SAA6B,CAAC;;;;oBAE9B,WAAW,CAAC,OAAoB,CAAC,CAAC;;;;;SAErC,CAAC;IAEF,OAAO,CACL,eAAK,SAAS,EAAC,
|
|
1
|
+
{"version":3,"file":"ConnectView.js","sourceRoot":"","sources":["../../../../src/Modal/NTSFlow/views/ConnectView.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,OAAO,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,MAAM,UAAU,WAAW;IAA3B,iBA2FC;IA1FO,IAAA,KAAqC,0BAA0B,EAAE,EAA/D,iBAAiB,uBAAA,EAAE,WAAW,iBAAiC,CAAC;IAClE,IAAA,KAA4B,QAAQ,CAExC,IAAI,CAAC,EAFA,SAAS,QAAA,EAAE,YAAY,QAEvB,CAAC;IAER,IAAM,aAAa,GAAG;;;;;;oBAElB,qBAAM,iBAAiB,CAAC,IAAI,CAAC,EAAA;;oBAA7B,SAA6B,CAAC;;;;oBAE9B,WAAW,CAAC,OAAoB,CAAC,CAAC;;;;;SAErC,CAAC;IAEF,OAAO,CACL,eAAK,SAAS,EAAC,8RAA8R,aAC3S,cAAK,SAAS,EAAC,+DAA+D,YAC5E,KAAC,WAAW,KAAG,GACX,EAEN,cAAK,SAAS,EAAC,8BAA8B,YAC3C,eAAK,SAAS,EAAC,WAAW,aACxB,iBACE,OAAO,EAAE,aAAa,EACtB,YAAY,EAAE,cAAM,OAAA,YAAY,CAAC,QAAQ,CAAC,EAAtB,CAAsB,EAC1C,YAAY,EAAE,cAAM,OAAA,YAAY,CAAC,IAAI,CAAC,EAAlB,CAAkB,EACtC,SAAS,EAAE,sLAEqB,cAAc,yJAE7C,EACD,KAAK,EAAE;gCACL,SAAS,EAAE,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU;6BAC/D,YAED,cAAK,SAAS,EAAC,+BAA+B,YAC5C,eAAK,SAAS,EAAC,mBAAmB,aAChC,KAAC,UAAU,IAAC,SAAS,EAAC,8IAA8I,GAAG,EACvK,eACE,SAAS,EAAE,sGAC+D,cAAc,gJAEzF,qCAGM,IACH,GACF,GACC,EAET,iBACE,QAAQ,QACR,YAAY,EAAE,cAAM,OAAA,YAAY,CAAC,QAAQ,CAAC,EAAtB,CAAsB,EAC1C,YAAY,EAAE,cAAM,OAAA,YAAY,CAAC,IAAI,CAAC,EAAlB,CAAkB,EACtC,SAAS,EAAE,sLAEqB,cAAc,iHAE7C,YAED,cAAK,SAAS,EAAC,+BAA+B,YAC5C,cAAK,SAAS,EAAC,mBAAmB,YAChC,eAAM,SAAS,EAAC,+EAA+E,4CAExF,GACH,GACF,GACC,EAET,iBACE,QAAQ,QACR,YAAY,EAAE,cAAM,OAAA,YAAY,CAAC,OAAO,CAAC,EAArB,CAAqB,EACzC,YAAY,EAAE,cAAM,OAAA,YAAY,CAAC,IAAI,CAAC,EAAlB,CAAkB,EACtC,SAAS,EAAE,sLAEqB,cAAc,iHAE7C,YAED,cAAK,SAAS,EAAC,+BAA+B,YAC5C,cAAK,SAAS,EAAC,mBAAmB,YAChC,eAAM,SAAS,EAAC,+EAA+E,2CAExF,GACH,GACF,GACC,IACL,GACF,IACF,CACP,CAAC;AACJ,CAAC","sourcesContent":["import { useState } from 'react';\nimport { IoMdWallet } from 'react-icons/io';\nimport { WalletError } from '../../../errors/types';\nimport { useN1WalletInternalContext } from '../../../Provider/hooks';\nimport { ANIMATION_EASE } from '../../NordFlow/constants';\nimport { ModalHeader } from '../components/ModalHeader';\n\nexport function ConnectView() {\n const { showDynamicWidget, handleError } = useN1WalletInternalContext();\n const [isHovered, setIsHovered] = useState<\n 'wallet' | 'google' | 'email' | null\n >(null);\n\n const handleConnect = async () => {\n try {\n await showDynamicWidget(true);\n } catch (error) {\n handleError(error as WalletError);\n }\n };\n\n return ( \n <div className=\"bg-n1-ww-gray-50 dark:bg-n1-ww-gray-950 relative border border-n1-ww-gray-200 dark:border-n1-ww-gray-800 rounded-md transition-[max-width,transform,opacity] duration-[3000ms] ease-[cubic-bezier(0.16,1,0.3,1)] w-full max-w-sm m-4 origin-center will-change-[max-width,transform,opacity]\">\n <div className=\"p-6 border-b border-n1-ww-gray-200 dark:border-n1-ww-gray-800\">\n <ModalHeader />\n </div>\n\n <div className=\"p-6 overflow-hidden relative\">\n <div className=\"space-y-4\">\n <button\n onClick={handleConnect}\n onMouseEnter={() => setIsHovered('wallet')}\n onMouseLeave={() => setIsHovered(null)}\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 === 'wallet' ? 'scale(0.99)' : 'scale(1)',\n }}\n >\n <div className=\"relative z-[200] pl-4 isolate\">\n <div className=\"flex items-center\">\n <IoMdWallet className=\"w-5 h-5 text-n1-ww-gray-500 dark:text-neutral-400 group-hover:text-n1-ww-gray-900 dark:group-hover:text-white transition-colors duration-300\" />\n <span\n className={`\n ml-2 text-base font-medium tracking-wide transition-colors duration-300 ${ANIMATION_EASE}\n text-n1-ww-gray-500 dark:text-neutral-400 group-hover:text-n1-ww-gray-900 dark:group-hover:text-white\n `}\n >\n Continue with Wallet\n </span>\n </div>\n </div>\n </button>\n\n <button\n disabled\n onMouseEnter={() => setIsHovered('google')}\n onMouseLeave={() => setIsHovered(null)}\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-not-allowed border-n1-ww-gray-200 dark:border-n1-ww-gray-800 opacity-50\n `}\n >\n <div className=\"relative z-[200] pl-4 isolate\">\n <div className=\"flex items-center\">\n <span className=\"text-base font-medium tracking-wide text-n1-ww-gray-500 dark:text-neutral-400\">\n Continue with Google (soon)\n </span>\n </div>\n </div>\n </button>\n\n <button\n disabled\n onMouseEnter={() => setIsHovered('email')}\n onMouseLeave={() => setIsHovered(null)}\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-not-allowed border-n1-ww-gray-200 dark:border-n1-ww-gray-800 opacity-50\n `}\n >\n <div className=\"relative z-[200] pl-4 isolate\">\n <div className=\"flex items-center\">\n <span className=\"text-base font-medium tracking-wide text-n1-ww-gray-500 dark:text-neutral-400\">\n Continue with Email (soon)\n </span>\n </div>\n </div>\n </button>\n </div>\n </div>\n </div>\n );\n}\n"]}
|
|
@@ -224,18 +224,18 @@ export function CreateSessionView() {
|
|
|
224
224
|
}
|
|
225
225
|
});
|
|
226
226
|
}); };
|
|
227
|
-
return (_jsxs("div", { className: "bg-n1-gray-50 dark:bg-n1-gray-950 relative border border-n1-gray-200 dark:border-n1-gray-800 rounded-md transition-[max-width,transform,opacity] duration-[3000ms] ease-[cubic-bezier(0.16,1,0.3,1)] w-full max-w-sm m-4 origin-center will-change-[max-width,transform,opacity]", children: [_jsx("div", { className: "p-6 border-b border-n1-gray-200 dark:border-n1-gray-800", children: _jsx(ModalHeader, {}) }), _jsx("div", { className: "p-6 overflow-hidden relative", children: _jsxs("div", { className: "space-y-4", children: [_jsxs("div", { className: "text-center", children: [_jsx("h3", { className: "text-xl font-medium text-n1-gray-900 dark:text-white mb-2", children: "Create Session" }), _jsx("p", { className: "text-n1-gray-500 dark:text-n1-gray-400", children: "Please authenticate to create a new session." })] }), _jsx("button", { onClick: handleSign, onMouseEnter: function () { return setIsHovered(true); }, onMouseLeave: function () {
|
|
227
|
+
return (_jsxs("div", { className: "bg-n1-ww-gray-50 dark:bg-n1-ww-gray-950 relative border border-n1-ww-gray-200 dark:border-n1-ww-gray-800 rounded-md transition-[max-width,transform,opacity] duration-[3000ms] ease-[cubic-bezier(0.16,1,0.3,1)] w-full max-w-sm m-4 origin-center will-change-[max-width,transform,opacity]", children: [_jsx("div", { className: "p-6 border-b border-n1-ww-gray-200 dark:border-n1-ww-gray-800", children: _jsx(ModalHeader, {}) }), _jsx("div", { className: "p-6 overflow-hidden relative", children: _jsxs("div", { className: "space-y-4", children: [_jsxs("div", { className: "text-center", children: [_jsx("h3", { className: "text-xl font-medium text-n1-ww-gray-900 dark:text-white mb-2", children: "Create Session" }), _jsx("p", { className: "text-n1-ww-gray-500 dark:text-n1-ww-gray-400", children: "Please authenticate to create a new session." })] }), _jsx("button", { onClick: handleSign, onMouseEnter: function () { return setIsHovered(true); }, onMouseLeave: function () {
|
|
228
228
|
setIsHovered(false);
|
|
229
229
|
setIsPressed(false);
|
|
230
|
-
}, onMouseDown: function () { return setIsPressed(true); }, onMouseUp: function () { return setIsPressed(false); }, disabled: !NTSComponents || !keyPair, className: "\n group relative w-full overflow-hidden rounded-md border-2 bg-n1-gray-100 dark:bg-neutral-950 py-4 text-left\n transition-all duration-300 ".concat(ANIMATION_EASE, "\n ").concat(!NTSComponents || !keyPair
|
|
231
|
-
? 'cursor-not-allowed border-n1-gray-200 dark:border-n1-gray-800 opacity-50'
|
|
232
|
-
: 'cursor-pointer border-n1-gray-200 dark:border-n1-gray-800 hover:border-n1-gray-400 dark:hover:border-white/60', "\n "), style: {
|
|
230
|
+
}, onMouseDown: function () { return setIsPressed(true); }, onMouseUp: function () { return setIsPressed(false); }, disabled: !NTSComponents || !keyPair, className: "\n group relative w-full overflow-hidden rounded-md border-2 bg-n1-ww-gray-100 dark:bg-neutral-950 py-4 text-left\n transition-all duration-300 ".concat(ANIMATION_EASE, "\n ").concat(!NTSComponents || !keyPair
|
|
231
|
+
? 'cursor-not-allowed border-n1-ww-gray-200 dark:border-n1-ww-gray-800 opacity-50'
|
|
232
|
+
: '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: {
|
|
233
233
|
transform: isPressed && (!NTSComponents || !keyPair)
|
|
234
234
|
? 'scale(0.98)'
|
|
235
235
|
: isHovered && (!NTSComponents || !keyPair)
|
|
236
236
|
? 'scale(0.99)'
|
|
237
237
|
: 'scale(1)',
|
|
238
|
-
}, children: _jsx("div", { className: "relative z-[200] pl-4 isolate", children: _jsx("div", { className: "flex items-center justify-start", 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-neutral-400 group-hover:text-n1-gray-900 dark:group-hover:text-white\n "), children: "Authenticate" }) }) }) }), _jsx(BackButton, { onClick: function () {
|
|
238
|
+
}, children: _jsx("div", { className: "relative z-[200] pl-4 isolate", children: _jsx("div", { className: "flex items-center justify-start", 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-neutral-400 group-hover:text-n1-ww-gray-900 dark:group-hover:text-white\n "), children: "Authenticate" }) }) }) }), _jsx(BackButton, { onClick: function () {
|
|
239
239
|
logger.debug('BackButton clicked');
|
|
240
240
|
setDynamicWallet(null);
|
|
241
241
|
setAddress('');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreateSessionView.js","sourceRoot":"","sources":["../../../../src/Modal/NTSFlow/views/CreateSessionView.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useEffect, useState } from 'react';\nimport { ANIMATION_EASE } from '../../NordFlow/constants';\nimport { WalletError, WalletErrorCode } from '../../../errors/types';\nimport {\n createWebSession,\n generateSessionKeyPair,\n getUser,\n storeSessionKeysInLocalStorage,\n} from '../../../Logic/utils';\nimport {\n useN1WalletContext,\n useN1WalletInternalContext,\n} from '../../../Provider/hooks';\nimport { N1ModalViewMode } from '../../../Provider/types';\nimport { logger } from '../../../utils/logger';\nimport { BackButton } from '../components/BackButton';\nimport { ModalHeader } from '../components/ModalHeader';\nimport { signEd25519 } from '@n1xyz/nts-sdk';\n\nexport function CreateSessionView() {\n const [isHovered, setIsHovered] = useState(false);\n const [isPressed, setIsPressed] = useState(false);\n\n const [NTSComponents, setNTSComponents] = useState<any>(null);\n const [keyPair, setKeyPair] = useState<{\n publicKey: Uint8Array;\n privateKey: Uint8Array;\n } | null>(null);\n\n const {\n setViewMode,\n setUsername,\n setStartClosingLogin,\n setIsConnected,\n dynamicWallet,\n handleError,\n setSessionPubKey,\n setSignMessageWithSessionKey,\n dynamicHandleLogOut,\n setDynamicWallet,\n setAddress,\n setSignMessageWithWalletKey,\n } = useN1WalletInternalContext();\n\n const { ntsInterface, walletPubKey, address } = useN1WalletContext();\n\n // Initialize NTS SDK and generate key pair\n useEffect(() => {\n const loadNTSSDK = async () => {\n try {\n const { Transaction, AdminAction, CoreApps } = await import(\n '@n1xyz/nts-sdk'\n );\n setNTSComponents({ Transaction, AdminAction, CoreApps });\n const newKeyPair = await generateSessionKeyPair();\n setKeyPair(newKeyPair);\n } catch (error) {\n handleError(\n new WalletError(\n WalletErrorCode.CONNECTION_FAILED,\n 'Failed to initialize NTS SDK',\n { originalError: error }\n )\n );\n }\n };\n loadNTSSDK();\n }, [handleError]);\n\n const signWithWallet = async (msg: string): Promise<Uint8Array> => {\n try {\n if (!dynamicWallet) {\n throw new WalletError(\n WalletErrorCode.WALLET_NOT_FOUND,\n 'Wallet not found for signing'\n );\n }\n\n if (dynamicWallet.chain === 'SOL') {\n const signature = await dynamicWallet.signMessage(msg);\n const binaryString = atob(signature);\n const signatureUint8Array = new Uint8Array(binaryString.length);\n for (let i = 0; i < binaryString.length; i++) {\n signatureUint8Array[i] = binaryString.charCodeAt(i);\n }\n return signatureUint8Array;\n }\n\n const sig = (await dynamicWallet.signMessage(msg)) as string;\n logger.debug('Wallet signature received', { signature: sig });\n return Uint8Array.from(Buffer.from(sig.slice(2), 'hex'));\n } catch (error) {\n throw new WalletError(\n WalletErrorCode.USER_REJECTED,\n 'Failed to sign message with wallet',\n { originalError: error }\n );\n }\n };\n\n const handleSign = async () => {\n logger.debug('handleSign');\n\n if (!NTSComponents || !keyPair) {\n logger.warn('Required components not initialized');\n return;\n }\n\n setViewMode(N1ModalViewMode.Signing);\n\n try {\n const sessionKeyHex = Buffer.from(keyPair.publicKey).toString('hex');\n logger.debug('Generated session key', { sessionKey: sessionKeyHex });\n\n // Create and sign transaction that registers the session key with Core\n const transactionData = {\n appId: NTSComponents.CoreApps.Admin,\n action: NTSComponents.AdminAction.addSessionKey,\n framework: 'ts',\n data: [\n {\n sessionKey: sessionKeyHex,\n appId: 'hub',\n },\n ],\n };\n\n setSignMessageWithWalletKey(signWithWallet);\n const tx = new NTSComponents.Transaction(transactionData, walletPubKey!);\n await tx.signWithWalletFunction(signWithWallet);\n try {\n const txRes = await ntsInterface.sendTransaction(\n tx,\n tx.signature!,\n walletPubKey\n );\n if (txRes.success) {\n logger.debug('txRes', txRes);\n } else {\n logger.debug('txRes', txRes);\n throw new WalletError(\n WalletErrorCode.TRANSACTION_FAILED,\n 'Transaction failed'\n );\n }\n } catch (_) {\n throw new WalletError(\n WalletErrorCode.TRANSACTION_FAILED,\n 'Transaction did not succeed'\n );\n }\n\n // Create session signing function\n const signFn = async (message: Uint8Array) => {\n try {\n return await signEd25519(message, keyPair.privateKey as Uint8Array);\n } catch (_) {\n logger.error('Error signing with Ed25519:', _);\n throw _;\n }\n };\n\n // Store session keys\n logger.debug('Storing session keys');\n storeSessionKeysInLocalStorage({\n privKey: keyPair.privateKey as Uint8Array,\n walletPublicKey: address,\n chainName: dynamicWallet!.chain,\n });\n setSessionPubKey(keyPair.publicKey);\n setSignMessageWithSessionKey(() => signFn);\n\n // Initialize web session with Argus who verifies that the session is\n // registered with Core, and if so, grants you access to its user metadata db\n await createWebSession(signFn, keyPair.publicKey, walletPubKey);\n\n // Check for existing user\n // TODO: handle case for auth.users, currently user.name is a wallet_only_users namespacing\n const user = await getUser();\n if (user?.name) {\n logger.info('Existing user found, completing login');\n setUsername(user.name);\n localStorage.setItem(`n1_${address}_username`, user.name);\n setStartClosingLogin(true);\n setIsConnected(true);\n } else {\n logger.info('No user found, transitioning to user creation');\n setViewMode(N1ModalViewMode.CreatingUser);\n }\n } catch (error: any) {\n logger.error('Session creation failed:', error);\n if (error.name === 'WalletError') {\n handleError(error);\n } else {\n handleError(\n new WalletError(\n WalletErrorCode.CONNECTION_FAILED,\n 'Failed to create session',\n { originalError: JSON.stringify(error) }\n )\n );\n }\n\n setViewMode(N1ModalViewMode.CreateSession);\n }\n };\n\n return (\n <div className=\"bg-n1-gray-50 dark:bg-n1-gray-950 relative border border-n1-gray-200 dark:border-n1-gray-800 rounded-md transition-[max-width,transform,opacity] duration-[3000ms] ease-[cubic-bezier(0.16,1,0.3,1)] w-full max-w-sm m-4 origin-center will-change-[max-width,transform,opacity]\">\n <div className=\"p-6 border-b border-n1-gray-200 dark:border-n1-gray-800\">\n <ModalHeader />\n </div>\n\n <div className=\"p-6 overflow-hidden relative\">\n <div className=\"space-y-4\">\n <div className=\"text-center\">\n <h3 className=\"text-xl font-medium text-n1-gray-900 dark:text-white mb-2\">\n Create Session\n </h3>\n <p className=\"text-n1-gray-500 dark:text-n1-gray-400\">\n Please authenticate to create a new session.\n </p>\n </div>\n\n <button\n onClick={handleSign}\n onMouseEnter={() => setIsHovered(true)}\n onMouseLeave={() => {\n setIsHovered(false);\n setIsPressed(false);\n }}\n onMouseDown={() => setIsPressed(true)}\n onMouseUp={() => setIsPressed(false)}\n disabled={!NTSComponents || !keyPair}\n className={`\n group relative w-full overflow-hidden rounded-md border-2 bg-n1-gray-100 dark:bg-neutral-950 py-4 text-left\n transition-all duration-300 ${ANIMATION_EASE}\n ${\n !NTSComponents || !keyPair\n ? 'cursor-not-allowed border-n1-gray-200 dark:border-n1-gray-800 opacity-50'\n : 'cursor-pointer border-n1-gray-200 dark:border-n1-gray-800 hover:border-n1-gray-400 dark:hover:border-white/60'\n }\n `}\n style={{\n transform:\n isPressed && (!NTSComponents || !keyPair)\n ? 'scale(0.98)'\n : isHovered && (!NTSComponents || !keyPair)\n ? 'scale(0.99)'\n : 'scale(1)',\n }}\n >\n <div className=\"relative z-[200] pl-4 isolate\">\n <div className=\"flex items-center justify-start\">\n <span\n className={`\n text-base font-medium tracking-wide transition-colors duration-300 ${ANIMATION_EASE}\n text-n1-gray-500 dark:text-neutral-400 group-hover:text-n1-gray-900 dark:group-hover:text-white\n `}\n >\n Authenticate\n </span>\n </div>\n </div>\n </button>\n\n <BackButton\n onClick={() => {\n logger.debug('BackButton clicked');\n setDynamicWallet(null);\n setAddress('');\n dynamicHandleLogOut();\n setViewMode(N1ModalViewMode.Connect);\n }}\n />\n </div>\n </div>\n </div>\n );\n}\n"]}
|
|
1
|
+
{"version":3,"file":"CreateSessionView.js","sourceRoot":"","sources":["../../../../src/Modal/NTSFlow/views/CreateSessionView.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useEffect, useState } from 'react';\nimport { ANIMATION_EASE } from '../../NordFlow/constants';\nimport { WalletError, WalletErrorCode } from '../../../errors/types';\nimport {\n createWebSession,\n generateSessionKeyPair,\n getUser,\n storeSessionKeysInLocalStorage,\n} from '../../../Logic/utils';\nimport {\n useN1WalletContext,\n useN1WalletInternalContext,\n} from '../../../Provider/hooks';\nimport { N1ModalViewMode } from '../../../Provider/types';\nimport { logger } from '../../../utils/logger';\nimport { BackButton } from '../components/BackButton';\nimport { ModalHeader } from '../components/ModalHeader';\nimport { signEd25519 } from '@n1xyz/nts-sdk';\n\nexport function CreateSessionView() {\n const [isHovered, setIsHovered] = useState(false);\n const [isPressed, setIsPressed] = useState(false);\n\n const [NTSComponents, setNTSComponents] = useState<any>(null);\n const [keyPair, setKeyPair] = useState<{\n publicKey: Uint8Array;\n privateKey: Uint8Array;\n } | null>(null);\n\n const {\n setViewMode,\n setUsername,\n setStartClosingLogin,\n setIsConnected,\n dynamicWallet,\n handleError,\n setSessionPubKey,\n setSignMessageWithSessionKey,\n dynamicHandleLogOut,\n setDynamicWallet,\n setAddress,\n setSignMessageWithWalletKey,\n } = useN1WalletInternalContext();\n\n const { ntsInterface, walletPubKey, address } = useN1WalletContext();\n\n // Initialize NTS SDK and generate key pair\n useEffect(() => {\n const loadNTSSDK = async () => {\n try {\n const { Transaction, AdminAction, CoreApps } = await import(\n '@n1xyz/nts-sdk'\n );\n setNTSComponents({ Transaction, AdminAction, CoreApps });\n const newKeyPair = await generateSessionKeyPair();\n setKeyPair(newKeyPair);\n } catch (error) {\n handleError(\n new WalletError(\n WalletErrorCode.CONNECTION_FAILED,\n 'Failed to initialize NTS SDK',\n { originalError: error }\n )\n );\n }\n };\n loadNTSSDK();\n }, [handleError]);\n\n const signWithWallet = async (msg: string): Promise<Uint8Array> => {\n try {\n if (!dynamicWallet) {\n throw new WalletError(\n WalletErrorCode.WALLET_NOT_FOUND,\n 'Wallet not found for signing'\n );\n }\n\n if (dynamicWallet.chain === 'SOL') {\n const signature = await dynamicWallet.signMessage(msg);\n const binaryString = atob(signature);\n const signatureUint8Array = new Uint8Array(binaryString.length);\n for (let i = 0; i < binaryString.length; i++) {\n signatureUint8Array[i] = binaryString.charCodeAt(i);\n }\n return signatureUint8Array;\n }\n\n const sig = (await dynamicWallet.signMessage(msg)) as string;\n logger.debug('Wallet signature received', { signature: sig });\n return Uint8Array.from(Buffer.from(sig.slice(2), 'hex'));\n } catch (error) {\n throw new WalletError(\n WalletErrorCode.USER_REJECTED,\n 'Failed to sign message with wallet',\n { originalError: error }\n );\n }\n };\n\n const handleSign = async () => {\n logger.debug('handleSign');\n\n if (!NTSComponents || !keyPair) {\n logger.warn('Required components not initialized');\n return;\n }\n\n setViewMode(N1ModalViewMode.Signing);\n\n try {\n const sessionKeyHex = Buffer.from(keyPair.publicKey).toString('hex');\n logger.debug('Generated session key', { sessionKey: sessionKeyHex });\n\n // Create and sign transaction that registers the session key with Core\n const transactionData = {\n appId: NTSComponents.CoreApps.Admin,\n action: NTSComponents.AdminAction.addSessionKey,\n framework: 'ts',\n data: [\n {\n sessionKey: sessionKeyHex,\n appId: 'hub',\n },\n ],\n };\n\n setSignMessageWithWalletKey(signWithWallet);\n const tx = new NTSComponents.Transaction(transactionData, walletPubKey!);\n await tx.signWithWalletFunction(signWithWallet);\n try {\n const txRes = await ntsInterface.sendTransaction(\n tx,\n tx.signature!,\n walletPubKey\n );\n if (txRes.success) {\n logger.debug('txRes', txRes);\n } else {\n logger.debug('txRes', txRes);\n throw new WalletError(\n WalletErrorCode.TRANSACTION_FAILED,\n 'Transaction failed'\n );\n }\n } catch (_) {\n throw new WalletError(\n WalletErrorCode.TRANSACTION_FAILED,\n 'Transaction did not succeed'\n );\n }\n\n // Create session signing function\n const signFn = async (message: Uint8Array) => {\n try {\n return await signEd25519(message, keyPair.privateKey as Uint8Array);\n } catch (_) {\n logger.error('Error signing with Ed25519:', _);\n throw _;\n }\n };\n\n // Store session keys\n logger.debug('Storing session keys');\n storeSessionKeysInLocalStorage({\n privKey: keyPair.privateKey as Uint8Array,\n walletPublicKey: address,\n chainName: dynamicWallet!.chain,\n });\n setSessionPubKey(keyPair.publicKey);\n setSignMessageWithSessionKey(() => signFn);\n\n // Initialize web session with Argus who verifies that the session is\n // registered with Core, and if so, grants you access to its user metadata db\n await createWebSession(signFn, keyPair.publicKey, walletPubKey);\n\n // Check for existing user\n // TODO: handle case for auth.users, currently user.name is a wallet_only_users namespacing\n const user = await getUser();\n if (user?.name) {\n logger.info('Existing user found, completing login');\n setUsername(user.name);\n localStorage.setItem(`n1_${address}_username`, user.name);\n setStartClosingLogin(true);\n setIsConnected(true);\n } else {\n logger.info('No user found, transitioning to user creation');\n setViewMode(N1ModalViewMode.CreatingUser);\n }\n } catch (error: any) {\n logger.error('Session creation failed:', error);\n if (error.name === 'WalletError') {\n handleError(error);\n } else {\n handleError(\n new WalletError(\n WalletErrorCode.CONNECTION_FAILED,\n 'Failed to create session',\n { originalError: JSON.stringify(error) }\n )\n );\n }\n\n setViewMode(N1ModalViewMode.CreateSession);\n }\n };\n\n return (\n <div className=\"bg-n1-ww-gray-50 dark:bg-n1-ww-gray-950 relative border border-n1-ww-gray-200 dark:border-n1-ww-gray-800 rounded-md transition-[max-width,transform,opacity] duration-[3000ms] ease-[cubic-bezier(0.16,1,0.3,1)] w-full max-w-sm m-4 origin-center will-change-[max-width,transform,opacity]\">\n <div className=\"p-6 border-b border-n1-ww-gray-200 dark:border-n1-ww-gray-800\">\n <ModalHeader />\n </div>\n\n <div className=\"p-6 overflow-hidden relative\">\n <div className=\"space-y-4\">\n <div className=\"text-center\">\n <h3 className=\"text-xl font-medium text-n1-ww-gray-900 dark:text-white mb-2\">\n Create Session\n </h3>\n <p className=\"text-n1-ww-gray-500 dark:text-n1-ww-gray-400\">\n Please authenticate to create a new session.\n </p>\n </div>\n\n <button\n onClick={handleSign}\n onMouseEnter={() => setIsHovered(true)}\n onMouseLeave={() => {\n setIsHovered(false);\n setIsPressed(false);\n }}\n onMouseDown={() => setIsPressed(true)}\n onMouseUp={() => setIsPressed(false)}\n disabled={!NTSComponents || !keyPair}\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-left\n transition-all duration-300 ${ANIMATION_EASE}\n ${\n !NTSComponents || !keyPair\n ? 'cursor-not-allowed border-n1-ww-gray-200 dark:border-n1-ww-gray-800 opacity-50'\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 `}\n style={{\n transform:\n isPressed && (!NTSComponents || !keyPair)\n ? 'scale(0.98)'\n : isHovered && (!NTSComponents || !keyPair)\n ? 'scale(0.99)'\n : 'scale(1)',\n }}\n >\n <div className=\"relative z-[200] pl-4 isolate\">\n <div className=\"flex items-center justify-start\">\n <span\n className={`\n text-base font-medium tracking-wide transition-colors duration-300 ${ANIMATION_EASE}\n text-n1-ww-gray-500 dark:text-neutral-400 group-hover:text-n1-ww-gray-900 dark:group-hover:text-white\n `}\n >\n Authenticate\n </span>\n </div>\n </div>\n </button>\n\n <BackButton\n onClick={() => {\n logger.debug('BackButton clicked');\n setDynamicWallet(null);\n setAddress('');\n dynamicHandleLogOut();\n setViewMode(N1ModalViewMode.Connect);\n }}\n />\n </div>\n </div>\n </div>\n );\n}\n"]}
|
|
@@ -101,6 +101,6 @@ export function CreateUserView() {
|
|
|
101
101
|
});
|
|
102
102
|
});
|
|
103
103
|
}
|
|
104
|
-
return (_jsxs("div", { className: "rounded-[25px] shadow-lg p-5 m-4 bg-white dark:bg-neutral-900 text-neutral-900 dark:text-stone-200", children: [_jsx(ModalHeader, {}), _jsx("div", { className: "flex flex-col items-center justify-center", children: _jsxs("div", { className: "flex mb-2 justify-center sm:justify-between w-full flex-wrap max-w-screen", children: [_jsxs("div", { className: "flex flex-col", children: [_jsx("div", { className: "w-80 h-80 sm:w-48 sm:h-48 rounded-[25px] flex items-center justify-center relative bg-neutral-100 dark:bg-neutral-800", children: _jsx("div", { className: "overflow-hidden rounded-lg w-80 h-80 sm:w-48 sm:h-48 p-2", children: _jsx(BlockiesSvg, { address: address, className: "drop-shadow w-full h-full rounded-[20px]" }) }) }), _jsx("div", { className: "my-4 w-80 sm:w-48 p-2 border rounded-[15px] text-sm duration-300 bg-neutral-100 dark:bg-neutral-800 text-neutral-500 dark:text-neutral-400 border-neutral-200 dark:border-neutral-700", children: "You are creating an account that you can use across all N1." })] }), _jsxs("div", { className: "w-80 flex flex-col items-center sm:items-end justify-between h-full my-2", children: [_jsxs("div", { className: "flex flex-col relative bg-neutral-100 dark:bg-neutral-800 border-neutral-200 dark:border-neutral-700 rounded-[15px] border w-72", children: [_jsx("input", { type: "text", id: "username", placeholder: "Enter your username", value: usernameLocal, onChange: function (e) { return setUsernameLocalLocal(e.target.value); }, className: "p-3 py-4 outline-none focus:ring focus:ring-orange-200 bg-neutral-100 dark:bg-neutral-800 text-neutral-900 dark:text-stone-200 rounded-[15px] border ".concat(error ? 'border-n1-main' : 'border-neutral-200 dark:border-neutral-700') }), _jsxs("div", { className: "p-2 flex w-full justify-between text-xs text-neutral-500 dark:text-neutral-400", children: [_jsx("span", { className: "font-bold", children: "Username:" }), " ", usernameLocal] }), _jsxs("div", { className: "px-2 pb-2 flex w-full justify-between text-xs text-neutral-500 dark:text-neutral-400", children: [_jsx("span", { className: "font-bold", children: "Wallet:" }), ' ', address.substring(0, 9) + '...' + address.slice(-3)] })] }), error && (_jsx("div", { className: "mt-2 w-72 p-2 text-n1-main bg-n1-main/5 dark:bg-n1-main/20 border border-n1-main/40 rounded-[15px] text-center", children: error })), _jsx("button", { className: "my-4 w-72 py-4 border rounded-[15px] text-white bg-neutral-900 dark:bg-white dark:text-black cursor-pointer duration-300 hover:opacity-80", onClick: handleCreate, children: "Create" }), _jsx("div", { className: "w-72", children: _jsx("button", { className: "w-full py-4 border rounded-[18px] cursor-pointer duration-300 hover:opacity-80 bg-neutral-100 dark:bg-neutral-800 text-neutral-500 dark:text-neutral-400 border-neutral-200 dark:border-neutral-700 hover:opacity-80", onClick: close, children: "Close" }) })] })] }) })] }));
|
|
104
|
+
return (_jsxs("div", { className: "rounded-[25px] shadow-lg p-5 m-4 bg-white dark:bg-neutral-900 text-neutral-900 dark:text-stone-200", children: [_jsx(ModalHeader, {}), _jsx("div", { className: "flex flex-col items-center justify-center", children: _jsxs("div", { className: "flex mb-2 justify-center sm:justify-between w-full flex-wrap max-w-screen", children: [_jsxs("div", { className: "flex flex-col", children: [_jsx("div", { className: "w-80 h-80 sm:w-48 sm:h-48 rounded-[25px] flex items-center justify-center relative bg-neutral-100 dark:bg-neutral-800", children: _jsx("div", { className: "overflow-hidden rounded-lg w-80 h-80 sm:w-48 sm:h-48 p-2", children: _jsx(BlockiesSvg, { address: address, className: "drop-shadow w-full h-full rounded-[20px]" }) }) }), _jsx("div", { className: "my-4 w-80 sm:w-48 p-2 border rounded-[15px] text-sm duration-300 bg-neutral-100 dark:bg-neutral-800 text-neutral-500 dark:text-neutral-400 border-neutral-200 dark:border-neutral-700", children: "You are creating an account that you can use across all N1." })] }), _jsxs("div", { className: "w-80 flex flex-col items-center sm:items-end justify-between h-full my-2", children: [_jsxs("div", { className: "flex flex-col relative bg-neutral-100 dark:bg-neutral-800 border-neutral-200 dark:border-neutral-700 rounded-[15px] border w-72", children: [_jsx("input", { type: "text", id: "username", placeholder: "Enter your username", value: usernameLocal, onChange: function (e) { return setUsernameLocalLocal(e.target.value); }, className: "p-3 py-4 outline-none focus:ring focus:ring-orange-200 bg-neutral-100 dark:bg-neutral-800 text-neutral-900 dark:text-stone-200 rounded-[15px] border ".concat(error ? 'border-n1-main' : 'border-neutral-200 dark:border-neutral-700') }), _jsxs("div", { className: "p-2 flex w-full justify-between text-xs text-neutral-500 dark:text-neutral-400", children: [_jsx("span", { className: "font-bold", children: "Username:" }), " ", usernameLocal] }), _jsxs("div", { className: "px-2 pb-2 flex w-full justify-between text-xs text-neutral-500 dark:text-neutral-400", children: [_jsx("span", { className: "font-bold", children: "Wallet:" }), ' ', address.substring(0, 9) + '...' + address.slice(-3)] })] }), error && (_jsx("div", { className: "mt-2 w-72 p-2 text-n1-ww-main bg-n1-ww-main/5 dark:bg-n1-ww-main/20 border border-n1-ww-main/40 rounded-[15px] text-center", children: error })), _jsx("button", { className: "my-4 w-72 py-4 border rounded-[15px] text-white bg-neutral-900 dark:bg-white dark:text-black cursor-pointer duration-300 hover:opacity-80", onClick: handleCreate, children: "Create" }), _jsx("div", { className: "w-72", children: _jsx("button", { className: "w-full py-4 border rounded-[18px] cursor-pointer duration-300 hover:opacity-80 bg-neutral-100 dark:bg-neutral-800 text-neutral-500 dark:text-neutral-400 border-neutral-200 dark:border-neutral-700 hover:opacity-80", onClick: close, children: "Close" }) })] })] }) })] }));
|
|
105
105
|
}
|
|
106
106
|
//# sourceMappingURL=CreateUserView.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreateUserView.js","sourceRoot":"","sources":["../../../../src/Modal/NTSFlow/views/CreateUserView.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"CreateUserView.js","sourceRoot":"","sources":["../../../../src/Modal/NTSFlow/views/CreateUserView.tsx"],"names":[],"mappings":"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","sourcesContent":["import BlockiesSvg from 'blockies-react-svg';\nimport { useState } from 'react';\nimport { getPseudoName } from '../../../Logic/getPseudoName';\nimport { createUser } from '../../../Logic/utils';\nimport {\n useN1WalletContext,\n useN1WalletInternalContext,\n} from '../../../Provider/hooks';\nimport { N1ModalViewMode } from '../../../Provider/types';\nimport { WalletError, WalletErrorCode } from '../../../errors/types';\nimport { logger } from '../../../utils/logger';\nimport { ModalHeader } from '../components/ModalHeader';\n\nexport function CreateUserView() {\n const {\n setViewMode,\n setIsConnected,\n setUsername,\n setStartClosingLogin,\n handleError,\n } = useN1WalletInternalContext();\n const { address } = useN1WalletContext();\n\n const close = () => {\n setStartClosingLogin(true);\n };\n\n const [usernameLocal, setUsernameLocalLocal] = useState(\n getPseudoName(address)\n );\n const [error, setError] = useState('');\n\n function validateUsername() {\n if (!usernameLocal) {\n setError('Username cannot be blank.');\n return false;\n }\n if (!/^[a-zA-Z0-9-]+$/.test(usernameLocal)) {\n setError('Username must be alphanumeric.');\n return false;\n }\n setError('');\n return true;\n }\n\n async function handleCreate() {\n logger.debug('Creating User');\n\n try {\n if (!validateUsername()) {\n return;\n }\n\n await createUser(usernameLocal);\n setViewMode(N1ModalViewMode.Success);\n setIsConnected(true);\n setUsername(usernameLocal);\n localStorage.setItem('n1_' + address + '_username', usernameLocal);\n } catch (error) {\n if (error instanceof WalletError) {\n handleError(error);\n } else {\n handleError(\n new WalletError(WalletErrorCode.UNKNOWN, 'Failed to create user', {\n originalError: error,\n })\n );\n }\n }\n }\n\n return (\n <div className=\"rounded-[25px] shadow-lg p-5 m-4 bg-white dark:bg-neutral-900 text-neutral-900 dark:text-stone-200\">\n <ModalHeader />\n <div className=\"flex flex-col items-center justify-center\">\n <div className=\"flex mb-2 justify-center sm:justify-between w-full flex-wrap max-w-screen\">\n <div className=\"flex flex-col\">\n <div className=\"w-80 h-80 sm:w-48 sm:h-48 rounded-[25px] flex items-center justify-center relative bg-neutral-100 dark:bg-neutral-800\">\n <div className=\"overflow-hidden rounded-lg w-80 h-80 sm:w-48 sm:h-48 p-2\">\n <BlockiesSvg\n address={address}\n className=\"drop-shadow w-full h-full rounded-[20px]\"\n />\n </div>\n </div>\n <div className=\"my-4 w-80 sm:w-48 p-2 border rounded-[15px] text-sm duration-300 bg-neutral-100 dark:bg-neutral-800 text-neutral-500 dark:text-neutral-400 border-neutral-200 dark:border-neutral-700\">\n You are creating an account that you can use across all N1.\n </div>\n </div>\n\n {/* Username Input */}\n <div className=\"w-80 flex flex-col items-center sm:items-end justify-between h-full my-2\">\n <div className=\"flex flex-col relative bg-neutral-100 dark:bg-neutral-800 border-neutral-200 dark:border-neutral-700 rounded-[15px] border w-72\">\n <input\n type=\"text\"\n id=\"username\"\n placeholder=\"Enter your username\"\n value={usernameLocal}\n onChange={(e) => setUsernameLocalLocal(e.target.value)}\n className={`p-3 py-4 outline-none focus:ring focus:ring-orange-200 bg-neutral-100 dark:bg-neutral-800 text-neutral-900 dark:text-stone-200 rounded-[15px] border ${error ? 'border-n1-main' : 'border-neutral-200 dark:border-neutral-700'}`}\n />\n <div className=\"p-2 flex w-full justify-between text-xs text-neutral-500 dark:text-neutral-400\">\n <span className=\"font-bold\">Username:</span> {usernameLocal}\n </div>\n <div className=\"px-2 pb-2 flex w-full justify-between text-xs text-neutral-500 dark:text-neutral-400\">\n <span className=\"font-bold\">Wallet:</span>{' '}\n {address.substring(0, 9) + '...' + address.slice(-3)}\n </div>\n </div>\n {error && (\n <div className=\"mt-2 w-72 p-2 text-n1-ww-main bg-n1-ww-main/5 dark:bg-n1-ww-main/20 border border-n1-ww-main/40 rounded-[15px] text-center\">\n {error}\n </div>\n )}\n\n <button\n className=\"my-4 w-72 py-4 border rounded-[15px] text-white bg-neutral-900 dark:bg-white dark:text-black cursor-pointer duration-300 hover:opacity-80\"\n onClick={handleCreate}\n >\n Create\n </button>\n <div className=\"w-72\">\n <button\n className=\"w-full py-4 border rounded-[18px] cursor-pointer duration-300 hover:opacity-80 bg-neutral-100 dark:bg-neutral-800 text-neutral-500 dark:text-neutral-400 border-neutral-200 dark:border-neutral-700 hover:opacity-80\"\n onClick={close}\n >\n Close\n </button>\n </div>\n </div>\n </div>\n </div>\n </div>\n );\n}\n"]}
|
|
@@ -29,15 +29,15 @@ export function NoWhitelistView() {
|
|
|
29
29
|
var addressText = address
|
|
30
30
|
? "".concat(address.substring(0, 6), "...").concat(address.slice(-4))
|
|
31
31
|
: '';
|
|
32
|
-
return (_jsxs("div", { className: "bg-n1-gray-50 dark:bg-n1-gray-950 relative border border-n1-gray-200 dark:border-n1-gray-800 rounded-md transition-[max-width,transform,opacity] duration-[3000ms] ease-[cubic-bezier(0.16,1,0.3,1)] w-full max-w-sm m-4 origin-center will-change-[max-width,transform,opacity]", children: [_jsx("div", { className: "p-6 border-b border-n1-gray-200 dark:border-n1-gray-800", children: _jsx(ModalHeader, {}) }), _jsx("div", { className: "p-6 overflow-hidden relative", children: _jsxs("div", { className: "space-y-6", children: [_jsxs("div", { className: "text-center", children: [_jsx("h3", { className: "text-xl font-medium text-n1-gray-900 dark:text-white mb-2", children: "Not Whitelisted" }), _jsxs("p", { className: "text-n1-gray-500 dark:text-n1-gray-400", children: ["The wallet address ", addressText, " is not whitelisted for access."] })] }), _jsx("button", { onClick: disconnect, onMouseEnter: function () { return setIsHovered(true); }, onMouseLeave: function () {
|
|
32
|
+
return (_jsxs("div", { className: "bg-n1-ww-gray-50 dark:bg-n1-ww-gray-950 relative border border-n1-ww-gray-200 dark:border-n1-ww-gray-800 rounded-md transition-[max-width,transform,opacity] duration-[3000ms] ease-[cubic-bezier(0.16,1,0.3,1)] w-full max-w-sm m-4 origin-center will-change-[max-width,transform,opacity]", children: [_jsx("div", { className: "p-6 border-b border-n1-ww-gray-200 dark:border-n1-ww-gray-800", children: _jsx(ModalHeader, {}) }), _jsx("div", { className: "p-6 overflow-hidden relative", children: _jsxs("div", { className: "space-y-6", children: [_jsxs("div", { className: "text-center", children: [_jsx("h3", { className: "text-xl font-medium text-n1-ww-gray-900 dark:text-white mb-2", children: "Not Whitelisted" }), _jsxs("p", { className: "text-n1-ww-gray-500 dark:text-n1-ww-gray-400", children: ["The wallet address ", addressText, " is not whitelisted for access."] })] }), _jsx("button", { onClick: disconnect, onMouseEnter: function () { return setIsHovered(true); }, onMouseLeave: function () {
|
|
33
33
|
setIsHovered(false);
|
|
34
34
|
setIsPressed(false);
|
|
35
|
-
}, onMouseDown: function () { return setIsPressed(true); }, onMouseUp: function () { return setIsPressed(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: {
|
|
35
|
+
}, onMouseDown: function () { return setIsPressed(true); }, onMouseUp: function () { return setIsPressed(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: {
|
|
36
36
|
transform: isPressed
|
|
37
37
|
? 'scale(0.98)'
|
|
38
38
|
: isHovered
|
|
39
39
|
? 'scale(0.99)'
|
|
40
40
|
: 'scale(1)',
|
|
41
|
-
}, children: _jsx("div", { className: "relative z-[200] pl-4 isolate", children: _jsx("div", { className: "flex items-center justify-center", 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-neutral-400 group-hover:text-n1-gray-900 dark:group-hover:text-white\n "), children: "Disconnect" }) }) }) })] }) })] }));
|
|
41
|
+
}, children: _jsx("div", { className: "relative z-[200] pl-4 isolate", children: _jsx("div", { className: "flex items-center justify-center", 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-neutral-400 group-hover:text-n1-ww-gray-900 dark:group-hover:text-white\n "), children: "Disconnect" }) }) }) })] }) })] }));
|
|
42
42
|
}
|
|
43
43
|
//# sourceMappingURL=NoWhitelistView.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NoWhitelistView.js","sourceRoot":"","sources":["../../../../src/Modal/NTSFlow/views/NoWhitelistView.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EACL,kBAAkB,EAClB,0BAA0B,GAC3B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,MAAM,UAAU,eAAe;IACvB,IAAA,KACJ,0BAA0B,EAAE,EADtB,WAAW,iBAAA,EAAE,mBAAmB,yBAAA,EAAE,cAAc,oBAC1B,CAAC;IACvB,IAAA,OAAO,GAAK,kBAAkB,EAAE,QAAzB,CAA0B;IACnC,IAAA,KAA4B,QAAQ,CAAC,KAAK,CAAC,EAA1C,SAAS,QAAA,EAAE,YAAY,QAAmB,CAAC;IAC5C,IAAA,KAA4B,QAAQ,CAAC,KAAK,CAAC,EAA1C,SAAS,QAAA,EAAE,YAAY,QAAmB,CAAC;IAElD,SAAS,UAAU;QACjB,4EAA4E;QAC5E,mBAAmB,EAAE,CAAC;QACtB,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;YAClC,YAAY,CAAC,KAAK,EAAE,CAAC;YACrB,IAAI,QAAQ,IAAI,MAAM,EAAE,CAAC;gBACvB,MAAM,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,UAAU,UAAU;oBACrC,UAAU,CAAC,OAAO,CAAC,UAAU,SAAS;wBACpC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;oBAC3B,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;YACL,CAAC;YACD,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QAC3B,CAAC;QAED,WAAW,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QACrC,cAAc,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC;IAED,IAAM,WAAW,GAAG,OAAO;QACzB,CAAC,CAAC,UAAG,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,gBAAM,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAE;QACrD,CAAC,CAAC,EAAE,CAAC;IAEP,OAAO,CACL,eAAK,SAAS,EAAC,
|
|
1
|
+
{"version":3,"file":"NoWhitelistView.js","sourceRoot":"","sources":["../../../../src/Modal/NTSFlow/views/NoWhitelistView.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useState } from 'react';\nimport {\n useN1WalletContext,\n useN1WalletInternalContext,\n} from '../../../Provider/hooks';\nimport { N1ModalViewMode } from '../../../Provider/types';\nimport { ANIMATION_EASE } from '../../NordFlow/constants';\nimport { ModalHeader } from '../components/ModalHeader';\n\nexport function NoWhitelistView() {\n const { setViewMode, dynamicHandleLogOut, setIsConnected } =\n useN1WalletInternalContext();\n const { address } = useN1WalletContext();\n const [isHovered, setIsHovered] = useState(false);\n const [isPressed, setIsPressed] = useState(false);\n\n function disconnect() {\n // TODO: create a util function for disconnecting and clearing local storage\n dynamicHandleLogOut();\n if (typeof window !== 'undefined') {\n localStorage.clear();\n if ('caches' in window) {\n caches.keys().then(function (cacheNames) {\n cacheNames.forEach(function (cacheName) {\n caches.delete(cacheName);\n });\n });\n }\n window.location.reload();\n }\n\n setViewMode(N1ModalViewMode.Connect);\n setIsConnected(false);\n }\n\n const addressText = address\n ? `${address.substring(0, 6)}...${address.slice(-4)}`\n : '';\n\n return (\n <div className=\"bg-n1-ww-gray-50 dark:bg-n1-ww-gray-950 relative border border-n1-ww-gray-200 dark:border-n1-ww-gray-800 rounded-md transition-[max-width,transform,opacity] duration-[3000ms] ease-[cubic-bezier(0.16,1,0.3,1)] w-full max-w-sm m-4 origin-center will-change-[max-width,transform,opacity]\">\n <div className=\"p-6 border-b border-n1-ww-gray-200 dark:border-n1-ww-gray-800\">\n <ModalHeader />\n </div>\n\n <div className=\"p-6 overflow-hidden relative\">\n <div className=\"space-y-6\">\n <div className=\"text-center\">\n <h3 className=\"text-xl font-medium text-n1-ww-gray-900 dark:text-white mb-2\">\n Not Whitelisted\n </h3>\n <p className=\"text-n1-ww-gray-500 dark:text-n1-ww-gray-400\">\n The wallet address {addressText} is not whitelisted for access.\n </p>\n </div>\n\n <button\n onClick={disconnect}\n onMouseEnter={() => setIsHovered(true)}\n onMouseLeave={() => {\n setIsHovered(false);\n setIsPressed(false);\n }}\n onMouseDown={() => setIsPressed(true)}\n onMouseUp={() => setIsPressed(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: isPressed\n ? 'scale(0.98)'\n : isHovered\n ? 'scale(0.99)'\n : 'scale(1)',\n }}\n >\n <div className=\"relative z-[200] pl-4 isolate\">\n <div className=\"flex items-center justify-center\">\n <span\n className={`\n text-base font-medium tracking-wide transition-colors duration-300 ${ANIMATION_EASE}\n text-n1-ww-gray-500 dark:text-neutral-400 group-hover:text-n1-ww-gray-900 dark:group-hover:text-white\n `}\n >\n Disconnect\n </span>\n </div>\n </div>\n </button>\n </div>\n </div>\n </div>\n );\n}\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { ModalHeader } from '../components/ModalHeader';
|
|
3
3
|
export function SigningView() {
|
|
4
|
-
return (_jsxs("div", { className: "bg-n1-gray-50 dark:bg-n1-gray-950 relative border border-n1-gray-200 dark:border-n1-gray-800 rounded-md transition-[max-width,transform,opacity] duration-[3000ms] ease-[cubic-bezier(0.16,1,0.3,1)] w-full max-w-sm m-4 origin-center will-change-[max-width,transform,opacity]", children: [_jsx("div", { className: "p-6 border-b border-n1-gray-200 dark:border-n1-gray-800", children: _jsx(ModalHeader, {}) }), _jsx("div", { className: "p-6 overflow-hidden relative", children: _jsxs("div", { className: "flex flex-col items-center justify-center py-12 space-y-6", children: [_jsx("div", { className: "relative", children: _jsx("div", { className: "n1-animate-spin rounded-full h-16 w-16 border-2 border-n1-gray-200 dark:border-n1-gray-800", children: _jsx("div", { className: "absolute inset-0 rounded-full border-t-2 border-n1-main" }) }) }), _jsxs("div", { className: "space-y-2 text-center w-[300px]", children: [_jsxs("h3", { className: "text-xl text-n1-gray-900 dark:text-white transition-all duration-300 h-[32px] flex items-center justify-center relative font-semibold", children: [_jsx("span", { className: "opacity-0 absolute select-none", "aria-hidden": "true", children: "Waiting for signature" }), _jsx("div", { className: "absolute min-w-[280px]", children: "Waiting for signature" })] }), _jsxs("p", { className: "text-sm text-n1-gray-600 dark:text-neutral-400 h-[20px] flex items-center justify-center relative", children: [_jsx("span", { className: "opacity-0 absolute select-none", "aria-hidden": "true", children: "Please sign the message in your wallet" }), _jsx("div", { className: "absolute min-w-[280px]", children: "Please sign the message in your wallet" })] })] })] }) })] }));
|
|
4
|
+
return (_jsxs("div", { className: "bg-n1-ww-gray-50 dark:bg-n1-ww-gray-950 relative border border-n1-ww-gray-200 dark:border-n1-ww-gray-800 rounded-md transition-[max-width,transform,opacity] duration-[3000ms] ease-[cubic-bezier(0.16,1,0.3,1)] w-full max-w-sm m-4 origin-center will-change-[max-width,transform,opacity]", children: [_jsx("div", { className: "p-6 border-b border-n1-ww-gray-200 dark:border-n1-ww-gray-800", children: _jsx(ModalHeader, {}) }), _jsx("div", { className: "p-6 overflow-hidden relative", children: _jsxs("div", { className: "flex flex-col items-center justify-center py-12 space-y-6", children: [_jsx("div", { className: "relative", children: _jsx("div", { className: "n1-animate-spin rounded-full h-16 w-16 border-2 border-n1-ww-gray-200 dark:border-n1-ww-gray-800", children: _jsx("div", { className: "absolute inset-0 rounded-full border-t-2 border-n1-ww-main" }) }) }), _jsxs("div", { className: "space-y-2 text-center w-[300px]", children: [_jsxs("h3", { className: "text-xl text-n1-ww-gray-900 dark:text-white transition-all duration-300 h-[32px] flex items-center justify-center relative font-semibold", children: [_jsx("span", { className: "opacity-0 absolute select-none", "aria-hidden": "true", children: "Waiting for signature" }), _jsx("div", { className: "absolute min-w-[280px]", children: "Waiting for signature" })] }), _jsxs("p", { className: "text-sm text-n1-ww-gray-600 dark:text-neutral-400 h-[20px] flex items-center justify-center relative", children: [_jsx("span", { className: "opacity-0 absolute select-none", "aria-hidden": "true", children: "Please sign the message in your wallet" }), _jsx("div", { className: "absolute min-w-[280px]", children: "Please sign the message in your wallet" })] })] })] }) })] }));
|
|
5
5
|
}
|
|
6
6
|
//# sourceMappingURL=SigningView.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SigningView.js","sourceRoot":"","sources":["../../../../src/Modal/NTSFlow/views/SigningView.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,MAAM,UAAU,WAAW;IACzB,OAAO,CACL,eAAK,SAAS,EAAC,
|
|
1
|
+
{"version":3,"file":"SigningView.js","sourceRoot":"","sources":["../../../../src/Modal/NTSFlow/views/SigningView.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,MAAM,UAAU,WAAW;IACzB,OAAO,CACL,eAAK,SAAS,EAAC,8RAA8R,aAC3S,cAAK,SAAS,EAAC,+DAA+D,YAC5E,KAAC,WAAW,KAAG,GACX,EAEN,cAAK,SAAS,EAAC,8BAA8B,YAC3C,eAAK,SAAS,EAAC,2DAA2D,aACxE,cAAK,SAAS,EAAC,UAAU,YACvB,cAAK,SAAS,EAAC,kGAAkG,YAC/G,cAAK,SAAS,EAAC,4DAA4D,GAAO,GAC9E,GACF,EACN,eAAK,SAAS,EAAC,iCAAiC,aAC9C,cAAI,SAAS,EAAC,0IAA0I,aACtJ,eACE,SAAS,EAAC,gCAAgC,iBAC9B,MAAM,sCAGb,EACP,cAAK,SAAS,EAAC,wBAAwB,sCAEjC,IACH,EACL,aAAG,SAAS,EAAC,sGAAsG,aACjH,eACE,SAAS,EAAC,gCAAgC,iBAC9B,MAAM,uDAGb,EACP,cAAK,SAAS,EAAC,wBAAwB,uDAEjC,IACJ,IACA,IACF,GACF,IACF,CACP,CAAC;AACJ,CAAC","sourcesContent":["import { ModalHeader } from '../components/ModalHeader';\n\nexport function SigningView() {\n return (\n <div className=\"bg-n1-ww-gray-50 dark:bg-n1-ww-gray-950 relative border border-n1-ww-gray-200 dark:border-n1-ww-gray-800 rounded-md transition-[max-width,transform,opacity] duration-[3000ms] ease-[cubic-bezier(0.16,1,0.3,1)] w-full max-w-sm m-4 origin-center will-change-[max-width,transform,opacity]\">\n <div className=\"p-6 border-b border-n1-ww-gray-200 dark:border-n1-ww-gray-800\">\n <ModalHeader />\n </div>\n\n <div className=\"p-6 overflow-hidden relative\">\n <div className=\"flex flex-col items-center justify-center py-12 space-y-6\">\n <div className=\"relative\">\n <div className=\"n1-animate-spin rounded-full h-16 w-16 border-2 border-n1-ww-gray-200 dark:border-n1-ww-gray-800\">\n <div className=\"absolute inset-0 rounded-full border-t-2 border-n1-ww-main\"></div>\n </div>\n </div>\n <div className=\"space-y-2 text-center w-[300px]\">\n <h3 className=\"text-xl text-n1-ww-gray-900 dark:text-white transition-all duration-300 h-[32px] flex items-center justify-center relative font-semibold\">\n <span\n className=\"opacity-0 absolute select-none\"\n aria-hidden=\"true\"\n >\n Waiting for signature\n </span>\n <div className=\"absolute min-w-[280px]\">\n Waiting for signature\n </div>\n </h3>\n <p className=\"text-sm text-n1-ww-gray-600 dark:text-neutral-400 h-[20px] flex items-center justify-center relative\">\n <span\n className=\"opacity-0 absolute select-none\"\n aria-hidden=\"true\"\n >\n Please sign the message in your wallet\n </span>\n <div className=\"absolute min-w-[280px]\">\n Please sign the message in your wallet\n </div>\n </p>\n </div>\n </div>\n </div>\n </div>\n );\n}\n"]}
|
|
@@ -20,7 +20,7 @@ var EnhancedIdleScreen = withImageFallback(IdleScreen);
|
|
|
20
20
|
*/
|
|
21
21
|
export var NordFlow = function (_a) {
|
|
22
22
|
var onClose = _a.onClose;
|
|
23
|
-
return (_jsx("div", { className: "z-50 flex items-center justify-center overflow-auto font-era", children: _jsxs("div", { className: "bg-n1-gray-50 dark:bg-n1-gray-950 relative border border-n1-gray-200 dark:border-n1-gray-800 rounded-md transition-[max-width,transform,opacity] duration-[3000ms] ease-[cubic-bezier(0.16,1,0.3,1)] w-full max-w-sm m-4 origin-center will-change-[max-width,transform,opacity min-w-96", children: [_jsx(Header, { onClose: onClose }), _jsx("div", { className: "wallet-connection-flow-content p-6 overflow-hidden", children: _jsx(NordFlowScreenRenderer, { onClose: onClose }) })] }) }));
|
|
23
|
+
return (_jsx("div", { className: "z-50 flex items-center justify-center overflow-auto font-era", children: _jsxs("div", { className: "bg-n1-ww-gray-50 dark:bg-n1-ww-gray-950 relative border border-n1-ww-gray-200 dark:border-n1-ww-gray-800 rounded-md transition-[max-width,transform,opacity] duration-[3000ms] ease-[cubic-bezier(0.16,1,0.3,1)] w-full max-w-sm m-4 origin-center will-change-[max-width,transform,opacity min-w-96", children: [_jsx(Header, { onClose: onClose }), _jsx("div", { className: "wallet-connection-flow-content p-6 overflow-hidden", children: _jsx(NordFlowScreenRenderer, { onClose: onClose }) })] }) }));
|
|
24
24
|
};
|
|
25
25
|
// Screen renderer component that uses the flow state context
|
|
26
26
|
var NordFlowScreenRenderer = function (_a) {
|
|
@@ -52,6 +52,6 @@ var NordFlowScreenRenderer = function (_a) {
|
|
|
52
52
|
return _jsx(EnhancedIdleScreen, {});
|
|
53
53
|
}
|
|
54
54
|
};
|
|
55
|
-
return (_jsx("div", { className: isClosing ? 'n1-animate-fade-out' : 'n1-animate-fade-in', children: renderScreen() }));
|
|
55
|
+
return (_jsx("div", { className: isClosing ? 'n1-ww-animate-fade-out' : 'n1-ww-animate-fade-in', children: renderScreen() }));
|
|
56
56
|
};
|
|
57
57
|
//# sourceMappingURL=NordFlow.js.map
|