From a14e3feed9fd992b248cffda9aea447f2cc533fd Mon Sep 17 00:00:00 2001 From: Shine1i Date: Sun, 15 Feb 2026 20:22:17 +0100 Subject: [PATCH] refactor: reorganize tour steps and relocate `ReadMore` component for improved structure --- studio/frontend/src/features/studio/studio-page.tsx | 3 ++- studio/frontend/src/features/studio/tour/index.ts | 2 ++ .../{tour/steps/studio => studio/tour/steps}/base-model.tsx | 4 +--- .../{tour/steps/studio => studio/tour/steps}/dataset.tsx | 4 +--- .../{tour/steps/studio => studio/tour/steps}/index.tsx | 0 .../{tour/steps/studio => studio/tour/steps}/local-model.tsx | 4 +--- .../{tour/steps/studio => studio/tour/steps}/method.tsx | 4 +--- .../features/{tour/steps/studio => studio/tour/steps}/nav.tsx | 0 .../{tour/steps/studio => studio/tour/steps}/params.tsx | 4 +--- .../{tour/steps/studio => studio/tour/steps}/save.tsx | 0 .../{tour/steps/studio => studio/tour/steps}/start.tsx | 0 .../src/features/tour/{steps => components}/read-more.tsx | 4 +++- studio/frontend/src/features/tour/index.ts | 2 +- 13 files changed, 13 insertions(+), 18 deletions(-) create mode 100644 studio/frontend/src/features/studio/tour/index.ts rename studio/frontend/src/features/{tour/steps/studio => studio/tour/steps}/base-model.tsx (78%) rename studio/frontend/src/features/{tour/steps/studio => studio/tour/steps}/dataset.tsx (76%) rename studio/frontend/src/features/{tour/steps/studio => studio/tour/steps}/index.tsx (100%) rename studio/frontend/src/features/{tour/steps/studio => studio/tour/steps}/local-model.tsx (78%) rename studio/frontend/src/features/{tour/steps/studio => studio/tour/steps}/method.tsx (76%) rename studio/frontend/src/features/{tour/steps/studio => studio/tour/steps}/nav.tsx (100%) rename studio/frontend/src/features/{tour/steps/studio => studio/tour/steps}/params.tsx (73%) rename studio/frontend/src/features/{tour/steps/studio => studio/tour/steps}/save.tsx (100%) rename studio/frontend/src/features/{tour/steps/studio => studio/tour/steps}/start.tsx (100%) rename studio/frontend/src/features/tour/{steps => components}/read-more.tsx (73%) diff --git a/studio/frontend/src/features/studio/studio-page.tsx b/studio/frontend/src/features/studio/studio-page.tsx index 0a8d824545..6cdf5225ec 100644 --- a/studio/frontend/src/features/studio/studio-page.tsx +++ b/studio/frontend/src/features/studio/studio-page.tsx @@ -5,7 +5,8 @@ import { useTrainingRuntimeLifecycle, useTrainingRuntimeStore, } from "@/features/training"; -import { GuidedTour, studioTourSteps } from "@/features/tour"; +import { GuidedTour } from "@/features/tour"; +import { studioTourSteps } from "@/features/studio/tour"; import { ArrowLeft01Icon } from "@hugeicons/core-free-icons"; import { HugeiconsIcon } from "@hugeicons/react"; import { type ReactElement, useEffect, useState } from "react"; diff --git a/studio/frontend/src/features/studio/tour/index.ts b/studio/frontend/src/features/studio/tour/index.ts new file mode 100644 index 0000000000..fed077f0bb --- /dev/null +++ b/studio/frontend/src/features/studio/tour/index.ts @@ -0,0 +1,2 @@ +export { studioTourSteps } from "./steps"; + diff --git a/studio/frontend/src/features/tour/steps/studio/base-model.tsx b/studio/frontend/src/features/studio/tour/steps/base-model.tsx similarity index 78% rename from studio/frontend/src/features/tour/steps/studio/base-model.tsx rename to studio/frontend/src/features/studio/tour/steps/base-model.tsx index c22672b27e..5dfdc71b8c 100644 --- a/studio/frontend/src/features/tour/steps/studio/base-model.tsx +++ b/studio/frontend/src/features/studio/tour/steps/base-model.tsx @@ -1,5 +1,4 @@ -import type { TourStep } from "@/features/tour"; -import { ReadMore } from "../read-more"; +import { ReadMore, type TourStep } from "@/features/tour"; export const studioBaseModelStep: TourStep = { id: "base-model", @@ -12,4 +11,3 @@ export const studioBaseModelStep: TourStep = { ), }; - diff --git a/studio/frontend/src/features/tour/steps/studio/dataset.tsx b/studio/frontend/src/features/studio/tour/steps/dataset.tsx similarity index 76% rename from studio/frontend/src/features/tour/steps/studio/dataset.tsx rename to studio/frontend/src/features/studio/tour/steps/dataset.tsx index ef054ee975..95347430ef 100644 --- a/studio/frontend/src/features/tour/steps/studio/dataset.tsx +++ b/studio/frontend/src/features/studio/tour/steps/dataset.tsx @@ -1,5 +1,4 @@ -import type { TourStep } from "@/features/tour"; -import { ReadMore } from "../read-more"; +import { ReadMore, type TourStep } from "@/features/tour"; export const studioDatasetStep: TourStep = { id: "dataset", @@ -12,4 +11,3 @@ export const studioDatasetStep: TourStep = { ), }; - diff --git a/studio/frontend/src/features/tour/steps/studio/index.tsx b/studio/frontend/src/features/studio/tour/steps/index.tsx similarity index 100% rename from studio/frontend/src/features/tour/steps/studio/index.tsx rename to studio/frontend/src/features/studio/tour/steps/index.tsx diff --git a/studio/frontend/src/features/tour/steps/studio/local-model.tsx b/studio/frontend/src/features/studio/tour/steps/local-model.tsx similarity index 78% rename from studio/frontend/src/features/tour/steps/studio/local-model.tsx rename to studio/frontend/src/features/studio/tour/steps/local-model.tsx index 576925ba5d..9dffdc653e 100644 --- a/studio/frontend/src/features/tour/steps/studio/local-model.tsx +++ b/studio/frontend/src/features/studio/tour/steps/local-model.tsx @@ -1,5 +1,4 @@ -import type { TourStep } from "@/features/tour"; -import { ReadMore } from "../read-more"; +import { ReadMore, type TourStep } from "@/features/tour"; export const studioLocalModelStep: TourStep = { id: "local-model", @@ -13,4 +12,3 @@ export const studioLocalModelStep: TourStep = { ), }; - diff --git a/studio/frontend/src/features/tour/steps/studio/method.tsx b/studio/frontend/src/features/studio/tour/steps/method.tsx similarity index 76% rename from studio/frontend/src/features/tour/steps/studio/method.tsx rename to studio/frontend/src/features/studio/tour/steps/method.tsx index 42f155c595..35a3b9c8a4 100644 --- a/studio/frontend/src/features/tour/steps/studio/method.tsx +++ b/studio/frontend/src/features/studio/tour/steps/method.tsx @@ -1,5 +1,4 @@ -import type { TourStep } from "@/features/tour"; -import { ReadMore } from "../read-more"; +import { ReadMore, type TourStep } from "@/features/tour"; export const studioMethodStep: TourStep = { id: "method", @@ -12,4 +11,3 @@ export const studioMethodStep: TourStep = { ), }; - diff --git a/studio/frontend/src/features/tour/steps/studio/nav.tsx b/studio/frontend/src/features/studio/tour/steps/nav.tsx similarity index 100% rename from studio/frontend/src/features/tour/steps/studio/nav.tsx rename to studio/frontend/src/features/studio/tour/steps/nav.tsx diff --git a/studio/frontend/src/features/tour/steps/studio/params.tsx b/studio/frontend/src/features/studio/tour/steps/params.tsx similarity index 73% rename from studio/frontend/src/features/tour/steps/studio/params.tsx rename to studio/frontend/src/features/studio/tour/steps/params.tsx index e63909fac6..d810c75bbd 100644 --- a/studio/frontend/src/features/tour/steps/studio/params.tsx +++ b/studio/frontend/src/features/studio/tour/steps/params.tsx @@ -1,5 +1,4 @@ -import type { TourStep } from "@/features/tour"; -import { ReadMore } from "../read-more"; +import { ReadMore, type TourStep } from "@/features/tour"; export const studioParamsStep: TourStep = { id: "params", @@ -12,4 +11,3 @@ export const studioParamsStep: TourStep = { ), }; - diff --git a/studio/frontend/src/features/tour/steps/studio/save.tsx b/studio/frontend/src/features/studio/tour/steps/save.tsx similarity index 100% rename from studio/frontend/src/features/tour/steps/studio/save.tsx rename to studio/frontend/src/features/studio/tour/steps/save.tsx diff --git a/studio/frontend/src/features/tour/steps/studio/start.tsx b/studio/frontend/src/features/studio/tour/steps/start.tsx similarity index 100% rename from studio/frontend/src/features/tour/steps/studio/start.tsx rename to studio/frontend/src/features/studio/tour/steps/start.tsx diff --git a/studio/frontend/src/features/tour/steps/read-more.tsx b/studio/frontend/src/features/tour/components/read-more.tsx similarity index 73% rename from studio/frontend/src/features/tour/steps/read-more.tsx rename to studio/frontend/src/features/tour/components/read-more.tsx index 1b9cf97810..42c40f26f7 100644 --- a/studio/frontend/src/features/tour/steps/read-more.tsx +++ b/studio/frontend/src/features/tour/components/read-more.tsx @@ -2,7 +2,9 @@ export function ReadMore({ href = "#" }: { href?: string }) { return ( e.preventDefault()} + onClick={(e) => { + if (href === "#") e.preventDefault(); + }} className="text-emerald-600 underline underline-offset-2 hover:text-emerald-700" > Read more diff --git a/studio/frontend/src/features/tour/index.ts b/studio/frontend/src/features/tour/index.ts index 720ccaf5eb..e6f10c9871 100644 --- a/studio/frontend/src/features/tour/index.ts +++ b/studio/frontend/src/features/tour/index.ts @@ -1,3 +1,3 @@ export { GuidedTour } from "./components/guided-tour"; +export { ReadMore } from "./components/read-more"; export type { TourStep } from "./types"; -export { studioTourSteps } from "./steps/studio";