@n1xyz/wallet-widget 0.0.17 → 0.0.20
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/Logic/utils.js.map +1 -1
- package/dist/Modal/N1WalletModal.d.ts +1 -1
- package/dist/Modal/N1WalletModal.js +63 -18
- package/dist/Modal/N1WalletModal.js.map +1 -1
- package/dist/Modal/NTSFlow/NTSFlow.d.ts +1 -4
- package/dist/Modal/NTSFlow/NTSFlow.js +7 -7
- package/dist/Modal/NTSFlow/NTSFlow.js.map +1 -1
- package/dist/Modal/NTSFlow/components/BackButton.d.ts +1 -1
- package/dist/Modal/NTSFlow/components/ModalHeader.d.ts +1 -1
- package/dist/Modal/NTSFlow/views/01-ConnectView.d.ts +1 -0
- package/dist/Modal/NTSFlow/views/01-ConnectView.js +69 -0
- package/dist/Modal/NTSFlow/views/01-ConnectView.js.map +1 -0
- package/dist/Modal/NTSFlow/views/02-CreateSessionView.d.ts +1 -0
- package/dist/Modal/NTSFlow/views/02-CreateSessionView.js +261 -0
- package/dist/Modal/NTSFlow/views/02-CreateSessionView.js.map +1 -0
- package/dist/Modal/NTSFlow/views/03-SigningView.d.ts +1 -0
- package/dist/Modal/NTSFlow/views/03-SigningView.js +6 -0
- package/dist/Modal/NTSFlow/views/03-SigningView.js.map +1 -0
- package/dist/Modal/NTSFlow/views/04-CreateUserView.d.ts +1 -0
- package/dist/Modal/NTSFlow/views/04-CreateUserView.js +106 -0
- package/dist/Modal/NTSFlow/views/04-CreateUserView.js.map +1 -0
- package/dist/Modal/NTSFlow/views/05-SuccessView.d.ts +1 -0
- package/dist/Modal/NTSFlow/views/05-SuccessView.js +12 -0
- package/dist/Modal/NTSFlow/views/05-SuccessView.js.map +1 -0
- package/dist/Modal/NTSFlow/views/99-NoWhitelistView.d.ts +1 -0
- package/dist/Modal/NTSFlow/views/99-NoWhitelistView.js +43 -0
- package/dist/Modal/NTSFlow/views/99-NoWhitelistView.js.map +1 -0
- package/dist/Modal/NTSFlow/views/ConnectView.d.ts +1 -1
- package/dist/Modal/NTSFlow/views/ConnectView.js +1 -1
- package/dist/Modal/NTSFlow/views/ConnectView.js.map +1 -1
- package/dist/Modal/NTSFlow/views/CreateSessionView.d.ts +1 -1
- package/dist/Modal/NTSFlow/views/CreateUserView.d.ts +1 -1
- package/dist/Modal/NTSFlow/views/NoWhitelistView.d.ts +1 -1
- package/dist/Modal/NTSFlow/views/SigningView.d.ts +1 -1
- package/dist/Modal/NTSFlow/views/SuccessView.d.ts +1 -1
- package/dist/Modal/NTSFlow/views/SuccessView.js +3 -2
- package/dist/Modal/NTSFlow/views/SuccessView.js.map +1 -1
- package/dist/Modal/NordFlow/components/ChainButton.d.ts +1 -1
- package/dist/Modal/NordFlow/components/EVMChainsButton.d.ts +1 -1
- package/dist/Modal/NordFlow/components/LoadingSquares.d.ts +1 -1
- package/dist/Modal/NordFlow/components/MoreButton.d.ts +1 -1
- package/dist/Modal/NordFlow/components/TransactionTable.d.ts +1 -1
- package/dist/Modal/NordFlow/components/WaitingMessage.d.ts +1 -1
- package/dist/Modal/NordFlow/screens/01-ConnectWalletScreen.d.ts +1 -1
- package/dist/Modal/NordFlow/screens/01-ConnectWalletScreen.js +2 -1
- package/dist/Modal/NordFlow/screens/01-ConnectWalletScreen.js.map +1 -1
- package/dist/Modal/NordFlow/screens/02-EvmWalletAuthScreen.d.ts +1 -1
- package/dist/Modal/NordFlow/screens/03-ChainSelectionScreen.d.ts +1 -1
- package/dist/Modal/NordFlow/screens/04-AmountInputScreen.d.ts +1 -1
- package/dist/Modal/NordFlow/screens/04-AmountInputScreen.js +3 -2
- package/dist/Modal/NordFlow/screens/04-AmountInputScreen.js.map +1 -1
- package/dist/Modal/NordFlow/screens/05-DepositProgressScreen.d.ts +1 -1
- package/dist/Modal/NordFlow/screens/06-DepositSuccessScreen.d.ts +1 -1
- package/dist/Modal/NordFlow/screens/07-AuthLoadingScreen.d.ts +1 -1
- package/dist/Modal/NordFlow/screens/08-FinalSuccessScreen.d.ts +1 -1
- package/dist/Modal/NordFlow/screens/08-FinalSuccessScreen.js +12 -4
- package/dist/Modal/NordFlow/screens/08-FinalSuccessScreen.js.map +1 -1
- package/dist/Modal/NordFlow/screens/09-ErrorScreen.d.ts +1 -1
- package/dist/Modal/Sidebar/N1Sidebar.d.ts +1 -1
- package/dist/Modal/Sidebar/N1Sidebar.js +1 -1
- package/dist/Modal/Sidebar/N1Sidebar.js.map +1 -1
- package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketOverview.d.ts +1 -1
- package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketSelector.d.ts +1 -1
- package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketStats.d.ts +1 -1
- package/dist/Modal/Sidebar/NordTradingView/NordTradingView.d.ts +1 -1
- package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBook.d.ts +1 -1
- package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookDepthVisualizer.d.ts +1 -1
- package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookHeader.d.ts +1 -1
- package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookTable.d.ts +1 -1
- package/dist/Modal/Sidebar/NordTradingView/TradeForm/AmountInput.d.ts +1 -1
- package/dist/Modal/Sidebar/NordTradingView/TradeForm/BuySellTabs.d.ts +1 -1
- package/dist/Modal/Sidebar/NordTradingView/TradeForm/FillModeSelector.d.ts +1 -1
- package/dist/Modal/Sidebar/NordTradingView/TradeForm/OrderTypeSelector.d.ts +1 -1
- package/dist/Modal/Sidebar/NordTradingView/TradeForm/PriceInput.d.ts +1 -1
- package/dist/Modal/Sidebar/NordTradingView/TradeForm/SubmitButton.d.ts +1 -1
- package/dist/Modal/Sidebar/NordTradingView/TradeForm/TotalCalculator.d.ts +1 -1
- package/dist/Modal/Sidebar/NordTradingView/TradeForm/TradeForm.d.ts +1 -1
- package/dist/Modal/Sidebar/NordTradingView/UserBalances/UserBalances.d.ts +1 -1
- package/dist/Modal/Sidebar/NordTradingView/UserOrders/UserOrders.d.ts +1 -1
- package/dist/Modal/Sidebar/NordTradingView/UserPositions/UserPositions.d.ts +1 -1
- package/dist/Provider/LazyWalletProvider.d.ts +1 -1
- package/dist/Provider/N1WalletProvider.d.ts +2 -2
- package/dist/Provider/N1WalletProvider.js +47 -19
- package/dist/Provider/N1WalletProvider.js.map +1 -1
- package/dist/Provider/context.d.ts +2 -2
- package/dist/Provider/hooks/useNordUserInitialization.js +2 -2
- package/dist/Provider/hooks/useNordUserInitialization.js.map +1 -1
- package/dist/Provider/hooks.d.ts +2 -2
- package/dist/Provider/icons/CoinbaseWalletIcon.d.ts +1 -1
- package/dist/Provider/icons/ConnectionDotsSVG.d.ts +1 -1
- package/dist/Provider/icons/MetamaskIcon.d.ts +1 -1
- package/dist/Provider/icons/PhantomIcon.d.ts +1 -1
- package/dist/Provider/icons/UserIcon.d.ts +1 -1
- package/dist/Provider/icons/WalletConnectIcon.d.ts +1 -1
- package/dist/Provider/types.d.ts +16 -3
- package/dist/Provider/types.js.map +1 -1
- package/dist/WidgetButton/N1ConnectButton.d.ts +1 -1
- package/dist/WidgetButton/N1ConnectButton.js +4 -4
- package/dist/WidgetButton/N1ConnectButton.js.map +1 -1
- package/dist/components/Logo.d.ts +1 -1
- package/dist/components/QRCodeLoader.d.ts +1 -1
- package/dist/embedded-main-css.d.ts +1 -1
- package/dist/embedded-main-css.js +1 -1
- package/dist/embedded-main-css.js.map +1 -1
- package/dist/main.css +1 -1
- package/dist/utils/dynamicImports.d.ts +2 -1
- package/package.json +9 -7
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"ConnectView.js","sourceRoot":"","sources":["../../../../src/Modal/NTSFlow/views/ConnectView.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAGjC,OAAO,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,MAAM,UAAU,WAAW;IAA3B,iBA4FC;IA3FO,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,EAGT,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';\n// import { 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';\nimport { IoMdWallet } from 'react-icons/io';\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\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"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare function CreateSessionView():
|
|
1
|
+
export declare function CreateSessionView(): JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare function CreateUserView():
|
|
1
|
+
export declare function CreateUserView(): JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare function NoWhitelistView():
|
|
1
|
+
export declare function NoWhitelistView(): JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare function SigningView():
|
|
1
|
+
export declare function SigningView(): JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare function SuccessView():
|
|
1
|
+
export declare function SuccessView(): JSX.Element;
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { IoMdCheckmarkCircleOutline } from 'react-icons/io';
|
|
2
3
|
import { useN1WalletInternalContext } from '../../../Provider/hooks';
|
|
3
4
|
import { ModalHeader } from '../components/ModalHeader';
|
|
4
5
|
export function SuccessView() {
|
|
5
|
-
var
|
|
6
|
+
var setStartClosingLogin = useN1WalletInternalContext().setStartClosingLogin;
|
|
6
7
|
var close = function () {
|
|
7
8
|
setStartClosingLogin(true);
|
|
8
9
|
};
|
|
9
|
-
return (_jsxs("div", { className: "
|
|
10
|
+
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] shadow-lg", 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 space-y-6", children: [_jsx(IoMdCheckmarkCircleOutline, { className: "w-16 h-16 text-green-500 dark:text-green-400 mb-2" }), _jsx("button", { className: "group relative w-full overflow-hidden rounded-md border-2 bg-n1-ww-gray-100 dark:bg-neutral-950 py-4 text-center transition-all duration-300 cursor-pointer border-n1-ww-gray-200 dark:border-n1-ww-gray-800 hover:border-n1-ww-gray-400 dark:hover:border-white/60 text-n1-ww-gray-900 dark:text-white font-medium text-base", onClick: close, children: "Continue" })] }) })] }));
|
|
10
11
|
}
|
|
11
12
|
//# sourceMappingURL=SuccessView.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SuccessView.js","sourceRoot":"","sources":["../../../../src/Modal/NTSFlow/views/SuccessView.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,MAAM,UAAU,WAAW;
|
|
1
|
+
{"version":3,"file":"SuccessView.js","sourceRoot":"","sources":["../../../../src/Modal/NTSFlow/views/SuccessView.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,MAAM,UAAU,WAAW;IACjB,IAAA,oBAAoB,GAAK,0BAA0B,EAAE,qBAAjC,CAAkC;IAC9D,IAAM,KAAK,GAAG;QACZ,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC,CAAC;IAEF,OAAO,CACL,eAAK,SAAS,EAAC,wSAAwS,aACrT,cAAK,SAAS,EAAC,+DAA+D,YAC5E,KAAC,WAAW,KAAG,GACX,EACN,cAAK,SAAS,EAAC,8BAA8B,YAC3C,eAAK,SAAS,EAAC,sCAAsC,aACnD,KAAC,0BAA0B,IAAC,SAAS,EAAC,mDAAmD,GAAG,EAC5F,iBACE,SAAS,EAAC,+TAA+T,EACzU,OAAO,EAAE,KAAK,yBAGP,IACL,GACF,IACF,CACP,CAAC;AACJ,CAAC","sourcesContent":["import { IoMdCheckmarkCircleOutline } from 'react-icons/io';\nimport { useN1WalletInternalContext } from '../../../Provider/hooks';\nimport { ModalHeader } from '../components/ModalHeader';\n\nexport function SuccessView() {\n const { setStartClosingLogin } = useN1WalletInternalContext();\n const close = () => {\n setStartClosingLogin(true);\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] shadow-lg\">\n <div className=\"p-6 border-b border-n1-ww-gray-200 dark:border-n1-ww-gray-800\">\n <ModalHeader />\n </div>\n <div className=\"p-6 overflow-hidden relative\">\n <div className=\"flex flex-col items-center space-y-6\">\n <IoMdCheckmarkCircleOutline className=\"w-16 h-16 text-green-500 dark:text-green-400 mb-2\" />\n <button\n className=\"group relative w-full overflow-hidden rounded-md border-2 bg-n1-ww-gray-100 dark:bg-neutral-950 py-4 text-center transition-all duration-300 cursor-pointer border-n1-ww-gray-200 dark:border-n1-ww-gray-800 hover:border-n1-ww-gray-400 dark:hover:border-white/60 text-n1-ww-gray-900 dark:text-white font-medium text-base\"\n onClick={close}\n >\n Continue\n </button>\n </div>\n </div>\n </div>\n );\n}\n"]}
|
|
@@ -4,5 +4,5 @@ interface ChainButtonProps {
|
|
|
4
4
|
onClick: (chainId: string) => void;
|
|
5
5
|
disabled?: boolean;
|
|
6
6
|
}
|
|
7
|
-
export declare function ChainButton({ chain, onClick, disabled, }: ChainButtonProps):
|
|
7
|
+
export declare function ChainButton({ chain, onClick, disabled, }: ChainButtonProps): JSX.Element;
|
|
8
8
|
export {};
|
|
@@ -4,5 +4,5 @@ interface EVMChainsButtonProps {
|
|
|
4
4
|
onClick: (chainId: string) => void;
|
|
5
5
|
disabled?: boolean;
|
|
6
6
|
}
|
|
7
|
-
export declare function EVMChainsButton({ chain, onClick, disabled, }: EVMChainsButtonProps):
|
|
7
|
+
export declare function EVMChainsButton({ chain, onClick, disabled, }: EVMChainsButtonProps): JSX.Element;
|
|
8
8
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare function LoadingSquares():
|
|
1
|
+
export declare function LoadingSquares(): JSX.Element;
|
|
@@ -4,5 +4,5 @@ interface MoreButtonProps {
|
|
|
4
4
|
onClick: (chainId: string) => void;
|
|
5
5
|
disabled?: boolean;
|
|
6
6
|
}
|
|
7
|
-
export declare function MoreButton({ chain, onClick, disabled, }: MoreButtonProps):
|
|
7
|
+
export declare function MoreButton({ chain, onClick, disabled, }: MoreButtonProps): JSX.Element;
|
|
8
8
|
export {};
|
|
@@ -9,5 +9,5 @@ interface TransactionTableProps {
|
|
|
9
9
|
};
|
|
10
10
|
onClose?: () => void;
|
|
11
11
|
}
|
|
12
|
-
export declare function TransactionTable({ tableValues, onClose, }: TransactionTableProps):
|
|
12
|
+
export declare function TransactionTable({ tableValues, onClose, }: TransactionTableProps): JSX.Element;
|
|
13
13
|
export {};
|
|
@@ -2,5 +2,5 @@ import { WaitingMessageState } from '../types';
|
|
|
2
2
|
interface WaitingMessageProps {
|
|
3
3
|
message: WaitingMessageState;
|
|
4
4
|
}
|
|
5
|
-
export declare function WaitingMessage({ message }: WaitingMessageProps):
|
|
5
|
+
export declare function WaitingMessage({ message }: WaitingMessageProps): JSX.Element;
|
|
6
6
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare function ConnectWalletScreen():
|
|
1
|
+
export declare function ConnectWalletScreen(): JSX.Element;
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { useEffect, useState } from 'react';
|
|
3
|
-
import { IoMdWallet } from 'react-icons/io';
|
|
3
|
+
// import { IoMdWallet } from 'react-icons/io';
|
|
4
4
|
import { LoadingSquares } from '../components/LoadingSquares';
|
|
5
5
|
import { ANIMATION_EASE } from '../constants';
|
|
6
6
|
import { useWalletConnectContext } from '../context/WalletConnectContext';
|
|
7
|
+
import { IoMdWallet } from 'react-icons/io';
|
|
7
8
|
export function ConnectWalletScreen() {
|
|
8
9
|
var _a = useWalletConnectContext(), isConnecting = _a.isConnecting, connectWallet = _a.connectWallet;
|
|
9
10
|
var _b = useState(null), isHovered = _b[0], setIsHovered = _b[1];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"01-ConnectWalletScreen.js","sourceRoot":"","sources":["../../../../src/Modal/NordFlow/screens/01-ConnectWalletScreen.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"01-ConnectWalletScreen.js","sourceRoot":"","sources":["../../../../src/Modal/NordFlow/screens/01-ConnectWalletScreen.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5C,+CAA+C;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,MAAM,UAAU,mBAAmB;IAC3B,IAAA,KAAkC,uBAAuB,EAAE,EAAzD,YAAY,kBAAA,EAAE,aAAa,mBAA8B,CAAC;IAC5D,IAAA,KAA4B,QAAQ,CAExC,IAAI,CAAC,EAFA,SAAS,QAAA,EAAE,YAAY,QAEvB,CAAC;IAGR,SAAS,CAAC;QACR,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,aAAa,EAAE,CAAC;QAClB,CAAC;IACH,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAEnB,oCAAoC;IACpC,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,CACL,eAAK,SAAS,EAAC,2DAA2D,aACxE,KAAC,cAAc,KAAG,EAClB,eAAK,SAAS,EAAC,iCAAiC,aAC9C,aAAI,SAAS,EAAC,2DAA2D,kCAEpE,EACL,YAAG,SAAS,EAAC,mDAAmD,qEAE5D,IACA,IACF,CACP,CAAC;IACJ,CAAC;IAED,kEAAkE;IAClE,OAAO,CACL,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,kLAEqB,cAAc,qJAE7C,EACD,KAAK,EAAE;wBACL,SAAS,EAAE,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU;qBAC/D,YAED,cAAK,SAAS,EAAC,+BAA+B,YAC5C,eAAK,SAAS,EAAC,mBAAmB,aAChC,KAAC,UAAU,IAAC,SAAS,EAAC,8IAA8I,GAAG,EACvK,eACE,SAAS,EAAE,oGAC+D,cAAc,4IAEzF,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,kLAEqB,cAAc,6GAE7C,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,kLAEqB,cAAc,6GAE7C,YAED,cAAK,SAAS,EAAC,+BAA+B,YAC5C,cAAK,SAAS,EAAC,mBAAmB,YAChC,eAAM,SAAS,EAAC,+EAA+E,2CAExF,GACH,GACF,GACC,IACL,GACF,CACP,CAAC;AACJ,CAAC","sourcesContent":["import { useEffect, useState } from 'react';\n// import { IoMdWallet } from 'react-icons/io';\nimport { LoadingSquares } from '../components/LoadingSquares';\nimport { ANIMATION_EASE } from '../constants';\nimport { useWalletConnectContext } from '../context/WalletConnectContext';\nimport { IoMdWallet } from 'react-icons/io';\n\nexport function ConnectWalletScreen() {\n const { isConnecting, connectWallet } = useWalletConnectContext();\n const [isHovered, setIsHovered] = useState<\n 'wallet' | 'google' | 'email' | null\n >(null);\n\n\n useEffect(() => {\n if (!isConnecting) {\n connectWallet();\n }\n }, [isConnecting]);\n\n // If connecting, show loading state\n if (isConnecting) {\n return (\n <div className=\"flex flex-col items-center justify-center py-12 space-y-6\">\n <LoadingSquares />\n <div className=\"space-y-2 text-center w-[300px]\">\n <h3 className=\"text-xl text-n1-ww-gray-800 dark:text-white font-semibold\">\n Connecting Wallet\n </h3>\n <p className=\"text-sm text-n1-ww-gray-600 dark:text-neutral-400\">\n Please approve the connection request in your wallet\n </p>\n </div>\n </div>\n );\n }\n\n // If not connecting, show connect options (exactly like NTS flow)\n return (\n <div className=\"p-6 overflow-hidden relative\">\n <div className=\"space-y-4\">\n <button\n onClick={connectWallet}\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 );\n}\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare function EvmWalletAuthScreen():
|
|
1
|
+
export declare function EvmWalletAuthScreen(): JSX.Element;
|
|
2
2
|
export { EvmWalletAuthScreen as EthToSolAuthScreen };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare function ChainSelectionScreen():
|
|
1
|
+
export declare function ChainSelectionScreen(): JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare function AmountInputScreen():
|
|
1
|
+
export declare function AmountInputScreen(): JSX.Element;
|
|
@@ -67,7 +67,7 @@ export function AmountInputScreen() {
|
|
|
67
67
|
var faucetUrl = contextFaucetUrl;
|
|
68
68
|
// Get token information from Nord if available
|
|
69
69
|
var _h = useState('USDC'), tokenSymbol = _h[0], setTokenSymbol = _h[1];
|
|
70
|
-
var _j = useState('/
|
|
70
|
+
var _j = useState('https://res.cloudinary.com/dl3ia3pko/image/upload/v1745874373/usdc_ma4igc.svg'), tokenLogo = _j[0], setTokenLogo = _j[1];
|
|
71
71
|
var _k = useState(6), tokenDecimals = _k[0], setTokenDecimals = _k[1];
|
|
72
72
|
// Try to get token information from Nord
|
|
73
73
|
useEffect(function () {
|
|
@@ -78,7 +78,8 @@ export function AmountInputScreen() {
|
|
|
78
78
|
if (usdcToken) {
|
|
79
79
|
setTokenSymbol(usdcToken.symbol);
|
|
80
80
|
// Use a default logo if not available
|
|
81
|
-
setTokenLogo(
|
|
81
|
+
// setTokenLogo(`/images/tokens/${usdcToken.symbol.toLowerCase()}.svg`);
|
|
82
|
+
setTokenLogo('https://res.cloudinary.com/dl3ia3pko/image/upload/v1745874373/usdc_ma4igc.svg');
|
|
82
83
|
setTokenDecimals(usdcToken.decimals);
|
|
83
84
|
}
|
|
84
85
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"04-AmountInputScreen.js","sourceRoot":"","sources":["../../../../src/Modal/NordFlow/screens/04-AmountInputScreen.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useCallback, useEffect, useRef, useState } from 'react';\nimport {\n useN1WalletContext,\n useN1WalletInternalContext,\n} from '../../../Provider/hooks';\nimport { ImageWithFallback } from '../components';\nimport { ANIMATION_EASE } from '../constants';\nimport { formatAmount, isNordConfigured } from '../utils/nordUtils';\nimport { useDepositContext } from '../context/DepositContext';\nimport { useFlowStateContext } from '../context/FlowContext';\nimport { LoadingSquares } from '../components/LoadingSquares';\n\nexport function AmountInputScreen() {\n const { context } = useFlowStateContext();\n const { updateAmount, startDeposit } = useDepositContext();\n const { address, nord } = useN1WalletContext();\n const { faucetUrl: contextFaucetUrl } = useN1WalletInternalContext();\n\n // Hard code amount to 100\n const amount = '100';\n // Hard code balance to 0 to allow faucet to trigger\n const balance = 100;\n\n // Force the amount to be 100 on component mount only, not on every render\n useEffect(() => {\n updateAmount('100');\n // Empty dependency array ensures this only runs once on mount\n }, [updateAmount]);\n\n const [isHovered, setIsHovered] = useState(false);\n const [isFaucetLoading, setIsFaucetLoading] = useState(false);\n const [faucetError, setFaucetError] = useState<string | null>(null);\n const [tokensObtained, setTokensObtained] = useState(false);\n const [showFaucetSuccess, setShowFaucetSuccess] = useState(false);\n const prevBalanceRef = useRef(balance);\n\n const faucetUrl = contextFaucetUrl;\n\n // Get token information from Nord if available\n const [tokenSymbol, setTokenSymbol] = useState('USDC');\n const [tokenLogo, setTokenLogo] = useState('/images/tokens/usdc.svg');\n const [tokenDecimals, setTokenDecimals] = useState(6);\n\n // Try to get token information from Nord\n useEffect(() => {\n if (nord && isNordConfigured(nord)) {\n try {\n // Find the USDC token or the first token\n const usdcToken =\n nord.tokens.find((t: any) => t.symbol === 'USDC') || nord.tokens[0];\n if (usdcToken) {\n setTokenSymbol(usdcToken.symbol);\n // Use a default logo if not available\n setTokenLogo(`/images/tokens/${usdcToken.symbol.toLowerCase()}.svg`);\n setTokenDecimals(usdcToken.decimals);\n }\n } catch (error) {\n console.warn('Error getting token information from Nord:', error);\n }\n }\n }, [nord]);\n\n // Removed handleAmountChange since we don't want user to edit the amount\n\n // todo:fix\n const isValidAmount = true;\n\n const hardcodedMinDeposit = 100;\n\n // Check if faucet is enabled and balance is low\n const shouldShowFaucet = faucetUrl && !tokensObtained;\n\n // Determine if we should show the faucet overlay\n const showFaucetOverlay =\n (shouldShowFaucet && (isFaucetLoading || faucetError)) || showFaucetSuccess;\n\n // Function to refresh balances\n const refreshBalance = useCallback(async () => {\n // \n }, [nord]);\n\n // Function to request tokens from faucet\n const requestTestnetTokens = useCallback(async () => {\n if (!faucetUrl || !address) return;\n\n try {\n setIsFaucetLoading(true);\n setFaucetError(null);\n setShowFaucetSuccess(false);\n\n const response = await fetch(faucetUrl, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({ address }),\n });\n\n if (!response.ok) {\n const errorData = await response\n .json()\n .catch(() => ({ error: 'Failed to request tokens' }));\n throw new Error(errorData.error || 'Failed to request tokens');\n }\n\n await response.json();\n\n // Mark tokens as obtained to prevent further requests\n setTokensObtained(true);\n\n // Show success message\n setShowFaucetSuccess(true);\n\n // Refresh balance\n await refreshBalance();\n\n setShowFaucetSuccess(false);\n } catch (error) {\n console.error('Faucet error:', error);\n setFaucetError(\n error instanceof Error ? error.message : 'Failed to request tokens'\n );\n } finally {\n setIsFaucetLoading(false);\n }\n }, [faucetUrl, address, refreshBalance]);\n\n // Request tokens automatically when faucet is enabled and balance is low\n useEffect(() => {\n if (\n shouldShowFaucet &&\n !isFaucetLoading &&\n !faucetError &&\n !showFaucetSuccess &&\n context.depositError == null\n ) {\n requestTestnetTokens();\n }\n }, [\n shouldShowFaucet,\n isFaucetLoading,\n faucetError,\n showFaucetSuccess,\n requestTestnetTokens,\n context.depositError\n ]);\n\n // Reset tokensObtained state if balance changes to a higher value\n useEffect(() => {\n // If balance has increased and is now sufficient, reset the tokensObtained flag\n if (balance > prevBalanceRef.current && balance >= hardcodedMinDeposit) {\n setTokensObtained(false);\n setShowFaucetSuccess(false);\n }\n\n // Update the previous balance reference\n prevBalanceRef.current = balance;\n }, [balance, hardcodedMinDeposit]);\n\n // Format the balance with the appropriate number of decimal places\n const formattedBalance = formatAmount(balance, tokenDecimals);\n\n return (\n <div className=\"overflow-hidden relative\">\n {/* Faucet Overlay */}\n {showFaucetOverlay && (\n <div className=\"absolute inset-0 z-10 bg-white/70 dark:bg-neutral-900/80 backdrop-blur-md flex flex-col items-center justify-center p-6\">\n {isFaucetLoading ? (\n <>\n <LoadingSquares />\n <div className=\"space-y-2 text-center mt-4\">\n <h3 className=\"text-xl text-n1-ww-gray-800 dark:text-white font-semibold\">\n Obtaining Testnet Tokens\n </h3>\n <p className=\"text-sm text-n1-ww-gray-500 dark:text-neutral-400\">\n Please wait while we request testnet tokens for your wallet...\n </p>\n </div>\n </>\n ) : showFaucetSuccess ? (\n <>\n <div className=\"text-green-500 text-5xl mb-4 n1-ww-animate-fade-up\">✓</div>\n <div className=\"space-y-2 text-center\">\n <h3 className=\"text-xl text-n1-ww-gray-800 dark:text-white font-semibold\">\n Tokens Obtained Successfully\n </h3>\n <p className=\"text-sm text-green-500 dark:text-green-400\">\n Your wallet has been funded with testnet tokens.\n </p>\n <p className=\"text-sm text-n1-ww-gray-500 dark:text-neutral-400 mt-2\">\n Please wait while your balance updates...\n </p>\n </div>\n </>\n ) : faucetError ? (\n <>\n <div className=\"text-red-500 text-5xl mb-4 n1-ww-animate-fade-up\">⚠️</div>\n <div className=\"space-y-2 text-center\">\n <h3 className=\"text-xl text-n1-ww-gray-800 dark:text-white font-semibold\">\n Failed to Get Tokens\n </h3>\n <p className=\"text-sm text-red-500 dark:text-red-400\">\n {faucetError}\n </p>\n <button\n onClick={requestTestnetTokens}\n className=\"mt-4 px-4 py-2 bg-n1-ww-main text-white rounded-sm hover:bg-n1-ww-main/90 transition-colors\"\n >\n Try Again\n </button>\n </div>\n </>\n ) : null}\n </div>\n )}\n\n <h2 className=\"text-xl text-n1-ww-gray-800 dark:text-white font-semibold mb-6 text-center\">\n Enter Amount\n </h2>\n\n {/* Amount Input */}\n <div className=\"space-y-6\">\n {/* Token Selection and Amount Input */}\n <div className=\"relative border-2 border-n1-ww-gray-200 dark:border-n1-ww-gray-800 bg-n1-ww-gray-100 dark:bg-n1-ww-gray-900 rounded-sm p-0 overflow-hidden n1-ww-animate-fade-up\" style={{ animationDelay: '0.1s' }}>\n {/* Token Selection Header */}\n <div className=\"flex items-center justify-between p-4 border-b border-n1-ww-gray-200 dark:border-n1-ww-gray-800 bg-white/30 dark:bg-black/10\">\n <div className=\"flex items-center space-x-3\">\n <div className=\"w-8 h-8 rounded-full overflow-hidden bg-white dark:bg-n1-ww-gray-800 flex items-center justify-center shadow-sm\">\n <ImageWithFallback\n src={tokenLogo}\n alt={tokenSymbol}\n width={24}\n height={24}\n fallbackText={tokenSymbol.charAt(0)}\n fallbackClassName=\"w-6 h-6 rounded-full flex items-center justify-center\"\n fallbackBgColor=\"bg-blue-100 dark:bg-blue-900\"\n fallbackTextColor=\"text-blue-500 dark:text-blue-300\"\n />\n </div>\n <span className=\"text-n1-ww-gray-800 dark:text-white font-medium\">\n {tokenSymbol}\n </span>\n </div>\n <div className=\"text-xs rounded-sm bg-n1-ww-gray-200 dark:bg-n1-ww-gray-800 px-2 py-1 text-n1-ww-gray-600 dark:text-n1-ww-gray-300\">\n Fixed Amount\n </div>\n </div>\n\n {/* NOTE: Testnet Wallet Mode Reminder */}\n <div className=\"mb-4 w-full flex items-center justify-center\">\n <div className=\"bg-yellow-50 dark:bg-yellow-900/40 border border-yellow-200 dark:border-yellow-700 text-yellow-800 dark:text-yellow-200 rounded px-3 py-2 text-sm text-center max-w-xl mx-auto shadow-sm\">\n <span className=\"font-semibold\">Testnet Only:</span> Please make sure your wallet is set to <span className=\"font-semibold\">testnet mode</span> before proceeding. <a href=\"https://docs.phantom.com/developer-powertools/testnet-mode\" target=\"_blank\" rel=\"noopener noreferrer\" className=\"underline text-yellow-700 dark:text-yellow-200 hover:text-yellow-900 dark:hover:text-yellow-100 transition-colors\">Learn how to switch to testnet</a>.\n </div>\n </div>\n\n {/* Amount Input - Hardcoded to 100 */}\n <div className=\"relative p-6 flex flex-col items-center\">\n <div className=\"relative flex items-baseline justify-center w-full\">\n <span className=\"text-4xl font-bold text-n1-ww-gray-800 dark:text-white mr-1 n1-ww-animate-fade-up\" style={{ animationDelay: '0.2s' }}>\n {amount}\n </span>\n <span className=\"text-xl text-n1-ww-gray-500 dark:text-neutral-400 ml-1 n1-ww-animate-fade-up\" style={{ animationDelay: '0.3s' }}>\n {tokenSymbol}\n </span>\n </div>\n\n {/* Decorative element */}\n <div className=\"w-16 h-1 bg-n1-ww-gray-200 dark:bg-n1-ww-gray-800 rounded-full mt-4 mb-2\"></div>\n\n {/* Balance Display */}\n <div className=\"flex justify-center items-center text-sm mt-2 w-full n1-ww-animate-fade-up\" style={{ animationDelay: '0.4s' }}>\n <span className=\"text-n1-ww-gray-500 dark:text-neutral-400\">\n Balance: {formattedBalance} {tokenSymbol}\n </span>\n </div>\n </div>\n </div>\n\n {/* Error Message */}\n {context.depositError && (\n <div className=\"bg-red-100 dark:bg-red-900/30 text-red-600 dark:text-red-400 p-3 rounded-sm text-sm border border-red-200 dark:border-red-800 n1-ww-animate-fade-up\" style={{ animationDelay: '0.5s' }}>\n {context.depositError}\n </div>\n )}\n\n {/* Continue Button */}\n <button\n onClick={startDeposit}\n disabled={!isValidAmount}\n onMouseEnter={() => setIsHovered(true)}\n onMouseLeave={() => setIsHovered(false)}\n className={`\n group relative w-full overflow-hidden rounded-sm border-2 bg-n1-ww-gray-100 dark:bg-neutral-950 py-4 text-center\n transition-all duration-300 ${ANIMATION_EASE} n1-ww-animate-fade-up\n ${isValidAmount\n ? 'cursor-pointer border-n1-ww-gray-200 dark:border-n1-ww-gray-800 hover:border-n1-ww-gray-400 dark:hover:border-white/60'\n : 'cursor-not-allowed border-n1-gray-200 dark:border-n1-gray-800 opacity-50'\n }\n `}\n style={{\n transform: isHovered && isValidAmount ? 'scale(0.99)' : 'scale(1)',\n animationDelay: '0.6s'\n }}\n >\n <span\n className={`\n text-base font-medium tracking-wide transition-colors duration-300 ${ANIMATION_EASE}\n ${isValidAmount\n ? 'text-n1-ww-gray-700 dark:text-n1-ww-gray-300 group-hover:text-n1-ww-gray-900 dark:group-hover:text-white'\n : 'text-n1-ww-gray-400 dark:text-n1-ww-gray-600'\n }\n `}\n >\n Continue\n </span>\n </button>\n </div>\n </div>\n );\n}\n"]}
|
|
1
|
+
{"version":3,"file":"04-AmountInputScreen.js","sourceRoot":"","sources":["../../../../src/Modal/NordFlow/screens/04-AmountInputScreen.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useCallback, useEffect, useRef, useState } from 'react';\nimport {\n useN1WalletContext,\n useN1WalletInternalContext,\n} from '../../../Provider/hooks';\nimport { ImageWithFallback } from '../components';\nimport { ANIMATION_EASE } from '../constants';\nimport { formatAmount, isNordConfigured } from '../utils/nordUtils';\nimport { useDepositContext } from '../context/DepositContext';\nimport { useFlowStateContext } from '../context/FlowContext';\nimport { LoadingSquares } from '../components/LoadingSquares';\n\nexport function AmountInputScreen() {\n const { context } = useFlowStateContext();\n const { updateAmount, startDeposit } = useDepositContext();\n const { address, nord } = useN1WalletContext();\n const { faucetUrl: contextFaucetUrl } = useN1WalletInternalContext();\n\n // Hard code amount to 100\n const amount = '100';\n // Hard code balance to 0 to allow faucet to trigger\n const balance = 100;\n\n // Force the amount to be 100 on component mount only, not on every render\n useEffect(() => {\n updateAmount('100');\n // Empty dependency array ensures this only runs once on mount\n }, [updateAmount]);\n\n const [isHovered, setIsHovered] = useState(false);\n const [isFaucetLoading, setIsFaucetLoading] = useState(false);\n const [faucetError, setFaucetError] = useState<string | null>(null);\n const [tokensObtained, setTokensObtained] = useState(false);\n const [showFaucetSuccess, setShowFaucetSuccess] = useState(false);\n const prevBalanceRef = useRef(balance);\n\n const faucetUrl = contextFaucetUrl;\n\n // Get token information from Nord if available\n const [tokenSymbol, setTokenSymbol] = useState('USDC');\n const [tokenLogo, setTokenLogo] = useState('https://res.cloudinary.com/dl3ia3pko/image/upload/v1745874373/usdc_ma4igc.svg');\n const [tokenDecimals, setTokenDecimals] = useState(6);\n\n // Try to get token information from Nord\n useEffect(() => {\n if (nord && isNordConfigured(nord)) {\n try {\n // Find the USDC token or the first token\n const usdcToken =\n nord.tokens.find((t: any) => t.symbol === 'USDC') || nord.tokens[0];\n if (usdcToken) {\n setTokenSymbol(usdcToken.symbol);\n // Use a default logo if not available\n // setTokenLogo(`/images/tokens/${usdcToken.symbol.toLowerCase()}.svg`);\n setTokenLogo('https://res.cloudinary.com/dl3ia3pko/image/upload/v1745874373/usdc_ma4igc.svg');\n setTokenDecimals(usdcToken.decimals);\n }\n } catch (error) {\n console.warn('Error getting token information from Nord:', error);\n }\n }\n }, [nord]);\n\n // Removed handleAmountChange since we don't want user to edit the amount\n\n // todo:fix\n const isValidAmount = true;\n\n const hardcodedMinDeposit = 100;\n\n // Check if faucet is enabled and balance is low\n const shouldShowFaucet = faucetUrl && !tokensObtained;\n\n // Determine if we should show the faucet overlay\n const showFaucetOverlay =\n (shouldShowFaucet && (isFaucetLoading || faucetError)) || showFaucetSuccess;\n\n // Function to refresh balances\n const refreshBalance = useCallback(async () => {\n // \n }, [nord]);\n\n // Function to request tokens from faucet\n const requestTestnetTokens = useCallback(async () => {\n if (!faucetUrl || !address) return;\n\n try {\n setIsFaucetLoading(true);\n setFaucetError(null);\n setShowFaucetSuccess(false);\n\n const response = await fetch(faucetUrl, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({ address }),\n });\n\n if (!response.ok) {\n const errorData = await response\n .json()\n .catch(() => ({ error: 'Failed to request tokens' }));\n throw new Error(errorData.error || 'Failed to request tokens');\n }\n\n await response.json();\n\n // Mark tokens as obtained to prevent further requests\n setTokensObtained(true);\n\n // Show success message\n setShowFaucetSuccess(true);\n\n // Refresh balance\n await refreshBalance();\n\n setShowFaucetSuccess(false);\n } catch (error) {\n console.error('Faucet error:', error);\n setFaucetError(\n error instanceof Error ? error.message : 'Failed to request tokens'\n );\n } finally {\n setIsFaucetLoading(false);\n }\n }, [faucetUrl, address, refreshBalance]);\n\n // Request tokens automatically when faucet is enabled and balance is low\n useEffect(() => {\n if (\n shouldShowFaucet &&\n !isFaucetLoading &&\n !faucetError &&\n !showFaucetSuccess &&\n context.depositError == null\n ) {\n requestTestnetTokens();\n }\n }, [\n shouldShowFaucet,\n isFaucetLoading,\n faucetError,\n showFaucetSuccess,\n requestTestnetTokens,\n context.depositError\n ]);\n\n // Reset tokensObtained state if balance changes to a higher value\n useEffect(() => {\n // If balance has increased and is now sufficient, reset the tokensObtained flag\n if (balance > prevBalanceRef.current && balance >= hardcodedMinDeposit) {\n setTokensObtained(false);\n setShowFaucetSuccess(false);\n }\n\n // Update the previous balance reference\n prevBalanceRef.current = balance;\n }, [balance, hardcodedMinDeposit]);\n\n // Format the balance with the appropriate number of decimal places\n const formattedBalance = formatAmount(balance, tokenDecimals);\n\n return (\n <div className=\"overflow-hidden relative\">\n {/* Faucet Overlay */}\n {showFaucetOverlay && (\n <div className=\"absolute inset-0 z-10 bg-white/70 dark:bg-neutral-900/80 backdrop-blur-md flex flex-col items-center justify-center p-6\">\n {isFaucetLoading ? (\n <>\n <LoadingSquares />\n <div className=\"space-y-2 text-center mt-4\">\n <h3 className=\"text-xl text-n1-ww-gray-800 dark:text-white font-semibold\">\n Obtaining Testnet Tokens\n </h3>\n <p className=\"text-sm text-n1-ww-gray-500 dark:text-neutral-400\">\n Please wait while we request testnet tokens for your wallet...\n </p>\n </div>\n </>\n ) : showFaucetSuccess ? (\n <>\n <div className=\"text-green-500 text-5xl mb-4 n1-ww-animate-fade-up\">✓</div>\n <div className=\"space-y-2 text-center\">\n <h3 className=\"text-xl text-n1-ww-gray-800 dark:text-white font-semibold\">\n Tokens Obtained Successfully\n </h3>\n <p className=\"text-sm text-green-500 dark:text-green-400\">\n Your wallet has been funded with testnet tokens.\n </p>\n <p className=\"text-sm text-n1-ww-gray-500 dark:text-neutral-400 mt-2\">\n Please wait while your balance updates...\n </p>\n </div>\n </>\n ) : faucetError ? (\n <>\n <div className=\"text-red-500 text-5xl mb-4 n1-ww-animate-fade-up\">⚠️</div>\n <div className=\"space-y-2 text-center\">\n <h3 className=\"text-xl text-n1-ww-gray-800 dark:text-white font-semibold\">\n Failed to Get Tokens\n </h3>\n <p className=\"text-sm text-red-500 dark:text-red-400\">\n {faucetError}\n </p>\n <button\n onClick={requestTestnetTokens}\n className=\"mt-4 px-4 py-2 bg-n1-ww-main text-white rounded-sm hover:bg-n1-ww-main/90 transition-colors\"\n >\n Try Again\n </button>\n </div>\n </>\n ) : null}\n </div>\n )}\n\n <h2 className=\"text-xl text-n1-ww-gray-800 dark:text-white font-semibold mb-6 text-center\">\n Enter Amount\n </h2>\n\n {/* Amount Input */}\n <div className=\"space-y-6\">\n {/* Token Selection and Amount Input */}\n <div className=\"relative border-2 border-n1-ww-gray-200 dark:border-n1-ww-gray-800 bg-n1-ww-gray-100 dark:bg-n1-ww-gray-900 rounded-sm p-0 overflow-hidden n1-ww-animate-fade-up\" style={{ animationDelay: '0.1s' }}>\n {/* Token Selection Header */}\n <div className=\"flex items-center justify-between p-4 border-b border-n1-ww-gray-200 dark:border-n1-ww-gray-800 bg-white/30 dark:bg-black/10\">\n <div className=\"flex items-center space-x-3\">\n <div className=\"w-8 h-8 rounded-full overflow-hidden bg-white dark:bg-n1-ww-gray-800 flex items-center justify-center shadow-sm\">\n <ImageWithFallback\n src={tokenLogo}\n alt={tokenSymbol}\n width={24}\n height={24}\n fallbackText={tokenSymbol.charAt(0)}\n fallbackClassName=\"w-6 h-6 rounded-full flex items-center justify-center\"\n fallbackBgColor=\"bg-blue-100 dark:bg-blue-900\"\n fallbackTextColor=\"text-blue-500 dark:text-blue-300\"\n />\n </div>\n <span className=\"text-n1-ww-gray-800 dark:text-white font-medium\">\n {tokenSymbol}\n </span>\n </div>\n <div className=\"text-xs rounded-sm bg-n1-ww-gray-200 dark:bg-n1-ww-gray-800 px-2 py-1 text-n1-ww-gray-600 dark:text-n1-ww-gray-300\">\n Fixed Amount\n </div>\n </div>\n\n {/* NOTE: Testnet Wallet Mode Reminder */}\n <div className=\"mb-4 w-full flex items-center justify-center\">\n <div className=\"bg-yellow-50 dark:bg-yellow-900/40 border border-yellow-200 dark:border-yellow-700 text-yellow-800 dark:text-yellow-200 rounded px-3 py-2 text-sm text-center max-w-xl mx-auto shadow-sm\">\n <span className=\"font-semibold\">Testnet Only:</span> Please make sure your wallet is set to <span className=\"font-semibold\">testnet mode</span> before proceeding. <a href=\"https://docs.phantom.com/developer-powertools/testnet-mode\" target=\"_blank\" rel=\"noopener noreferrer\" className=\"underline text-yellow-700 dark:text-yellow-200 hover:text-yellow-900 dark:hover:text-yellow-100 transition-colors\">Learn how to switch to testnet</a>.\n </div>\n </div>\n\n {/* Amount Input - Hardcoded to 100 */}\n <div className=\"relative p-6 flex flex-col items-center\">\n <div className=\"relative flex items-baseline justify-center w-full\">\n <span className=\"text-4xl font-bold text-n1-ww-gray-800 dark:text-white mr-1 n1-ww-animate-fade-up\" style={{ animationDelay: '0.2s' }}>\n {amount}\n </span>\n <span className=\"text-xl text-n1-ww-gray-500 dark:text-neutral-400 ml-1 n1-ww-animate-fade-up\" style={{ animationDelay: '0.3s' }}>\n {tokenSymbol}\n </span>\n </div>\n\n {/* Decorative element */}\n <div className=\"w-16 h-1 bg-n1-ww-gray-200 dark:bg-n1-ww-gray-800 rounded-full mt-4 mb-2\"></div>\n\n {/* Balance Display */}\n <div className=\"flex justify-center items-center text-sm mt-2 w-full n1-ww-animate-fade-up\" style={{ animationDelay: '0.4s' }}>\n <span className=\"text-n1-ww-gray-500 dark:text-neutral-400\">\n Balance: {formattedBalance} {tokenSymbol}\n </span>\n </div>\n </div>\n </div>\n\n {/* Error Message */}\n {context.depositError && (\n <div className=\"bg-red-100 dark:bg-red-900/30 text-red-600 dark:text-red-400 p-3 rounded-sm text-sm border border-red-200 dark:border-red-800 n1-ww-animate-fade-up\" style={{ animationDelay: '0.5s' }}>\n {context.depositError}\n </div>\n )}\n\n {/* Continue Button */}\n <button\n onClick={startDeposit}\n disabled={!isValidAmount}\n onMouseEnter={() => setIsHovered(true)}\n onMouseLeave={() => setIsHovered(false)}\n className={`\n group relative w-full overflow-hidden rounded-sm border-2 bg-n1-ww-gray-100 dark:bg-neutral-950 py-4 text-center\n transition-all duration-300 ${ANIMATION_EASE} n1-ww-animate-fade-up\n ${isValidAmount\n ? 'cursor-pointer border-n1-ww-gray-200 dark:border-n1-ww-gray-800 hover:border-n1-ww-gray-400 dark:hover:border-white/60'\n : 'cursor-not-allowed border-n1-gray-200 dark:border-n1-gray-800 opacity-50'\n }\n `}\n style={{\n transform: isHovered && isValidAmount ? 'scale(0.99)' : 'scale(1)',\n animationDelay: '0.6s'\n }}\n >\n <span\n className={`\n text-base font-medium tracking-wide transition-colors duration-300 ${ANIMATION_EASE}\n ${isValidAmount\n ? 'text-n1-ww-gray-700 dark:text-n1-ww-gray-300 group-hover:text-n1-ww-gray-900 dark:group-hover:text-white'\n : 'text-n1-ww-gray-400 dark:text-n1-ww-gray-600'\n }\n `}\n >\n Continue\n </span>\n </button>\n </div>\n </div>\n );\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare function DepositProgressScreen():
|
|
1
|
+
export declare function DepositProgressScreen(): JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare function DepositSuccessScreen():
|
|
1
|
+
export declare function DepositSuccessScreen(): JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare function AuthLoadingScreen():
|
|
1
|
+
export declare function AuthLoadingScreen(): JSX.Element;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
interface FinalSuccessScreenProps {
|
|
2
2
|
onDone?: () => void;
|
|
3
3
|
}
|
|
4
|
-
export declare function FinalSuccessScreen({ onDone }: FinalSuccessScreenProps):
|
|
4
|
+
export declare function FinalSuccessScreen({ onDone }: FinalSuccessScreenProps): JSX.Element | null;
|
|
5
5
|
export {};
|
|
@@ -29,15 +29,23 @@ export function FinalSuccessScreen(_a) {
|
|
|
29
29
|
var getTitle = function () {
|
|
30
30
|
return 'Authentication Successful!';
|
|
31
31
|
};
|
|
32
|
-
var
|
|
32
|
+
var getMessageTop = function () {
|
|
33
33
|
if (sessionMode === N1SessionMode.Nord) {
|
|
34
|
-
return '
|
|
34
|
+
return 'Thanks for testing 01!';
|
|
35
35
|
}
|
|
36
36
|
else {
|
|
37
|
-
return '
|
|
37
|
+
return 'Thanks for testing 01!';
|
|
38
38
|
}
|
|
39
39
|
};
|
|
40
|
-
|
|
40
|
+
var getMessageBottom = function () {
|
|
41
|
+
if (sessionMode === N1SessionMode.Nord) {
|
|
42
|
+
return 'For any issues or feedback during this private testnet, message us on X @01_exchange';
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
return 'For any issues or feedback during this private testnet, message us on X @01_exchange';
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
return (_jsx("div", { className: "overflow-hidden relative", children: _jsxs("div", { className: "space-y-8", children: [_jsxs("div", { className: "flex flex-col items-center justify-center pt-4", children: [_jsx("div", { className: "mb-6", children: _jsx("div", { className: "w-20 h-20 rounded-full bg-green-100 dark:bg-green-900/30 flex items-center justify-center", children: _jsx("svg", { className: "w-10 h-10 text-green-500 dark:text-green-400", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "2", d: "M5 13l4 4L19 7" }) }) }) }), _jsx("h2", { className: "text-2xl text-n1-ww-gray-800 dark:text-white font-semibold mb-2 text-center", children: getTitle() }), _jsx("p", { className: "text-sm text-n1-ww-gray-700 dark:text-neutral-300 text-center", children: getMessageTop() }), _jsx("p", { className: "text-sm text-n1-ww-gray-700 dark:text-neutral-300 text-center", children: getMessageBottom() }), address && (_jsxs("p", { className: "text-sm text-n1-ww-gray-500 dark:text-neutral-400 text-center mt-2", children: ["Wallet: ", address.substring(0, 6), "...", address.substring(address.length - 4)] }))] }), _jsx("button", { onClick: handleDone, onMouseEnter: function () { return setIsHovered(true); }, onMouseLeave: function () { return setIsHovered(false); }, className: "\n group relative w-full overflow-hidden rounded-md border-2 bg-n1-ww-gray-100 dark:bg-neutral-950 py-4 text-center\n transition-all duration-300 ".concat(ANIMATION_EASE, "\n cursor-pointer border-n1-ww-gray-200 dark:border-n1-ww-gray-800 hover:border-n1-ww-gray-400 dark:hover:border-white/60\n "), style: {
|
|
41
49
|
transform: isHovered ? 'scale(0.99)' : 'scale(1)',
|
|
42
50
|
}, children: _jsx("span", { className: "\n text-base font-medium tracking-wide transition-colors duration-300 ".concat(ANIMATION_EASE, "\n text-n1-ww-gray-700 dark:text-n1-ww-gray-300 group-hover:text-n1-ww-gray-900 dark:group-hover:text-white\n "), children: "Open App" }) })] }) }));
|
|
43
51
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"08-FinalSuccessScreen.js","sourceRoot":"","sources":["../../../../src/Modal/NordFlow/screens/08-FinalSuccessScreen.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACpD,OAAO,EACL,kBAAkB,EAClB,0BAA0B,GAC3B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAM9C,MAAM,UAAU,kBAAkB,CAAC,EAAmC;QAAjC,MAAM,YAAA;IACnC,IAAA,KAA4B,QAAQ,CAAC,KAAK,CAAC,EAA1C,SAAS,QAAA,EAAE,YAAY,QAAmB,CAAC;IAC1C,IAAA,OAAO,GAAK,kBAAkB,EAAE,QAAzB,CAA0B;IACnC,IAAA,KAAmD,0BAA0B,EAAE,EAA7E,WAAW,iBAAA,EAAE,cAAc,oBAAA,EAAE,eAAe,qBAAiC,CAAC;IACtF,IAAM,eAAe,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAEtC,SAAS,CAAC;QACR,cAAc,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;IAErB,SAAS,CAAC;QACR,IAAI,eAAe,IAAI,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;YAC1D,eAAe,CAAC,OAAO,GAAG,IAAI,CAAC;YAC/B,MAAM,EAAE,CAAC;QACX,CAAC;IACH,CAAC,EAAE,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC;IAE9B,IAAI,eAAe,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAM,UAAU,GAAG;QACjB,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,EAAE,CAAC;QACX,CAAC;IACH,CAAC,CAAC;IAEF,IAAM,QAAQ,GAAG;QACf,OAAO,4BAA4B,CAAC;IACtC,CAAC,CAAC;IAEF,IAAM,
|
|
1
|
+
{"version":3,"file":"08-FinalSuccessScreen.js","sourceRoot":"","sources":["../../../../src/Modal/NordFlow/screens/08-FinalSuccessScreen.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useEffect, useRef, useState } from 'react';\nimport {\n useN1WalletContext,\n useN1WalletInternalContext,\n} from '../../../Provider/hooks';\nimport { N1SessionMode } from '../../../Provider/types';\nimport { ANIMATION_EASE } from '../constants';\n\ninterface FinalSuccessScreenProps {\n onDone?: () => void;\n}\n\nexport function FinalSuccessScreen({ onDone }: FinalSuccessScreenProps) {\n const [isHovered, setIsHovered] = useState(false);\n const { address } = useN1WalletContext();\n const { sessionMode, setIsConnected, skipFinalScreen } = useN1WalletInternalContext();\n const hasCalledOnDone = useRef(false);\n\n useEffect(() => {\n setIsConnected(true);\n }, [setIsConnected]);\n\n useEffect(() => {\n if (skipFinalScreen && onDone && !hasCalledOnDone.current) {\n hasCalledOnDone.current = true;\n onDone();\n }\n }, [skipFinalScreen, onDone]);\n\n if (skipFinalScreen) {\n return null;\n }\n\n const handleDone = () => {\n if (onDone) {\n onDone();\n }\n };\n\n const getTitle = () => {\n return 'Authentication Successful!';\n };\n\n const getMessageTop = () => {\n if (sessionMode === N1SessionMode.Nord) {\n return 'Thanks for testing 01!';\n } else {\n return 'Thanks for testing 01!';\n }\n };\n\n const getMessageBottom = () => {\n if (sessionMode === N1SessionMode.Nord) {\n return 'For any issues or feedback during this private testnet, message us on X @01_exchange';\n } else {\n return 'For any issues or feedback during this private testnet, message us on X @01_exchange';\n }\n };\n\n return (\n <div className=\"overflow-hidden relative\">\n <div className=\"space-y-8\">\n <div className=\"flex flex-col items-center justify-center pt-4\">\n <div className=\"mb-6\">\n {/* Success icon/animation */}\n <div className=\"w-20 h-20 rounded-full bg-green-100 dark:bg-green-900/30 flex items-center justify-center\">\n <svg\n className=\"w-10 h-10 text-green-500 dark:text-green-400\"\n fill=\"none\"\n stroke=\"currentColor\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth=\"2\"\n d=\"M5 13l4 4L19 7\"\n />\n </svg>\n </div>\n </div>\n\n <h2 className=\"text-2xl text-n1-ww-gray-800 dark:text-white font-semibold mb-2 text-center\">\n {getTitle()}\n </h2>\n\n <p className=\"text-sm text-n1-ww-gray-700 dark:text-neutral-300 text-center\">\n {getMessageTop()}\n </p>\n\n <p className=\"text-sm text-n1-ww-gray-700 dark:text-neutral-300 text-center\">\n {getMessageBottom()}\n </p>\n\n {/* Display wallet address if available */}\n {address && (\n <p className=\"text-sm text-n1-ww-gray-500 dark:text-neutral-400 text-center mt-2\">\n Wallet: {address.substring(0, 6)}...\n {address.substring(address.length - 4)}\n </p>\n )}\n </div>\n\n <button\n onClick={handleDone}\n onMouseEnter={() => setIsHovered(true)}\n onMouseLeave={() => setIsHovered(false)}\n className={`\n group relative w-full overflow-hidden rounded-md border-2 bg-n1-ww-gray-100 dark:bg-neutral-950 py-4 text-center\n transition-all duration-300 ${ANIMATION_EASE}\n cursor-pointer border-n1-ww-gray-200 dark:border-n1-ww-gray-800 hover:border-n1-ww-gray-400 dark:hover:border-white/60\n `}\n style={{\n transform: isHovered ? 'scale(0.99)' : 'scale(1)',\n }}\n >\n <span\n className={`\n text-base font-medium tracking-wide transition-colors duration-300 ${ANIMATION_EASE}\n text-n1-ww-gray-700 dark:text-n1-ww-gray-300 group-hover:text-n1-ww-gray-900 dark:group-hover:text-white\n `}\n >\n Open App\n </span>\n </button>\n </div>\n </div>\n );\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare function ErrorScreen():
|
|
1
|
+
export declare function ErrorScreen(): JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare function N1Sidebar(_: any):
|
|
1
|
+
export declare function N1Sidebar(_: any): JSX.Element;
|
|
@@ -139,7 +139,7 @@ export function N1Sidebar(_) {
|
|
|
139
139
|
return [4 /*yield*/, nts.getAppIdl(appIdAction)];
|
|
140
140
|
case 3:
|
|
141
141
|
idl = _a.sent();
|
|
142
|
-
appClient =
|
|
142
|
+
appClient = sdk.NAppClient.fromSignFn(process.env.NTS_URL, appIdAction, idl, walletPubKey, sessionPubKey, signMessageWithSessionKey);
|
|
143
143
|
return [4 /*yield*/, appClient['transfer'](amount, tokenToSend, recipientAddress)];
|
|
144
144
|
case 4:
|
|
145
145
|
_a.sent();
|