Skip to content

Commit cdef7ed

Browse files
feat: product tour (#578)
1 parent 595d942 commit cdef7ed

File tree

23 files changed

+517
-8
lines changed

23 files changed

+517
-8
lines changed

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
"react": "^18.2.0",
3838
"react-dom": "^18.2.0",
3939
"react-hook-form": "^7.51.1",
40+
"react-joyride": "^2.8.1",
4041
"react-markdown": "^9.0.1",
4142
"react-router-dom": "^6.22.3",
4243
"reactflow": "^11.11.0",

pnpm-lock.yaml

Lines changed: 120 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/App.tsx

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,20 @@ import "reactflow/dist/style.css";
77
import { AuthProvider } from "./context/AuthContext";
88
import { router } from "./router/Router";
99
import { queryClient } from "./router/queryclient";
10+
import { TourProvider } from "./components/tour/TourContext";
1011

1112
export function App() {
1213
return (
1314
<Suspense>
1415
<AuthProvider>
1516
<ReactFlowProvider>
16-
<QueryClientProvider client={queryClient}>
17-
<Toaster />
18-
<RouterProvider router={router} />
19-
</QueryClientProvider>
17+
<TourProvider>
18+
<QueryClientProvider client={queryClient}>
19+
<Toaster />
20+
21+
<RouterProvider router={router} />
22+
</QueryClientProvider>
23+
</TourProvider>
2024
</ReactFlowProvider>
2125
</AuthProvider>
2226
</Suspense>

src/app/artifacts/page.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { PageHeader } from "@/components/PageHeader";
22
import { Badge } from "@zenml-io/react-component-library";
33
import { CommandSection, InfoBox } from "./Fragments";
44
import { CTASection, artifactFeatures } from "@/contents/cloud-only";
5-
import ACP from "@/assets/images/acp.png";
5+
import ACP from "@/assets/images/acp.webp";
66

77
export default function ModelsPage() {
88
return (

src/app/models/page.tsx

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,22 @@ import { PageHeader } from "@/components/PageHeader";
22
import { Badge } from "@zenml-io/react-component-library";
33
import { CommandSection, InfoBox } from "./Fragments";
44
import { CTASection, modelFeatures } from "@/contents/cloud-only";
5-
import MCP from "@/assets/images/mcp.png";
5+
import MCP from "@/assets/images/mcp.webp";
6+
import { useTourContext } from "@/components/tour/TourContext";
7+
import { useEffect } from "react";
68

79
export default function ModelsPage() {
10+
const {
11+
setTourState,
12+
tourState: { tourActive }
13+
} = useTourContext();
14+
15+
useEffect(() => {
16+
if (tourActive) {
17+
setTourState((prev) => ({ ...prev, run: true, stepIndex: prev.stepIndex }));
18+
}
19+
}, [tourActive]);
20+
821
return (
922
<div>
1023
<PageHeader className="flex items-center gap-1">

src/app/onboarding/page.tsx

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,21 @@ import { FallbackSupportCard, ResourcesCard } from "@/components/fallback-pages/
22
import { HeaderOnboardingBox } from "./Header";
33
import { ProductionSetupChecklist } from "./ProductionSetup";
44
import { StarterSetupList } from "./StarterSetup";
5+
import { useTourContext } from "@/components/tour/TourContext";
6+
import { useEffect } from "react";
57

68
export default function OnboardingPage() {
9+
const {
10+
setTourState,
11+
tourState: { tourActive }
12+
} = useTourContext();
13+
14+
useEffect(() => {
15+
if (tourActive) {
16+
setTourState((prev) => ({ ...prev, run: true, stepIndex: prev.stepIndex }));
17+
}
18+
}, [tourActive]);
19+
720
return (
821
<div className="layout-container grid grid-cols-4 gap-5 py-5">
922
<div className="col-span-4 space-y-5 lg:col-span-3">

src/app/settings/VersionDisplay.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ export function VersionDisplay() {
1313
<ZenMLIcon className="h-4 w-4 fill-theme-text-brand" />
1414
<p className="ml-2 text-text-sm font-semibold">Open source</p>
1515
</div>
16-
{/* TODO get this from server info */}
1716
<p className="mb-1 text-text-sm text-theme-text-tertiary">ZenML v{data.version}</p>
1817
<p className="text-text-sm text-theme-text-tertiary">
1918
UI Version {import.meta.env.VITE_FRONTEND_VERSION}

src/app/stacks/page.tsx

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,21 @@ import { FallbackSupportCard, ResourcesCard } from "@/components/fallback-pages/
22
import { HeaderBox, InfoBox, StacksHeader } from "./Fragments";
33
import { StackCollapsible } from "./StackCollapsible";
44
import { StackComponentCollapsible } from "./StackComponentsCollapsible";
5+
import { useTourContext } from "@/components/tour/TourContext";
6+
import { useEffect } from "react";
57

68
export default function StacksPage() {
9+
const {
10+
setTourState,
11+
tourState: { tourActive }
12+
} = useTourContext();
13+
14+
useEffect(() => {
15+
if (tourActive) {
16+
setTourState((prev) => ({ ...prev, run: true, stepIndex: prev.stepIndex }));
17+
}
18+
}, [tourActive]);
19+
720
return (
821
<div>
922
<StacksHeader />

src/assets/icons/close.svg

Lines changed: 4 additions & 0 deletions
Loading

src/assets/images/acp.png

-305 KB
Binary file not shown.

0 commit comments

Comments
 (0)