diff --git a/apps/marginfi-v2-ui/package.json b/apps/marginfi-v2-ui/package.json index 168fcac80..d5d20bc7a 100644 --- a/apps/marginfi-v2-ui/package.json +++ b/apps/marginfi-v2-ui/package.json @@ -94,9 +94,7 @@ "tweetnacl": "^1.0.3", "uuid": "^9.0.0", "vaul": "^0.9.0", - "zustand": "^4.4.1", - "sonner": "1.7.4", - "next-themes": "0.4.4" + "zustand": "^4.4.1" }, "devDependencies": { "@mrgnlabs/eslint-config-custom": "workspace:*", diff --git a/apps/marginfi-v2-ui/src/pages/_app.tsx b/apps/marginfi-v2-ui/src/pages/_app.tsx index 0608834d0..0781512f4 100644 --- a/apps/marginfi-v2-ui/src/pages/_app.tsx +++ b/apps/marginfi-v2-ui/src/pages/_app.tsx @@ -159,6 +159,7 @@ export default function MrgnApp({ Component, pageProps, path }: AppProps & MrgnA mrgnState={{ marginfiClient, selectedAccount, extendedBankInfos, nativeSolBalance }} /> + {/* TODO: remove above toast container */} {globalActionBoxProps.isOpen && } diff --git a/packages/mrgn-toasts/README.md b/packages/mrgn-toasts/README.md index d9c9b01ea..4be5e6fa4 100644 --- a/packages/mrgn-toasts/README.md +++ b/packages/mrgn-toasts/README.md @@ -1,4 +1,4 @@ # mrgn-toasts -- Install: `yarn` -- Run: `yarn dev` +- Install: `pnpm install` +- Run: `pnpm run dev` diff --git a/packages/mrgn-toasts/package.json b/packages/mrgn-toasts/package.json index d126250bd..2b7c5fa97 100644 --- a/packages/mrgn-toasts/package.json +++ b/packages/mrgn-toasts/package.json @@ -14,7 +14,6 @@ }, "dependencies": { "sonner": "1.7.4", - "next-themes": "0.4.4", "@tabler/icons-react": "^3.3.0", "react": "18.2.0", "@mrgnlabs/mrgn-common": "workspace:*" diff --git a/packages/mrgn-toasts/src/utils/toast-manager.tsx b/packages/mrgn-toasts/src/utils/toast-manager.tsx index f62736ffe..76fda3a99 100644 --- a/packages/mrgn-toasts/src/utils/toast-manager.tsx +++ b/packages/mrgn-toasts/src/utils/toast-manager.tsx @@ -12,7 +12,6 @@ export interface MultiStepToastStep { retry?: () => void; } -/** 🔹 Type for MultiStepToastController */ export interface MultiStepToastController { start: () => void; successAndNext: (explorerUrl?: string, signature?: string) => void; @@ -139,5 +138,5 @@ class ToastManager { } } -// ✅ Exporting singleton instance +// Exporting singleton instance export const toastManager = new ToastManager(); diff --git a/packages/mrgn-utils/src/actions/actions-v2.ts b/packages/mrgn-utils/src/actions/actions-v2.ts index e4b2703a5..6e7681782 100644 --- a/packages/mrgn-utils/src/actions/actions-v2.ts +++ b/packages/mrgn-utils/src/actions/actions-v2.ts @@ -28,7 +28,7 @@ async function executeActionWrapper( const txnSig = await action(failedTxns, (explorerUrl, signature) => { toast.successAndNext(explorerUrl, signature); }); - toast.success("", typeof txnSig === "string" ? txnSig : txnSig[txnSig.length - 1]); // TODO: clean this up + toast.success("", typeof txnSig === "string" ? txnSig : txnSig[txnSig.length - 1]); // TODO: clean this up, always return one signature return txnSig; } catch (error) { if (!(error instanceof ProcessTransactionError || error instanceof SolanaJSONRPCError)) { @@ -67,7 +67,8 @@ interface ExecuteActionProps { callbacks: { captureEvent: (event: string, properties?: Record) => void; }; -} +} // TODO: move to types file + export interface ExecuteDepositSwapActionPropsV2 extends ExecuteActionProps { infoProps: { @@ -75,12 +76,12 @@ export interface ExecuteDepositSwapActionPropsV2 extends ExecuteActionProps { swapToken: string; amount: number; }; -} +} // TODO: move to types file export async function ExecuteDepositSwapActionV2(props: ExecuteDepositSwapActionPropsV2) { const steps = getDepositSwapSteps(props.actionTxns); - props.callbacks.captureEvent("user_deposit_swap_initiate", { uuid: props.attemptUuid, ...props.infoProps }); + props.callbacks.captureEvent("user_deposit_swap_initiate", { uuid: props.attemptUuid, ...props.infoProps }); const action = async (txns: ActionTxns, onSuccessAndNext: (explorerUrl?: string, signature?: string) => void) => { return await props.marginfiClient.processTransactions( @@ -88,7 +89,7 @@ export async function ExecuteDepositSwapActionV2(props: ExecuteDepositSwapAction { ...props.processOpts, callback: (index, success, sig, stepsToAdvance) => { - success && onSuccessAndNext(undefined, sig); // TODO: add stepsToAdvance & explorerUrl to toast handler + success && onSuccessAndNext(undefined, sig); // TODO: add stepsToAdvance & explorerUrl to toast handler. !! DOES NOT WORK with bundles, need to implement stepsToAdvance }, }, props.txOpts @@ -97,7 +98,7 @@ export async function ExecuteDepositSwapActionV2(props: ExecuteDepositSwapAction await executeActionWrapper(action, steps, "Deposit", props.actionTxns); - props.callbacks.captureEvent("user_deposit_swap", { uuid: props.attemptUuid, ...props.infoProps }); // TODO: Does this get executed if an error is thrown? Check + props.callbacks.captureEvent("user_deposit_swap", { uuid: props.attemptUuid, ...props.infoProps }); // TODO: Does this get executed if an error is thrown? } function getDepositSwapSteps(actionTxns: ActionTxns) { @@ -106,4 +107,4 @@ function getDepositSwapSteps(actionTxns: ActionTxns) { ...actionTxns.transactions.map((tx) => ({ label: TransactionConfigMap[tx.type].label })), ]; return steps; -} +} // TODO: update this and move to utils file diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 9d9505632..86ee548e1 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1397,9 +1397,6 @@ importers: '@tabler/icons-react': specifier: ^3.3.0 version: 3.30.0(react@18.2.0) - next-themes: - specifier: 0.4.4 - version: 0.4.4(react-dom@18.2.0)(react@18.2.0) react: specifier: 18.2.0 version: 18.2.0 @@ -34608,16 +34605,6 @@ snapshots: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - /next-themes@0.4.4(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-LDQ2qIOJF0VnuVrrMSMLrWGjRMkq+0mpgl6e0juCLqdJ+oo8Q84JRWT6Wh11VDQKkMMe+dVzDKLWs5n87T+PkQ==} - peerDependencies: - react: ^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc - react-dom: ^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc - dependencies: - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: false - /next-transpile-modules@10.0.1: resolution: {integrity: sha512-4VX/LCMofxIYAVV58UmD+kr8jQflpLWvas/BQ4Co0qWLWzVh06FoZkECkrX5eEZT6oJFqie6+kfbTA3EZCVtdQ==} dependencies: