From e7c9e252cc209bb225587f91d0b9c4a07e841ced Mon Sep 17 00:00:00 2001 From: amalcaraz Date: Thu, 21 Dec 2023 20:59:10 +0100 Subject: [PATCH] feat: performance tweaks on page navigation --- src/components/common/Content/styles.tsx | 2 +- src/components/pages/HomePage/cmp.tsx | 3 +- .../ComputeResourceNodeDetailPage/cmp.tsx | 2 - .../earn/ComputeResourceNodesPage/cmp.tsx | 78 +++++++++--------- .../earn/CoreChannelNodeDetailPage/cmp.tsx | 2 - .../pages/earn/CoreChannelNodesPage/cmp.tsx | 70 ++++++++-------- .../pages/earn/EarnHomePage/cmp.tsx | 3 +- src/components/pages/earn/StakingPage/cmp.tsx | 82 ++++++++++--------- src/hooks/common/useLazyRender.ts | 14 ++++ src/hooks/common/useRouterLoadState.ts | 32 ++++++++ src/pages/_app.tsx | 5 ++ src/pages/loading.tsx | 5 ++ 12 files changed, 180 insertions(+), 118 deletions(-) create mode 100644 src/hooks/common/useLazyRender.ts create mode 100644 src/hooks/common/useRouterLoadState.ts create mode 100644 src/pages/loading.tsx diff --git a/src/components/common/Content/styles.tsx b/src/components/common/Content/styles.tsx index ca081cd..ca2fe38 100644 --- a/src/components/common/Content/styles.tsx +++ b/src/components/common/Content/styles.tsx @@ -2,5 +2,5 @@ import styled from 'styled-components' import tw from 'twin.macro' export const StyledContent = styled.div` - ${tw`flex-1 px-5 md:px-16 pb-16 mx-auto w-full max-w-[90rem]`}// @note: 1440px max-width + ${tw`relative flex-1 px-5 md:px-16 pb-16 mx-auto w-full max-w-[90rem]`}// @note: 1440px max-width ` diff --git a/src/components/pages/HomePage/cmp.tsx b/src/components/pages/HomePage/cmp.tsx index ff7139c..53fe0d6 100644 --- a/src/components/pages/HomePage/cmp.tsx +++ b/src/components/pages/HomePage/cmp.tsx @@ -1,10 +1,9 @@ import { memo } from 'react' -import SpinnerOverlay from '@/components/common/SpinnerOverlay' import { useRedirect } from '@/hooks/common/useRedirect' export const HomePage = () => { useRedirect('/earn/staking') - return + return null } export default memo(HomePage) diff --git a/src/components/pages/earn/ComputeResourceNodeDetailPage/cmp.tsx b/src/components/pages/earn/ComputeResourceNodeDetailPage/cmp.tsx index 9480ea5..dd683a5 100644 --- a/src/components/pages/earn/ComputeResourceNodeDetailPage/cmp.tsx +++ b/src/components/pages/earn/ComputeResourceNodeDetailPage/cmp.tsx @@ -10,7 +10,6 @@ import ColumnLayout from '@/components/common/ColumnLayout' import NodeDetailStatus from '@/components/common/NodeDetailStatus' import NodeName from '@/components/common/NodeName' import NodeDecentralization from '@/components/common/NodeDecentralization' -import SpinnerOverlay from '@/components/common/SpinnerOverlay' import NodeDetailEditableField from '@/components/common/NodeDetailEditableField' import NodeDetailLink from '@/components/common/NodeDetailLink' @@ -255,7 +254,6 @@ export const ComputeResourceNodeDetailPage = () => { - ) } diff --git a/src/components/pages/earn/ComputeResourceNodesPage/cmp.tsx b/src/components/pages/earn/ComputeResourceNodesPage/cmp.tsx index f56093a..ce1e109 100644 --- a/src/components/pages/earn/ComputeResourceNodesPage/cmp.tsx +++ b/src/components/pages/earn/ComputeResourceNodesPage/cmp.tsx @@ -19,6 +19,7 @@ import SpinnerOverlay from '@/components/common/SpinnerOverlay' import NetworkHealthChart from '@/components/common/NetworkHealthChart' import HostingProviderChart from '@/components/common/HostingProviderChart' import RewardChart from '@/components/common/RewardChart' +import { useLazyRender } from '@/hooks/common/useLazyRender' export const ComputeResourceNodesPage = ( props: UseComputeResourceNodesPageProps, @@ -46,6 +47,8 @@ export const ComputeResourceNodesPage = ( handleLinkableOnlyChange, } = useComputeResourceNodesPage(props) + const { render } = useLazyRender() + const CreateNode = (