Skip to content

Commit

Permalink
fix: latest blocks (#158)
Browse files Browse the repository at this point in the history
  • Loading branch information
jagnani73 committed Apr 18, 2024
1 parent 75a7d08 commit f32898a
Show file tree
Hide file tree
Showing 11 changed files with 37 additions and 65 deletions.
18 changes: 18 additions & 0 deletions src/components/Molecules/AddressDetails/AddressDetails.stories.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
import { type Meta, type StoryObj } from "@storybook/react";
import { AddressDetails as AddressDetailsComponent } from "./AddressDetails";

type Story = StoryObj<typeof AddressDetailsComponent>;

const meta: Meta<typeof AddressDetailsComponent> = {
title: "Molecules/Address Details",
component: AddressDetailsComponent,
};

export default meta;

export const AddressDetails: Story = {
args: {
address: "0xf15689636571dba322b48E9EC9bA6cFB3DF818e1",
chain_name: "eth-mainnet",
},
};
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,11 @@ import { useGoldRush } from "@/utils/store";
import { type AddressDetailsProps } from "@/utils/types/molecules.types";
import {
type TransactionsSummary,
type Chain,
type BalanceItem,
calculatePrettyBalance,
prettifyCurrency,
} from "@covalenthq/client-sdk";
import { useEffect, useState } from "react";
import { AccountCard, ChainSelector } from "@/components/Molecules";
import {
DropdownMenu,
DropdownMenuContent,
Expand All @@ -24,21 +22,18 @@ import {
} from "@radix-ui/react-dropdown-menu";
import { CaretDownIcon } from "@radix-ui/react-icons";

export const AddressDetailsView: React.FC<AddressDetailsProps> = ({
export const AddressDetails: React.FC<AddressDetailsProps> = ({
address,
chain_name: initialChainName,
show_chain_selector = true,
chain_name,
}) => {
const { covalentClient, chains, setSelectedChain, selectedChain } =
useGoldRush();
const { covalentClient, selectedChain } = useGoldRush();

const [maybeResult, setMaybeResult] = useState<
Option<{
balances: BalanceItem[];
summary: TransactionsSummary;
}>
>(None);
const [chainName, setChainName] = useState<Chain>(initialChainName);

useEffect(() => {
(async () => {
Expand All @@ -50,11 +45,11 @@ export const AddressDetailsView: React.FC<AddressDetailsProps> = ({
{ data: balancesData, ...balancesError },
] = await Promise.all([
covalentClient.TransactionService.getTransactionSummary(
chainName,
chain_name,
address.trim()
),
covalentClient.BalanceService.getTokenBalancesForWalletAddress(
chainName,
chain_name,
address.trim()
),
]);
Expand All @@ -80,34 +75,15 @@ export const AddressDetailsView: React.FC<AddressDetailsProps> = ({
);
} catch (error) {
console.error(
`Error fetching transactions summary for ${chainName}:`,
`Error fetching transactions summary for ${chain_name}:`,
error
);
}
})();
}, [address, chainName]);

useEffect(() => {
const chain = chains?.find((o) => o.name === chainName) ?? null;
setSelectedChain(chain);
}, [chains, chainName]);
}, [address, chain_name]);

return (
<Card className="flex flex-col gap-y-4 rounded p-4 dark:bg-background-dark dark:text-white">
<div className="grid grid-cols-1 items-center gap-4 md:grid-cols-3">
<div className="w-fit md:col-span-2">
<AccountCard address={address} />
</div>

{show_chain_selector && (
<ChainSelector
onChangeChain={({ name }) =>
setChainName(name as Chain)
}
/>
)}
</div>

{maybeResult.match({
None: () => (
<div className="grid grid-cols-1 items-start gap-4 text-sm md:grid-cols-3">
Expand Down
3 changes: 1 addition & 2 deletions src/components/Molecules/BlockDetails/BlockDetails.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { Address } from "@/components/Atoms";
import { Card, CardDescription, CardTitle } from "@/components/ui/card";
import { Card, CardDescription } from "@/components/ui/card";
import { Skeleton } from "@/components/ui/skeleton";
import { GRK_SIZES } from "@/utils/constants/shared.constants";
import { timestampParser } from "@/utils/functions";
Expand Down Expand Up @@ -40,7 +40,6 @@ export const BlockDetails: React.FC<BlockDetailsProps> = ({

return (
<Card className="flex w-full flex-col items-start gap-x-4 rounded border border-secondary-light p-2 dark:border-secondary-dark dark:bg-background-dark dark:text-white">
<CardTitle className="">Overview</CardTitle>
{maybeResult.match({
None: () => (
<div className="mt-4">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,5 @@ export default meta;
export const LatestBlocks: Story = {
args: {
chain_name: "eth-mainnet",
height: 16643179,
},
};
5 changes: 2 additions & 3 deletions src/components/Molecules/LatestBlocks/LatestBlocks.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@ import { useEffect, useState } from "react";

export const LatestBlocks: React.FC<LatestBlocksProps> = ({
chain_name,
height,
limit = 5,
on_view_details,
}) => {
Expand Down Expand Up @@ -44,7 +43,7 @@ export const LatestBlocks: React.FC<LatestBlocksProps> = ({
console.error(error);
}
})();
}, [chain_name, height, limit]);
}, [chain_name, limit]);

return maybeResult.match({
None: () => (
Expand All @@ -61,7 +60,7 @@ export const LatestBlocks: React.FC<LatestBlocksProps> = ({
blocks.map((block) => (
<Card
key={block.height}
className="m-4 flex w-full flex-col rounded border border-secondary-light p-2 dark:border-secondary-dark dark:bg-background-dark dark:text-white"
className="flex w-full flex-col rounded border border-secondary-light p-2 dark:border-secondary-dark dark:bg-background-dark dark:text-white"
>
<div className="flex w-full justify-between">
<CardDescription>BLOCK HEIGHT</CardDescription>
Expand Down
5 changes: 2 additions & 3 deletions src/components/Molecules/SearchBar/SearchBar.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@ import { Input } from "@/components/ui/input";
import { useDebounce } from "@/utils/hooks/use-debounce";
import {
AddressActivityListView,
AddressDetailsView,
TransactionReceiptView,
} from "@/components/Organisms";
import { AddressDetails } from "../";
import { ChainSelector } from "../ChainSelector/ChainSelector";
import { useGoldRush } from "@/utils/store";
import { BlockDetails } from "../BlockDetails/BlockDetails";
Expand Down Expand Up @@ -36,10 +36,9 @@ export const SearchBar: React.FC = () => {
case "address": {
return (
<div className="flex w-full flex-col gap-y-8">
<AddressDetailsView
<AddressDetails
address={searchInput}
chain_name={selectedChain?.name as Chain}
show_chain_selector={false}
/>
<AddressActivityListView address={searchInput} />
</div>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { Address } from "@/components/Atoms";
import { Card, CardDescription, CardTitle } from "@/components/ui/card";
import { Card, CardDescription } from "@/components/ui/card";
import { Skeleton } from "@/components/ui/skeleton";
import { GRK_SIZES } from "@/utils/constants/shared.constants";
import { timestampParser } from "@/utils/functions";
Expand Down Expand Up @@ -51,7 +51,6 @@ export const TransactionDetails: React.FC<TransactionDetailsProps> = ({

return (
<Card className="flex w-full flex-col items-start gap-x-4 rounded border border-secondary-light p-2 dark:border-secondary-dark dark:bg-background-dark dark:text-white">
<CardTitle className="">Overview</CardTitle>
{maybeResult.match({
None: () => (
<div className="mt-4">
Expand Down
5 changes: 5 additions & 0 deletions src/components/Molecules/index.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,9 @@
export { AccountCard } from "./AccountCard/AccountCard";
export { AddressDetails } from "./AddressDetails/AddressDetails";
/**
* @deprecated This component is deprecated. Please use `AddressDetails` instead.
*/
export { AddressDetails as AddressDetailsView } from "./AddressDetails/AddressDetails";
export { BlockDetails } from "./BlockDetails/BlockDetails";
export { ChainSelector } from "./ChainSelector/ChainSelector";
export { CollectionCard } from "./CollectionCard/CollectionCard";
Expand Down

This file was deleted.

3 changes: 1 addition & 2 deletions src/components/Organisms/index.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
export { AddressDetailsView } from "./AddressDetailsView/AddressDetailsView";
export { NFTCollectionTokenListView } from "./NFTs/NFTCollectionTokenListView/NFTCollectionTokenListView";
export { NFTDetailView } from "./NFTs/NFTDetailView/NFTDetailView";
export { NFTWalletCollectionView } from "./NFTs/NFTWalletCollectionView/NFTWalletCollectionView";
Expand All @@ -10,7 +9,7 @@ export { TransactionReceiptView } from "./TransactionReceiptView/TransactionRece
export { AddressTransactions } from "./AddressTransactions/AddressTransactions";
export { BlockTransactions } from "./BlockTransactions/BlockTransactions";
/**
* @deprecated This component is deprecated. Please use AddressTransactions instead.
* @deprecated This component is deprecated. Please use `AddressTransactions` instead.
*/
export { AddressTransactions as TransactionsList } from "./AddressTransactions/AddressTransactions";
export { XYKOverviewTransactionsListView } from "./XYK/XYKOverviewTransactionsListView/XYKOverviewTransactionsListView";
Expand Down
2 changes: 0 additions & 2 deletions src/utils/types/molecules.types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@ export interface BlockDetailsProps {

export interface LatestBlocksProps {
chain_name: Chain;
height: number;
limit?: number;
on_view_details?: (block: Block) => void;
}
Expand All @@ -40,7 +39,6 @@ export interface GasCardProps {
export interface AddressDetailsProps {
address: string;
chain_name: Chain;
show_chain_selector?: boolean;
}

export interface ChainSelectorProps {
Expand Down

0 comments on commit f32898a

Please sign in to comment.