Skip to content

Commit

Permalink
Personalized strategy ordering enhancement (#1636)
Browse files Browse the repository at this point in the history
  • Loading branch information
henrio123 committed May 3, 2024
2 parents 144fcc7 + 720d4e2 commit c511043
Show file tree
Hide file tree
Showing 21 changed files with 266 additions and 89 deletions.
5 changes: 2 additions & 3 deletions src/components/Nav.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -20,15 +20,13 @@ import ConnectButton from "components/_buttons/ConnectButton"
import { Link } from "components/Link"
import { useRouter } from "next/router"
import { NAV_LINKS } from "utils/navLinks"
import { useIsMounted } from "hooks/utils/useIsMounted"
import { LogoTextIcon } from "./_icons"
import useBetterMediaQuery from "hooks/utils/useBetterMediaQuery"
import { useScrollDirection } from "hooks/utils/useScrollDirection"
import { HamburgerIcon } from "./_icons/HamburgerIcon"
import { Badge, BadgeStatus } from "./Strategy/Carousel/Badge"

export const Nav: VFC<FlexProps> = (props) => {
const isMounted = useIsMounted()
const [scrolled, setScrolled] = useState<boolean>(false)
const scrollDirection = useScrollDirection()
const { isOpen, onOpen, onClose } = useDisclosure()
Expand All @@ -46,7 +44,8 @@ export const Nav: VFC<FlexProps> = (props) => {
}
})
return () => {
window.removeEventListener("scroll", () => {})
window.removeEventListener("scroll", () => {});
setScrolled(false);
}
}, [])

