diff --git a/.eslintrc.json b/.eslintrc.json index dfd8a924..27166b89 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -1,5 +1,10 @@ { - "extends": ["eslint:recommended", "plugin:@typescript-eslint/recommended"], + "extends": [ + "eslint:recommended", + "plugin:@typescript-eslint/recommended", + "plugin:react/recommended" + ], + "plugins": ["react"], "rules": { "semi": "error", "no-multiple-empty-lines": "error", @@ -21,6 +26,13 @@ "@typescript-eslint/no-inferrable-types": "off", "@typescript-eslint/no-non-null-assertion": "off", "@typescript-eslint/consistent-type-imports": "error", - "@typescript-eslint/no-explicit-any": "warn" + "@typescript-eslint/no-explicit-any": "warn", + "react/prop-types": "off", + "react/react-in-jsx-scope": "off" + }, + "settings": { + "react": { + "version": "detect" + } } } diff --git a/src/components/Atoms/Address/Address.tsx b/src/components/Atoms/Address/Address.tsx index de7cdbfd..7d192a0b 100644 --- a/src/components/Atoms/Address/Address.tsx +++ b/src/components/Atoms/Address/Address.tsx @@ -11,9 +11,9 @@ export const Address: React.FC = ({ address }) => { onClick={() => copyToClipboard(address)} > diff --git a/src/components/Atoms/AddressAvatar/AddressAvatar.tsx b/src/components/Atoms/AddressAvatar/AddressAvatar.tsx index 49e0254c..410376cb 100644 --- a/src/components/Atoms/AddressAvatar/AddressAvatar.tsx +++ b/src/components/Atoms/AddressAvatar/AddressAvatar.tsx @@ -12,7 +12,7 @@ export const AddressAvatar: React.FC = ({ size, fallback, rounded = false, - className, + class_name, }) => { const SRC = useMemo(() => { switch (type) { @@ -57,7 +57,7 @@ export const AddressAvatar: React.FC = ({ return ( diff --git a/src/components/Atoms/CopyImage/CopyImage.tsx b/src/components/Atoms/CopyImage/CopyImage.tsx index 533855a6..e08a439f 100644 --- a/src/components/Atoms/CopyImage/CopyImage.tsx +++ b/src/components/Atoms/CopyImage/CopyImage.tsx @@ -8,15 +8,15 @@ export const CopyImage: React.FC = ({ url }) => { return copied ? ( ) : ( { + icon_class_name="content_copy" + icon_size="text-sm text-text-color-900 dark:text-text-color-50" + class_name="cursor-pointer" + on_click={() => { showCopied(true); setTimeout(() => { showCopied(false); diff --git a/src/components/Atoms/IconWrapper/IconWrapper.tsx b/src/components/Atoms/IconWrapper/IconWrapper.tsx index ad267553..85bea7dc 100644 --- a/src/components/Atoms/IconWrapper/IconWrapper.tsx +++ b/src/components/Atoms/IconWrapper/IconWrapper.tsx @@ -1,24 +1,24 @@ import { type IconWrapperPropsType } from "@/utils/types/atoms.types"; export const IconWrapper: React.FC = ({ - className, - iconClassName, - onClick, - iconSize, - iconType, + class_name, + icon_class_name, + on_click, + icon_size, + icon_type, }) => { return (
- {iconClassName} + {icon_class_name}
); diff --git a/src/components/Atoms/TokenAvatar/TokenAvatar.stories.tsx b/src/components/Atoms/TokenAvatar/TokenAvatar.stories.tsx index e4f25dde..4c76c86d 100644 --- a/src/components/Atoms/TokenAvatar/TokenAvatar.stories.tsx +++ b/src/components/Atoms/TokenAvatar/TokenAvatar.stories.tsx @@ -20,63 +20,63 @@ export const TokenAvatarDisplay: Story = { <>
diff --git a/src/components/Atoms/TokenAvatar/TokenAvatar.tsx b/src/components/Atoms/TokenAvatar/TokenAvatar.tsx index 907d6437..a1bf3d94 100644 --- a/src/components/Atoms/TokenAvatar/TokenAvatar.tsx +++ b/src/components/Atoms/TokenAvatar/TokenAvatar.tsx @@ -3,11 +3,11 @@ import { type TokenAvatarProps } from "@/utils/types/atoms.types"; import { GRK_SIZES } from "@/utils/constants/shared.constants"; export const TokenAvatar: React.FC = ({ - tokenUrl, - subUrl, + token_url, + sub_url, size, - isChainLogo = false, - chainColor, + is_chain_logo = false, + chain_color, }) => { const ref = useRef(null); @@ -46,10 +46,10 @@ export const TokenAvatar: React.FC = ({ }, [size]); useEffect(() => { - if (isChainLogo) { + if (is_chain_logo) { (async () => { const response = await fetch( - tokenUrl ?? "https://goldrush.vercel.app/icons/token.svg" + token_url ?? "https://goldrush.vercel.app/icons/token.svg" ); const data = await response.text(); @@ -78,17 +78,17 @@ export const TokenAvatar: React.FC = ({ } })(); } - }, [tokenUrl, SIZE_CLASS]); + }, [token_url, SIZE_CLASS]); - return isChainLogo ? ( + return is_chain_logo ? (
) : (
Token Image = ({ "https://goldrush.vercel.app/icons/token.svg"; }} /> - {subUrl && ( + {sub_url && ( Token Image = ({ > {showCopy ? ( ) : ( handleCopyClick()} + icon_class_name="content_copy" + icon_size="text-sm" + class_name="text-secondary dark:text-secondary" + on_click={() => handleCopyClick()} /> )}
@@ -72,9 +72,9 @@ export const AccountCardView: React.FC = ({
diff --git a/src/components/Molecules/NFTs/NFTFloorPriceView/NFTFloorPriceView.tsx b/src/components/Molecules/NFTs/NFTFloorPriceView/NFTFloorPriceView.tsx index 57d9339b..0e8bd632 100644 --- a/src/components/Molecules/NFTs/NFTFloorPriceView/NFTFloorPriceView.tsx +++ b/src/components/Molecules/NFTs/NFTFloorPriceView/NFTFloorPriceView.tsx @@ -4,7 +4,10 @@ import { Button } from "@/components/ui/button"; import { LineChart } from "@tremor/react"; import { rootColor, timestampParser } from "@/utils/functions"; import { TypographyH4 } from "@/components/ui/typography"; -import { calculatePrettyBalance, prettifyCurrency } from "@covalenthq/client-sdk"; +import { + calculatePrettyBalance, + prettifyCurrency, +} from "@covalenthq/client-sdk"; import { Skeleton } from "@/components/ui/skeleton"; import { CURRENCY, diff --git a/src/components/Organisms/NFTs/NFTWalletCollectionView/NFTWalletCollectionView.tsx b/src/components/Organisms/NFTs/NFTWalletCollectionView/NFTWalletCollectionView.tsx index e7d59d52..711d8d65 100644 --- a/src/components/Organisms/NFTs/NFTWalletCollectionView/NFTWalletCollectionView.tsx +++ b/src/components/Organisms/NFTs/NFTWalletCollectionView/NFTWalletCollectionView.tsx @@ -1,6 +1,9 @@ import { GRK_SIZES } from "@/utils/constants/shared.constants"; import { type Option, Some, None } from "@/utils/option"; -import { prettifyCurrency, type NftTokenContractBalanceItem } from "@covalenthq/client-sdk"; +import { + prettifyCurrency, + type NftTokenContractBalanceItem, +} from "@covalenthq/client-sdk"; import { useEffect, useState } from "react"; import { Card, @@ -62,11 +65,24 @@ export const NFTWalletCollectionView: React.FC< > { - e.currentTarget.classList.remove("object-cover"); - e.currentTarget.classList.add("p-2"); + e.currentTarget.classList.remove( + "object-cover" + ); + e.currentTarget.classList.add( + "p-2" + ); e.currentTarget.src = "https://www.datocms-assets.com/86369/1685489960-nft.svg"; }} @@ -122,7 +138,14 @@ export const NFTWalletCollectionView: React.FC< ) ); return ( - {prettifyCurrency(s, 2, "USD", true)} + + {prettifyCurrency( + s, + 2, + "USD", + true + )} + ); }, })} diff --git a/src/components/Organisms/NFTs/NFTWalletTokenListView/NFTWalletTokenListView.tsx b/src/components/Organisms/NFTs/NFTWalletTokenListView/NFTWalletTokenListView.tsx index 7c1f00bc..2eb05f6c 100644 --- a/src/components/Organisms/NFTs/NFTWalletTokenListView/NFTWalletTokenListView.tsx +++ b/src/components/Organisms/NFTs/NFTWalletTokenListView/NFTWalletTokenListView.tsx @@ -1,6 +1,9 @@ import { GRK_SIZES } from "@/utils/constants/shared.constants"; import { type Option, Some, None } from "@/utils/option"; -import { prettifyCurrency, type NftTokenContractBalanceItem } from "@covalenthq/client-sdk"; +import { + prettifyCurrency, + type NftTokenContractBalanceItem, +} from "@covalenthq/client-sdk"; import { useEffect, useState } from "react"; import { Card, @@ -58,11 +61,23 @@ export const NFTWalletTokenListView: React.FC = ({ { - e.currentTarget.classList.remove("object-cover"); - e.currentTarget.classList.add("p-2"); + e.currentTarget.classList.remove( + "object-cover" + ); + e.currentTarget.classList.add( + "p-2" + ); e.currentTarget.src = "https://www.datocms-assets.com/86369/1685489960-nft.svg"; }} @@ -111,7 +126,14 @@ export const NFTWalletTokenListView: React.FC = ({ ) ); return ( - {prettifyCurrency(s, 2, "USD", true)} + + {prettifyCurrency( + s, + 2, + "USD", + true + )} + ); }, })} diff --git a/src/components/Organisms/TokenBalances/AddressActivityListView/AddressActivityListView.tsx b/src/components/Organisms/TokenBalances/AddressActivityListView/AddressActivityListView.tsx index ca0b26e0..04efba65 100644 --- a/src/components/Organisms/TokenBalances/AddressActivityListView/AddressActivityListView.tsx +++ b/src/components/Organisms/TokenBalances/AddressActivityListView/AddressActivityListView.tsx @@ -1,7 +1,5 @@ import { type Option, None, Some } from "@/utils/option"; -import { - type ChainActivityEvent, -} from "@covalenthq/client-sdk"; +import { type ChainActivityEvent } from "@covalenthq/client-sdk"; import { type ColumnDef, type SortingState, @@ -65,8 +63,8 @@ const columns: ColumnDef[] = [ return (
{row.getValue("label")} @@ -107,7 +105,7 @@ const columns: ColumnDef[] = [ {t ? ( "" ) : ( - + )}
); @@ -303,10 +301,10 @@ export const AddressActivityListView: React.FC< {header.isPlaceholder ? null : flexRender( - header.column.columnDef - .header, - header.getContext() - )} + header.column.columnDef + .header, + header.getContext() + )} ); })} diff --git a/src/components/Organisms/TokenBalances/TokenBalancesListView/TokenBalancesListView.tsx b/src/components/Organisms/TokenBalances/TokenBalancesListView/TokenBalancesListView.tsx index dd053cf1..8b9725f3 100644 --- a/src/components/Organisms/TokenBalances/TokenBalancesListView/TokenBalancesListView.tsx +++ b/src/components/Organisms/TokenBalances/TokenBalancesListView/TokenBalancesListView.tsx @@ -3,7 +3,7 @@ import { type BalanceItem, type ChainItem, calculatePrettyBalance, - prettifyCurrency + prettifyCurrency, } from "@covalenthq/client-sdk"; import { useEffect, useState } from "react"; import { @@ -199,9 +199,9 @@ export const TokenBalancesListView: React.FC = ({
@@ -233,7 +233,12 @@ export const TokenBalancesListView: React.FC = ({ return (
{" "} - {prettifyCurrency(row.getValue("quote_rate"), 2, "USD", true)}{" "} + {prettifyCurrency( + row.getValue("quote_rate"), + 2, + "USD", + true + )}{" "}
); }, @@ -320,22 +325,22 @@ export const TokenBalancesListView: React.FC = ({ Actions {" "} View Transfer History {" "} Swap {row.original.contract_ticker_symbol} @@ -343,8 +348,8 @@ export const TokenBalancesListView: React.FC = ({
{row.original.last_transferred_at ? `Last transfered ${timestampParser( @@ -427,9 +432,9 @@ export const TokenBalancesListView: React.FC = ({
@@ -488,22 +493,22 @@ export const TokenBalancesListView: React.FC = ({ Actions {" "} View Transfer History {" "} Swap {row.original.contract_ticker_symbol} @@ -511,8 +516,8 @@ export const TokenBalancesListView: React.FC = ({
{row.original.last_transferred_at ? `Last transfered ${timestampParser( @@ -620,7 +625,9 @@ export const TokenBalancesListView: React.FC = ({
-

Total Quote

+

+ Total Quote +

{filterResult.match({ @@ -629,7 +636,16 @@ export const TokenBalancesListView: React.FC = ({ ), Some: (result) => { const s = sum(result.map((x) => x.quote)); - return {prettifyCurrency(s, 2, "USD", true)}; + return ( + + {prettifyCurrency( + s, + 2, + "USD", + true + )} + + ); }, })} diff --git a/src/components/Organisms/TokenBalances/TokenTransfersListView/TokenTransfersListView.tsx b/src/components/Organisms/TokenBalances/TokenTransfersListView/TokenTransfersListView.tsx index 22bd20d8..3085a49d 100644 --- a/src/components/Organisms/TokenBalances/TokenTransfersListView/TokenTransfersListView.tsx +++ b/src/components/Organisms/TokenBalances/TokenTransfersListView/TokenTransfersListView.tsx @@ -30,7 +30,7 @@ import { TokenAvatar } from "../../../Atoms/TokenAvatar/TokenAvatar"; import { timestampParser, truncate, - calculateTimeSeriesGroup + calculateTimeSeriesGroup, } from "@/utils/functions"; import { Badge } from "@/components/ui/badge"; import { AccountCardView } from "@/components/Molecules/AccountCardView/AccountCardView"; @@ -170,7 +170,12 @@ const columns: ColumnDef[] = [ cell: ({ row }) => { return (
- {prettifyCurrency(row.original.transfers[0].delta_quote, 2, "USD", true)} + {prettifyCurrency( + row.original.transfers[0].delta_quote, + 2, + "USD", + true + )}
); }, @@ -184,9 +189,9 @@ const columns: ColumnDef[] = [ {truncate(txHash)} ); @@ -481,8 +486,8 @@ export const TokenTransfersListView: React.FC = ({ return ( <> = ({ return ( <> {header_name}
); diff --git a/src/utils/types/atoms.types.ts b/src/utils/types/atoms.types.ts index 989796dd..3c121499 100644 --- a/src/utils/types/atoms.types.ts +++ b/src/utils/types/atoms.types.ts @@ -10,20 +10,7 @@ export interface AddressAvatarProps { size: GRK_SIZES; rounded?: boolean; fallback?: string; - className?: string; -} - -export interface AvatarGroupProps { - groupClassName?: string; - iconClassName?: string; - titleClassName?: string; - title?: string; - chainText?: string; - show?: number; - isCountShown?: boolean; - iconList?: Array<{ url: string; bgColor: string }>; - fallbackTitle?: Array; - rounded?: boolean; + class_name?: string; } export interface BalancePriceDeltaProps { @@ -36,30 +23,11 @@ export interface CopyImageProps { } export interface IconWrapperPropsType { - // icon: string; - // alt: string; - className?: string; - iconClassName?: string; - onClick?: (e?: React.MouseEvent) => void; - iconSize?: string; - iconType?: string; -} - -export interface MultiSelectDropDownProps { - className?: string; - label?: React.ReactNode; - search?: React.ReactNode; - childrenClassName?: string; - arrowClassName?: string; - menuClassName?: string; - isOpen?: boolean; - handleOpen?: (val: boolean) => void; - showBalance?: boolean; - chainsList?: any; - chainsBalances?: any; - searchPlaceholder?: string; - address?: string; - position?: "left" | "right"; + class_name?: string; + icon_class_name?: string; + on_click?: (e?: React.MouseEvent) => void; + icon_size?: string; + icon_type?: string; } export interface NetPriceDeltaProps { @@ -67,27 +35,10 @@ export interface NetPriceDeltaProps { denominator: number; } -export interface SelectDropDownProps { - className?: string; - label?: React.ReactNode; - search?: React.ReactNode; - childrenClassName?: string; - arrowClassName?: string; - menuClassName?: string; - isOpen?: boolean; - handleOpen?: (val: boolean) => void; - showBalance?: boolean; - chainsList?: any; - chainsBalances?: any; - searchPlaceholder?: string; - address?: string; - position?: "left" | "right"; -} - export interface TokenAvatarProps { - tokenUrl?: string | null; - subUrl?: string | null; + token_url?: string | null; + sub_url?: string | null; size: GRK_SIZES; - isChainLogo?: boolean; - chainColor?: string | null; + is_chain_logo?: boolean; + chain_color?: string | null; }