Skip to content

Commit 70ea678

Browse files
authored
chore: make the template docs view the default (#17606)
1 parent 67e1ab4 commit 70ea678

File tree

9 files changed

+54
-74
lines changed

9 files changed

+54
-74
lines changed

site/src/pages/TemplatePage/TemplateLayout.tsx

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import {
2020
import { useQuery } from "react-query";
2121
import { Outlet, useLocation, useNavigate, useParams } from "react-router-dom";
2222
import { TemplatePageHeader } from "./TemplatePageHeader";
23+
import { TemplateStats } from "./TemplateStats";
2324

2425
const templatePermissions = (
2526
templateId: string,
@@ -132,9 +133,6 @@ export const TemplateLayout: FC<PropsWithChildren> = ({
132133
<Tabs active={activeTab} className="mb-10 -mt-3">
133134
<Margins>
134135
<TabsList>
135-
<TabLink to="" value="summary">
136-
Summary
137-
</TabLink>
138136
<TabLink to="docs" value="docs">
139137
Docs
140138
</TabLink>
@@ -143,6 +141,9 @@ export const TemplateLayout: FC<PropsWithChildren> = ({
143141
Source Code
144142
</TabLink>
145143
)}
144+
<TabLink to="resources" value="resources">
145+
Resources
146+
</TabLink>
146147
<TabLink to="versions" value="versions">
147148
Versions
148149
</TabLink>

site/src/pages/TemplatePage/TemplatePageHeader.tsx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ import type { WorkspacePermissions } from "modules/permissions/workspaces";
3535
import type { FC } from "react";
3636
import { useQuery } from "react-query";
3737
import { Link as RouterLink, useNavigate } from "react-router-dom";
38+
import { TemplateStats } from "./TemplateStats";
3839
import { useDeletionDialogState } from "./useDeletionDialogState";
3940

4041
type TemplateMenuProps = {
@@ -238,6 +239,9 @@ export const TemplatePageHeader: FC<TemplatePageHeaderProps> = ({
238239
</div>
239240
</Stack>
240241
</PageHeader>
242+
<div className="pb-8">
243+
<TemplateStats template={template} activeVersion={activeVersion} />
244+
</div>
241245
</Margins>
242246
);
243247
};

site/src/pages/TemplatePage/TemplateSummaryPage/TemplateSummaryPage.tsx renamed to site/src/pages/TemplatePage/TemplateResourcesPage/TemplateResourcesPage.tsx

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@ import type { FC } from "react";
44
import { Helmet } from "react-helmet-async";
55
import { useQuery } from "react-query";
66
import { getTemplatePageTitle } from "../utils";
7-
import { TemplateSummaryPageView } from "./TemplateSummaryPageView";
7+
import { TemplateResourcesPageView } from "./TemplateResourcesPageView";
88

9-
export const TemplateSummaryPage: FC = () => {
9+
export const TemplateResourcesPage: FC = () => {
1010
const { template, activeVersion } = useTemplateLayoutContext();
1111
const { data: resources } = useQuery({
1212
queryKey: ["templates", template.id, "resources"],
@@ -18,13 +18,9 @@ export const TemplateSummaryPage: FC = () => {
1818
<Helmet>
1919
<title>{getTemplatePageTitle("Template", template)}</title>
2020
</Helmet>
21-
<TemplateSummaryPageView
22-
resources={resources}
23-
template={template}
24-
activeVersion={activeVersion}
25-
/>
21+
<TemplateResourcesPageView resources={resources} template={template} />
2622
</>
2723
);
2824
};
2925

30-
export default TemplateSummaryPage;
26+
export default TemplateResourcesPage;
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,29 @@
11
import type { Meta, StoryObj } from "@storybook/react";
22
import {
33
MockTemplate,
4-
MockTemplateVersion,
54
MockWorkspaceResource,
65
MockWorkspaceVolumeResource,
76
} from "testHelpers/entities";
8-
import { TemplateSummaryPageView } from "./TemplateSummaryPageView";
7+
import { TemplateResourcesPageView } from "./TemplateResourcesPageView";
98

10-
const meta: Meta<typeof TemplateSummaryPageView> = {
11-
title: "pages/TemplatePage/TemplateSummaryPageView",
12-
component: TemplateSummaryPageView,
9+
const meta: Meta<typeof TemplateResourcesPageView> = {
10+
title: "pages/TemplatePage/TemplateResourcesPageView",
11+
component: TemplateResourcesPageView,
1312
};
1413

1514
export default meta;
16-
type Story = StoryObj<typeof TemplateSummaryPageView>;
15+
type Story = StoryObj<typeof TemplateResourcesPageView>;
1716

1817
export const Example: Story = {
1918
args: {
2019
template: MockTemplate,
21-
activeVersion: MockTemplateVersion,
2220
resources: [MockWorkspaceResource, MockWorkspaceVolumeResource],
2321
},
2422
};
2523

2624
export const NoIcon: Story = {
2725
args: {
2826
template: { ...MockTemplate, icon: "" },
29-
activeVersion: MockTemplateVersion,
3027
resources: [MockWorkspaceResource, MockWorkspaceVolumeResource],
3128
},
3229
};
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
import type { Template, WorkspaceResource } from "api/typesGenerated";
2+
import { Loader } from "components/Loader/Loader";
3+
import { TemplateResourcesTable } from "modules/templates/TemplateResourcesTable/TemplateResourcesTable";
4+
import type { FC } from "react";
5+
import { Navigate, useLocation } from "react-router-dom";
6+
7+
export interface TemplateResourcesPageViewProps {
8+
resources?: WorkspaceResource[];
9+
template: Template;
10+
}
11+
12+
export const TemplateResourcesPageView: FC<TemplateResourcesPageViewProps> = ({
13+
resources,
14+
}) => {
15+
const location = useLocation();
16+
17+
if (location.hash === "#readme") {
18+
return <Navigate to="docs" replace />;
19+
}
20+
21+
if (!resources) {
22+
return <Loader />;
23+
}
24+
25+
const getStartedResources = (resources: WorkspaceResource[]) => {
26+
return resources.filter(
27+
(resource) => resource.workspace_transition === "start",
28+
);
29+
};
30+
31+
return <TemplateResourcesTable resources={getStartedResources(resources)} />;
32+
};

site/src/pages/TemplatePage/TemplateSummaryPage/TemplateSummaryPageView.tsx

Lines changed: 0 additions & 52 deletions
This file was deleted.

site/src/router.tsx

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -92,8 +92,9 @@ const TemplatePermissionsPage = lazy(
9292
"./pages/TemplateSettingsPage/TemplatePermissionsPage/TemplatePermissionsPage"
9393
),
9494
);
95-
const TemplateSummaryPage = lazy(
96-
() => import("./pages/TemplatePage/TemplateSummaryPage/TemplateSummaryPage"),
95+
const TemplateResourcesPage = lazy(
96+
() =>
97+
import("./pages/TemplatePage/TemplateResourcesPage/TemplateResourcesPage"),
9798
);
9899
const CreateWorkspaceExperimentRouter = lazy(
99100
() => import("./pages/CreateWorkspacePage/CreateWorkspaceExperimentRouter"),
@@ -329,9 +330,10 @@ const templateRouter = () => {
329330
<Route path=":template">
330331
<Route element={<TemplateRedirectController />}>
331332
<Route element={<TemplateLayout />}>
332-
<Route index element={<TemplateSummaryPage />} />
333+
<Route index element={<Navigate to="docs" replace />} />
333334
<Route path="docs" element={<TemplateDocsPage />} />
334335
<Route path="files" element={<TemplateFilesPage />} />
336+
<Route path="resources" element={<TemplateResourcesPage />} />
335337
<Route path="versions" element={<TemplateVersionsPage />} />
336338
<Route path="embed" element={<TemplateEmbedPage />} />
337339
<Route path="insights" element={<TemplateInsightsPage />} />

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy