DeFiCh/wallet

View on GitHub

Showing 286 of 335 total issues

File CompositeSwapScreen.tsx has 1156 lines of code (exceeds 250 allowed). Consider refactoring.
Open

import { useCallback, useEffect, useMemo, useRef, useState } from "react";
import { Platform, ScrollView, TextInput, View } from "react-native";
import { useSelector } from "react-redux";
import { Controller, useForm } from "react-hook-form";
import BigNumber from "bignumber.js";

    Function AddLiquidityScreen has 556 lines of code (exceeds 100 allowed). Consider refactoring.
    Open

    export function AddLiquidityScreen(props: Props): JSX.Element {
    const logger = useLogger();
    const navigation = useNavigation<NavigationProp<DexParamList>>();
    const dispatch = useAppDispatch();
    const DFIToken = useSelector((state: RootState) =>
    Severity: Major
    Found in mobile-app/app/screens/AppNavigator/screens/Dex/DexAddLiquidity.tsx - About 2 days to fix

      Function ConvertScreen has 548 lines of code (exceeds 100 allowed). Consider refactoring.
      Open

      export function ConvertScreen(props: Props): JSX.Element {
      const { getTokenPrice } = useTokenPrice();
      const { isLight } = useThemeContext();
      const { domain, isEvmFeatureEnabled } = useDomainContext();
      const isEvmDomain = domain === DomainType.EVM;

        Function CompositeSwapScreen has a Cognitive Complexity of 107 (exceeds 5 allowed). Consider refactoring.
        Open

        export function CompositeSwapScreen({ route }: Props): JSX.Element {
        const logger = useLogger();
        const client = useWhaleApiClient();
        const whaleRpcClient = useWhaleRpcClient();
        const isFocused = useIsFocused();

        File AddOrRemoveCollateralScreen.tsx has 858 lines of code (exceeds 250 allowed). Consider refactoring.
        Open

        import {
        ThemedScrollViewV2,
        ThemedTextV2,
        ThemedViewV2,
        } from "@components/themed";

          Function PortfolioNavigator has 473 lines of code (exceeds 100 allowed). Consider refactoring.
          Open

          export function PortfolioNavigator(): JSX.Element {
          const navigation = useNavigation<NavigationProp<PortfolioParamList>>();
          const { isLight } = useThemeContext();
          const { isEvmFeatureEnabled } = useDomainContext();
          const goToNetworkSelect = (): void => {

            File AddressBookScreen.tsx has 810 lines of code (exceeds 250 allowed). Consider refactoring.
            Open

            import { View } from "@components";
            import {
            ThemedIcon,
            ThemedSectionTitleV2,
            ThemedTextV2,

              File PortfolioScreen.tsx has 799 lines of code (exceeds 250 allowed). Consider refactoring.
              Open

              import {
              CommonActions,
              useIsFocused,
              useScrollToTop,
              } from "@react-navigation/native";

                Function LoanCards has 430 lines of code (exceeds 100 allowed). Consider refactoring.
                Open

                export function LoanCards(props: LoanCardsProps): JSX.Element {
                const { isLight } = useThemeContext();
                const loanTokens = useSelector((state: RootState) =>
                loanTokensSelector(state.loans)
                );

                  File BorrowLoanTokenScreen.tsx has 751 lines of code (exceeds 250 allowed). Consider refactoring.
                  Open

                  import { Platform, View } from "react-native";
                  import {
                  ThemedIcon,
                  ThemedScrollViewV2,
                  ThemedSectionTitleV2,

                    File ConvertScreen.tsx has 747 lines of code (exceeds 250 allowed). Consider refactoring.
                    Open

                    import { NavigationProp, useNavigation } from "@react-navigation/native";
                    import { StackScreenProps } from "@react-navigation/stack";
                    import BigNumber from "bignumber.js";
                    import React, { useEffect, useState } from "react";
                    import { useThemeContext } from "@waveshq/walletkit-ui";

                      Function ConvertScreen has a Cognitive Complexity of 83 (exceeds 5 allowed). Consider refactoring.
                      Open

                      export function ConvertScreen(props: Props): JSX.Element {
                      const { getTokenPrice } = useTokenPrice();
                      const { isLight } = useThemeContext();
                      const { domain, isEvmFeatureEnabled } = useDomainContext();
                      const isEvmDomain = domain === DomainType.EVM;

                      File PortfolioNavigator.tsx has 662 lines of code (exceeds 250 allowed). Consider refactoring.
                      Open

                      import { NavigationProp, useNavigation } from "@react-navigation/native";
                      import { createStackNavigator } from "@react-navigation/stack";
                      import { AddressType, WalletToken } from "@waveshq/walletkit-ui/dist/store";
                      import BigNumber from "bignumber.js";
                      import { Image } from "expo-image";

                        File ConfirmCompositeSwapScreen.tsx has 643 lines of code (exceeds 250 allowed). Consider refactoring.
                        Open

                        import { WalletAlert } from "@components/WalletAlert";
                        import { Dispatch, useEffect, useState } from "react";
                        import { useSelector } from "react-redux";
                        import { getColor, tailwind } from "@tailwind";
                        import { StackScreenProps } from "@react-navigation/stack";

                          File DexAddLiquidity.tsx has 642 lines of code (exceeds 250 allowed). Consider refactoring.
                          Open

                          import { PoolPairData } from "@defichain/whale-api-client/dist/api/poolpairs";
                          import { NavigationProp, useNavigation } from "@react-navigation/native";
                          import { StackScreenProps } from "@react-navigation/stack";
                          import BigNumber from "bignumber.js";
                          import { useCallback, useEffect, useMemo, useState } from "react";
                          Severity: Major
                          Found in mobile-app/app/screens/AppNavigator/screens/Dex/DexAddLiquidity.tsx - About 1 day to fix

                            File PoolPairDetailsScreen.tsx has 622 lines of code (exceeds 250 allowed). Consider refactoring.
                            Open

                            import { View } from "@components";
                            import { NumberRowV2 } from "@components/NumberRowV2";
                            import {
                            IconName,
                            IconType,

                              Function TransactionAuthorization has 347 lines of code (exceeds 100 allowed). Consider refactoring.
                              Open

                              export function TransactionAuthorization(): JSX.Element | null {
                              const { data: providerData } = useWalletNodeContext();
                              const { clearWallets } = useWalletPersistenceContext();
                              const { network } = useNetworkContext();
                              const whaleApiClient = useWhaleApiClient();

                                File LoanCards.tsx has 602 lines of code (exceeds 250 allowed). Consider refactoring.
                                Open

                                import { memo, useCallback, useEffect, useMemo, useRef, useState } from "react";
                                import {
                                ThemedFlashList,
                                ThemedIcon,
                                ThemedScrollViewV2,

                                  File AddOrRemoveCollateralForm.tsx has 597 lines of code (exceeds 250 allowed). Consider refactoring.
                                  Open

                                  import { BottomSheetWithNavRouteParam } from "@components/BottomSheetWithNav";
                                  import { Button } from "@components/Button";
                                  import { InputHelperText } from "@components/InputHelperText";
                                  import { SymbolIcon } from "@components/SymbolIcon";
                                  import {

                                    Function DexScreen has 333 lines of code (exceeds 100 allowed). Consider refactoring.
                                    Open

                                    export function DexScreen(): JSX.Element {
                                    const navigation = useNavigation<NavigationProp<DexParamList>>();
                                    const [activeTab, setActiveTab] = useState<string>(TabKey.AvailablePoolPair);
                                    const tokens = useSelector((state: RootState) =>
                                    tokensSelector(state.wallet)
                                    Severity: Major
                                    Found in mobile-app/app/screens/AppNavigator/screens/Dex/DexScreen.tsx - About 1 day to fix
                                      Severity
                                      Category
                                      Status
                                      Source
                                      Language