diff --git a/apps/hyperdrive-trading/src/ui/hyperdrive/longs/CloseLongForm/CloseLongForm.tsx b/apps/hyperdrive-trading/src/ui/hyperdrive/longs/CloseLongForm/CloseLongForm.tsx index 42c638bbd..565c232da 100644 --- a/apps/hyperdrive-trading/src/ui/hyperdrive/longs/CloseLongForm/CloseLongForm.tsx +++ b/apps/hyperdrive-trading/src/ui/hyperdrive/longs/CloseLongForm/CloseLongForm.tsx @@ -36,21 +36,22 @@ import { ZapsTokenPicker, } from "src/ui/token/TokenPicker"; import { useTokenList } from "src/ui/tokenlist/useTokenList"; -import { formatUnits, parseUnits } from "viem"; -import { useAccount, useChainId } from "wagmi"; +import { Address, formatUnits, parseUnits } from "viem"; +import { useChainId } from "wagmi"; interface CloseLongFormProps { hyperdrive: HyperdriveConfig; long: Long; + account: Address | undefined; onCloseLong?: (e: MouseEvent) => void; } export function CloseLongForm({ hyperdrive, + account, long, onCloseLong, }: CloseLongFormProps): ReactElement { - const { address: account } = useAccount(); const connectedChainId = useChainId(); const defaultItems: TokenConfig[] = []; const appConfig = useAppConfigForConnectedChain(); diff --git a/apps/hyperdrive-trading/src/ui/hyperdrive/longs/CloseLongModalButton/CloseLongModalButton.tsx b/apps/hyperdrive-trading/src/ui/hyperdrive/longs/CloseLongModalButton/CloseLongModalButton.tsx index 335024384..a3afc6cd1 100644 --- a/apps/hyperdrive-trading/src/ui/hyperdrive/longs/CloseLongModalButton/CloseLongModalButton.tsx +++ b/apps/hyperdrive-trading/src/ui/hyperdrive/longs/CloseLongModalButton/CloseLongModalButton.tsx @@ -10,15 +10,18 @@ import { useAppConfigForConnectedChain } from "src/ui/appconfig/useAppConfigForC import { Modal } from "src/ui/base/components/Modal/Modal"; import { ModalHeader } from "src/ui/base/components/Modal/ModalHeader"; import { CloseLongForm } from "src/ui/hyperdrive/longs/CloseLongForm/CloseLongForm"; +import { Address } from "viem"; export interface CloseLongModalButtonProps { modalId: string; hyperdrive: HyperdriveConfig; + account: Address | undefined; long: Long; } export function CloseLongModalButton({ modalId, long, + account, hyperdrive, }: CloseLongModalButtonProps): ReactElement { const appConfig = useAppConfigForConnectedChain(); @@ -45,6 +48,7 @@ export function CloseLongModalButton({
{ // preventDefault since we don't want to close the modal while the diff --git a/apps/hyperdrive-trading/src/ui/portfolio/Portfolio.tsx b/apps/hyperdrive-trading/src/ui/portfolio/Portfolio.tsx index 0f6826544..37b665527 100644 --- a/apps/hyperdrive-trading/src/ui/portfolio/Portfolio.tsx +++ b/apps/hyperdrive-trading/src/ui/portfolio/Portfolio.tsx @@ -17,7 +17,7 @@ export function Portfolio(): ReactElement { const activeTab = position ?? "longs"; const { address: connectedAccount } = useAccount(); - const account = accountFromRoute ?? connectedAccount; + const account = (accountFromRoute ?? connectedAccount) as Address | undefined; const navigate = useNavigate({ from: PORTFOLIO_ROUTE }); const { isFlagEnabled: isPortfolioRewardsFeatureFlagEnabled } = @@ -25,11 +25,11 @@ export function Portfolio(): ReactElement { const tabs = [ { id: "longs", - content: , + content: , label: "Long", onClick: () => { navigate({ - search: () => ({ position: "longs" }), + search: (prev) => ({ ...prev, position: "longs" }), }); }, }, @@ -39,7 +39,7 @@ export function Portfolio(): ReactElement { label: "Short", onClick: () => { navigate({ - search: () => ({ position: "shorts" }), + search: (prev) => ({ ...prev, position: "shorts" }), }); }, }, @@ -49,7 +49,7 @@ export function Portfolio(): ReactElement { label: "LP", onClick: () => { navigate({ - search: () => ({ position: "lp" }), + search: (prev) => ({ ...prev, position: "lp" }), }); }, }, @@ -61,7 +61,7 @@ export function Portfolio(): ReactElement { label: "Rewards", onClick: () => { navigate({ - search: () => ({ position: "rewards" }), + search: (prev) => ({ ...prev, position: "rewards" }), }); }, }); diff --git a/apps/hyperdrive-trading/src/ui/portfolio/longs/LongsContainer.tsx b/apps/hyperdrive-trading/src/ui/portfolio/longs/LongsContainer.tsx index 203893806..280fa1c74 100644 --- a/apps/hyperdrive-trading/src/ui/portfolio/longs/LongsContainer.tsx +++ b/apps/hyperdrive-trading/src/ui/portfolio/longs/LongsContainer.tsx @@ -14,7 +14,7 @@ import { OpenLongsTableDesktop } from "./OpenLongsTable/OpenLongsTableDesktop"; export function OpenLongsContainer({ account, }: { - account?: Address; + account: Address | undefined; }): ReactElement { const appConfig = useAppConfigForConnectedChain(); const { openLongPositions, openLongPositionsStatus } = usePortfolioLongsData({ @@ -73,7 +73,11 @@ export function OpenLongsContainer({ {Object.entries(hyperdrivesByChainAndYieldSource).map( ([key, hyperdrives]) => ( - + ), )} diff --git a/apps/hyperdrive-trading/src/ui/portfolio/longs/OpenLongsTable/OpenLongsTableDesktop.tsx b/apps/hyperdrive-trading/src/ui/portfolio/longs/OpenLongsTable/OpenLongsTableDesktop.tsx index 1faba8ef0..df3f5176f 100644 --- a/apps/hyperdrive-trading/src/ui/portfolio/longs/OpenLongsTable/OpenLongsTableDesktop.tsx +++ b/apps/hyperdrive-trading/src/ui/portfolio/longs/OpenLongsTable/OpenLongsTableDesktop.tsx @@ -33,16 +33,17 @@ import { ManageLongsButton } from "src/ui/portfolio/longs/OpenLongsTable/ManageL import { TotalOpenLongsValue } from "src/ui/portfolio/longs/TotalOpenLongsValue/TotalOpenLongsValue"; import { usePortfolioLongsDataFromHyperdrives } from "src/ui/portfolio/longs/usePortfolioLongsData"; import { PositionTableHeading } from "src/ui/portfolio/PositionTableHeading"; -import { useAccount } from "wagmi"; +import { Address } from "viem"; export function OpenLongsTableDesktop({ hyperdrives, + account, }: { hyperdrives: HyperdriveConfig[]; + account: Address | undefined; }): ReactElement | null { - const { address: account } = useAccount(); const { openLongPositions, openLongPositionsStatus } = - usePortfolioLongsDataFromHyperdrives(hyperdrives); + usePortfolioLongsDataFromHyperdrives({ hyperdrives, account }); const openLongPositionsExist = openLongPositions?.some( (position) => position.details !== undefined, ); @@ -94,6 +95,7 @@ export function OpenLongsTableDesktop({ hyperdrive={hyperdrives[0]} rightElement={ @@ -112,6 +114,7 @@ export function OpenLongsTableDesktop({ return (