Expand Down
5 changes: 2 additions & 3 deletions src/components/_buttons/DepositAndWithdrawButton.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,8 @@ import {
} from "@chakra-ui/react"
import { cellarDataMap } from "data/cellarDataMap"
import { DepositModalType } from "data/hooks/useDepositModalStore"
import { useUserBalances } from "data/hooks/useUserBalances"
import { useUserBalance } from "data/hooks/useUserBalance"
import { isBefore } from "date-fns"
import { analytics } from "utils/analytics"
import { toEther } from "utils/formatCurrency"
import { useAccount, useNetwork } from "wagmi"
import { BaseButton } from "./BaseButton"
Expand Down Expand Up @@ -86,7 +85,7 @@ export function DepositAndWithdrawButton({
}: DepositAndWithdrawButtonProps) {
const id = row.original.slug
const cellarConfig = cellarDataMap[id].config
const { lpToken } = useUserBalances(cellarConfig)
const { lpToken } = useUserBalance(cellarConfig)
const { data: lpTokenData } = lpToken

const lpTokenDisabled = checkLPtokenDisabled(lpTokenData)
Expand Down
6 changes: 3 additions & 3 deletions src/components/_buttons/WithdrawButton.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ export const WithdrawButton: VFC<
ButtonProps & {
isDeprecated?: boolean
}
> = (props) => {
> = ({ isDeprecated, ...buttonProps }) => {
const { isOpen, onOpen, onClose } = useDisclosure()

function closeModal() {
Expand Down Expand Up @@ -59,9 +59,9 @@ export const WithdrawButton: VFC<

onOpen()
}}
{...props}
{...buttonProps}
>
{props.isDeprecated
{isDeprecated
? "Withdraw Only"
: "Withdraw"}
</SecondaryButton>
Expand Down
2 changes: 0 additions & 2 deletions src/components/_cards/ApyPerfomanceCard.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -115,9 +115,7 @@ export const ApyPerfomanceCard: VFC<BoxProps> = (props) => {
<HStack spacing={8}>
<VStack spacing={0} align="flex-start">
<CardHeading>
<Text>
{timeline} {apyChartLabel(cellarConfig)}
</Text>
</CardHeading>
<HStack>
<Text fontSize="2.5rem" fontWeight="bold">
Expand Down
13 changes: 9 additions & 4 deletions src/components/_cards/PortfolioCard/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ import { LighterSkeleton } from "components/_skeleton"
import { cellarDataMap } from "data/cellarDataMap"
import { useGetPreviewRedeem } from "data/hooks/useGetPreviewRedeem"
import { useStrategyData } from "data/hooks/useStrategyData"
import { useUserBalances } from "data/hooks/useUserBalances"
import { useUserBalance } from "data/hooks/useUserBalance"
import { useUserStrategyData } from "data/hooks/useUserStrategyData"
import { getTokenConfig, Token } from "data/tokenConfig"
import {
Expand Down Expand Up @@ -54,14 +54,13 @@ import { Rewards } from "./Rewards"
import { useNetwork } from "wagmi"
import WithdrawQueueCard from "../WithdrawQueueCard"
import withdrawQueueV0821 from "src/abi/withdraw-queue-v0.8.21.json"
import { add } from "lodash"
import { CellarNameKey } from "data/types"
import { PointsDisplay } from "./PointsDisplay"

export const PortfolioCard: VFC<BoxProps> = (props) => {
const theme = useTheme()
const isMounted = useIsMounted()
const { address, isConnected } = useAccount()
const { address, isConnected: connected } = useAccount()
const id = useRouter().query.id as string
const cellarConfig = cellarDataMap[id].config
const slug = cellarDataMap[id].slug
Expand All @@ -73,7 +72,13 @@ export const PortfolioCard: VFC<BoxProps> = (props) => {
cellarConfig.chain.id
) as Token[]

const { lpToken } = useUserBalances(cellarConfig)
// using local state to avoid Next.js errors
const [isConnected, setConnected] = useState(false);
useEffect(() => {
setConnected(connected)
}, [connected])

const { lpToken } = useUserBalance(cellarConfig)
let { data: lpTokenData } = lpToken
const lpTokenDisabled =
!lpTokenData || Number(lpTokenData?.value ?? "0") <= 0
Expand Down
4 changes: 2 additions & 2 deletions src/components/_forms/BondForm/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ import { analytics } from "utils/analytics"
import { cellarDataMap } from "data/cellarDataMap"
import { useRouter } from "next/router"
import { useCreateContracts } from "data/hooks/useCreateContracts"
import { useUserBalances } from "data/hooks/useUserBalances"
import { useUserBalance } from "data/hooks/useUserBalance"
import { bondingPeriodOptions } from "data/uiConfig"
import { estimateGasLimitWithRetry } from "utils/estimateGasLimit"
import { useGeo } from "context/geoContext"
Expand All @@ -55,7 +55,7 @@ export const BondForm: VFC<BondFormProps> = ({ onClose }) => {
)
const { stakerSigner } = useCreateContracts(cellarConfig)

const { lpToken, lpTokenInfo } = useUserBalances(cellarConfig)
const { lpToken, lpTokenInfo } = useUserBalance(cellarConfig)
const { data: lpTokenData } = lpToken

const methods = useForm<FormValues>({
Expand Down
4 changes: 2 additions & 2 deletions src/components/_forms/UnstakeForm.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ import { analytics } from "utils/analytics"
import { useRouter } from "next/router"
import { cellarDataMap } from "data/cellarDataMap"
import { useCreateContracts } from "data/hooks/useCreateContracts"
import { useUserBalances } from "data/hooks/useUserBalances"
import { useUserBalance } from "data/hooks/useUserBalance"
import { useGeo } from "context/geoContext"
import { useUserStrategyData } from "data/hooks/useUserStrategyData"
interface FormValues {
Expand Down Expand Up @@ -51,7 +51,7 @@ export const UnstakeForm: VFC<UnstakeFormProps> = ({ onClose }) => {
const { cellarSigner } = useCreateContracts(cellarConfig)

const { refetch } = useUserStrategyData(cellarConfig.cellar.address, cellarConfig.chain.id)
const { lpToken } = useUserBalances(cellarConfig)
const { lpToken } = useUserBalance(cellarConfig)
const { data: lpTokenData } = lpToken

const { doHandleTransaction } = useHandleTransaction()
Expand Down
4 changes: 2 additions & 2 deletions src/components/_forms/WithdrawForm.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ import { analytics } from "utils/analytics"
import { useRouter } from "next/router"
import { cellarDataMap } from "data/cellarDataMap"
import { useCreateContracts } from "data/hooks/useCreateContracts"
import { useUserBalances } from "data/hooks/useUserBalances"
import { useUserBalance } from "data/hooks/useUserBalance"
import { estimateGasLimitWithRetry } from "utils/estimateGasLimit"
import { useGeo } from "context/geoContext"
import { waitTime } from "data/uiConfig"
Expand Down Expand Up @@ -87,7 +87,7 @@ export const WithdrawForm: VFC<WithdrawFormProps> = ({ onClose }) => {

const { cellarSigner } = useCreateContracts(cellarConfig)

const { lpToken } = useUserBalances(cellarConfig)
const { lpToken } = useUserBalance(cellarConfig)
const { data: lpTokenData, isLoading: isBalanceLoading } = lpToken

const { doHandleTransaction } = useHandleTransaction()
Expand Down
4 changes: 2 additions & 2 deletions src/components/_forms/WithdrawQueueForm.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ import { ethers } from "ethers"
import { useHandleTransaction } from "hooks/web3"
import { useRouter } from "next/router"
import { cellarDataMap } from "data/cellarDataMap"
import { useUserBalances } from "data/hooks/useUserBalances"
import { useUserBalance } from "data/hooks/useUserBalance"
import { estimateGasLimitWithRetry } from "utils/estimateGasLimit"
import { useGeo } from "context/geoContext"
import { useUserStrategyData } from "data/hooks/useUserStrategyData"
Expand Down Expand Up @@ -140,7 +140,7 @@ export const WithdrawQueueForm: VFC<WithdrawQueueFormProps> = ({
skip: true,
})

const { lpToken } = useUserBalances(cellarConfig)
const { lpToken } = useUserBalance(cellarConfig)
const { data: lpTokenData, isLoading: isBalanceLoading } = lpToken
let strategyBaseAsset: Token = cellarConfig.baseAsset

Expand Down
14 changes: 9 additions & 5 deletions src/components/_layout/LayoutWithSidebar.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,20 +2,24 @@ import { Box, Container, Flex } from "@chakra-ui/react"
import Footer from "components/Footer"
import { Nav } from "components/Nav"
import { Sidebar } from "components/_sidebar"
import { useAllStrategiesData } from "data/hooks/useAllStrategiesData"
import { FC, useRef } from "react"
import { FC, useEffect, useRef, useState } from "react"
import { useAccount } from "wagmi"
import { useInView } from "react-intersection-observer"

export const LayoutWithSidebar: FC = ({ children }) => {
const { isConnected } = useAccount()

const { isLoading } = useAllStrategiesData()
const { isConnected: connected } = useAccount()

const containerRef = useRef<HTMLDivElement>(null)
const { ref, inView } = useInView({
threshold: 0,
})

// using local state to avoid Next.js errors
const [isConnected, setConnected] = useState(false);
useEffect(() => {
setConnected(connected)
}, [connected])

return (
<Box display="block">
<Flex bg="#1A1A23" flexDir="column" position="relative">
Expand Down
4 changes: 2 additions & 2 deletions src/components/_modals/UnstakeModal.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import { toEther } from "utils/formatCurrency"
import { UnstakeForm } from "components/_forms/UnstakeForm"
import { useRouter } from "next/router"
import { cellarDataMap } from "data/cellarDataMap"
import { useUserBalances } from "data/hooks/useUserBalances"
import { useUserBalance } from "data/hooks/useUserBalance"

type UnstakeModalProps = Pick<ModalProps, "isOpen" | "onClose"> & {
onCloseProp: () => void
Expand All @@ -19,7 +19,7 @@ export const UnstakeModal: VFC<UnstakeModalProps> = ({
}) => {
const id = useRouter().query.id as string
const cellarConfig = cellarDataMap[id].config
const { lpToken } = useUserBalances(cellarConfig)
const { lpToken } = useUserBalance(cellarConfig)
const { data: lpTokenData } = lpToken

return (
Expand Down
Loading

0 comments on commit c511043

Please sign in to comment.