Skip to content

Commit

Permalink
Refactor useActivities hook
Browse files Browse the repository at this point in the history
  • Loading branch information
kpyszkowski committed Dec 5, 2024
1 parent 2f40fe5 commit 18a4238
Show file tree
Hide file tree
Showing 5 changed files with 18 additions and 29 deletions.
12 changes: 4 additions & 8 deletions dapp/src/hooks/store/useActivities.ts
Original file line number Diff line number Diff line change
@@ -1,13 +1,9 @@
import { selectActivities } from "#/store/wallet"
import { selectActivities, selectHasPendingActivities } from "#/store/wallet"
import { useAppSelector } from "./useAppSelector"

export default function useActivities() {
const data = useAppSelector(selectActivities)
const status: "pending" | "idle" = data.some(
(activity) => activity.status === "pending",
)
? "pending"
: "idle"
const activities = useAppSelector(selectActivities)
const hasPendingActivities = useAppSelector(selectHasPendingActivities)

return { data, status }
return { activities, hasPendingActivities }
}
1 change: 1 addition & 0 deletions dapp/src/pages/DashboardPage/BeehiveCard.tsx
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import React from "react"
import { MezoSignIcon } from "#/assets/icons"
import beehiveIllustrationSrc from "#/assets/images/beehive-illustration.svg"
import TooltipIcon from "#/components/shared/TooltipIcon"
Expand Down
21 changes: 6 additions & 15 deletions dapp/src/pages/DashboardPage/PositionDetails.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -15,16 +15,15 @@ import {
ButtonProps,
Flex,
HStack,
Icon,
// Tag,
VStack,
} from "@chakra-ui/react"
import ArrivingSoonTooltip from "#/components/ArrivingSoonTooltip"
import UserDataSkeleton from "#/components/shared/UserDataSkeleton"
import { featureFlags } from "#/constants"
import { TextMd } from "#/components/shared/Typography"
import Tooltip from "#/components/shared/Tooltip"
import { IconClockHour5Filled } from "@tabler/icons-react"
import TooltipIcon from "#/components/shared/TooltipIcon"
import AcreTVLMessage from "./AcreTVLMessage"

const isWithdrawalFlowEnabled = featureFlags.WITHDRAWALS_ENABLED
Expand All @@ -39,9 +38,6 @@ const buttonStyles: ButtonProps = {
h: "auto",
}

// TODO: Define in the new color palette
const TOOLTIP_ICON_COLOR = "#3A3328"

export default function PositionDetails() {
const { data } = useBitcoinPosition()
const bitcoinAmount = data?.estimatedBitcoinBalance ?? 0n
Expand All @@ -58,25 +54,20 @@ export default function PositionDetails() {
const isDisabledForMobileMode =
isMobileMode && !featureFlags.MOBILE_MODE_ENABLED

const activities = useActivities()
const { hasPendingActivities } = useActivities()

return (
<Flex w="100%" flexDirection="column" gap={5}>
<VStack alignItems="start" spacing={0}>
{/* TODO: Component should be moved to `CardHeader` */}
<HStack>
<TextMd>Your Acre balance</TextMd>
{activities.status === "pending" && (
<Tooltip
{!hasPendingActivities && (
<TooltipIcon
icon={IconClockHour5Filled}
label="Your balance will update once the pending deposit is finalized."
placement="right"
>
<Icon
as={IconClockHour5Filled}
color={TOOLTIP_ICON_COLOR}
opacity={0.25}
/>
</Tooltip>
/>
)}
{/* TODO: Uncomment when position will be implemented */}
{/* {positionPercentage && (
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,15 +20,11 @@ import EstimatedDuration from "./EstimatedDuration"
const BLOCK_EXPLORER_CELL_MIN_WIDTH = 16

export default function TransactionTable() {
const activities = useActivities()
const { activities } = useActivities()
const isMobileMode = useMobileMode()

return (
<Pagination
data={activities.data}
pageSize={isMobileMode ? 5 : 10}
spacing={6}
>
<Pagination data={activities} pageSize={isMobileMode ? 5 : 10} spacing={6}>
<PaginationPage direction="column" spacing={2} pageSpacing={6}>
{(pageData: Activity[]) =>
pageData.map((activity) => (
Expand Down
5 changes: 5 additions & 0 deletions dapp/src/store/wallet/walletSelector.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,11 @@ export const selectActivities = createSelector(
(activities) => sortActivitiesByTimestamp(activities),
)

export const selectHasPendingActivities = createSelector(
(state: RootState) => state.wallet.activities,
(activities) => activities.some((activity) => activity.status === "pending"),
)

export const selectAllActivitiesCount = createSelector(
(state: RootState) => state.wallet.activities,
(activities) => activities.length,
Expand Down

0 comments on commit 18a4238

Please sign in to comment.