From 9f724c19db70ac4114abc5110724ce85ecb20968 Mon Sep 17 00:00:00 2001 From: twwu Date: Thu, 29 May 2025 17:33:04 +0800 Subject: [PATCH] refactor: refactor navigation components to use Link for improved routing --- .../datasets/create-from-pipeline/header.tsx | 18 ++++++------- .../create-from-pipeline/left-header.tsx | 27 +++++++++---------- .../components/datasets/documents/index.tsx | 1 + .../datasets/list/new-dataset-card/index.tsx | 8 +++--- .../new-dataset-card/{link.tsx => option.tsx} | 22 ++++++--------- 5 files changed, 34 insertions(+), 42 deletions(-) rename web/app/components/datasets/list/new-dataset-card/{link.tsx => option.tsx} (65%) diff --git a/web/app/components/datasets/create-from-pipeline/header.tsx b/web/app/components/datasets/create-from-pipeline/header.tsx index 78e2606051..278b7c76e6 100644 --- a/web/app/components/datasets/create-from-pipeline/header.tsx +++ b/web/app/components/datasets/create-from-pipeline/header.tsx @@ -1,28 +1,26 @@ -import React, { useCallback } from 'react' +import React from 'react' import { RiArrowLeftLine } from '@remixicon/react' import Button from '../../base/button' import { useTranslation } from 'react-i18next' -import { useRouter } from 'next/navigation' +import Link from 'next/link' const Header = () => { const { t } = useTranslation() - const { push } = useRouter() - - const goBack = useCallback(() => { - push('/datasets') - }, [push]) return ( -
+ {t('datasetPipeline.creation.title')} -
+ ) } diff --git a/web/app/components/datasets/documents/create-from-pipeline/left-header.tsx b/web/app/components/datasets/documents/create-from-pipeline/left-header.tsx index 76e9c38eaa..b115bdc619 100644 --- a/web/app/components/datasets/documents/create-from-pipeline/left-header.tsx +++ b/web/app/components/datasets/documents/create-from-pipeline/left-header.tsx @@ -1,10 +1,11 @@ -import React, { useCallback } from 'react' +import React from 'react' import { RiArrowLeftLine } from '@remixicon/react' import Button from '@/app/components/base/button' -import { useParams, useRouter } from 'next/navigation' +import { useParams } from 'next/navigation' import Effect from '@/app/components/base/effect' import type { Step } from './step-indicator' import StepIndicator from './step-indicator' +import Link from 'next/link' type LeftHeaderProps = { steps: Array @@ -18,12 +19,6 @@ const LeftHeader = ({ currentStep, }: LeftHeaderProps) => { const { datasetId } = useParams() - const { push } = useRouter() - - const goBack = useCallback(() => { - if (datasetId) - push(`/datasets/${datasetId}/documents`) - }, [datasetId, push]) return (
@@ -38,13 +33,17 @@ const LeftHeader = ({ {steps[currentStep - 1]?.label}
{currentStep !== steps.length && ( - + + )} diff --git a/web/app/components/datasets/documents/index.tsx b/web/app/components/datasets/documents/index.tsx index 2912c07530..4b74a00726 100644 --- a/web/app/components/datasets/documents/index.tsx +++ b/web/app/components/datasets/documents/index.tsx @@ -322,6 +322,7 @@ const Documents: FC = ({ datasetId }) => { {isListLoading ? + // eslint-disable-next-line sonarjs/no-nested-conditional : total > 0 ? { @@ -14,19 +14,19 @@ const CreateAppCard = () => { return (
- -
- text: string href: string } -const Link = ({ +const Option = ({ Icon, text, href, -}: LinkProps) => { - const { push } = useRouter() - - const navigateTo = () => { - push(href) - } - +}: OptionProps) => { return ( - + ) } -export default React.memo(Link) +export default React.memo(Option)