Skip to content

Commit 77592c7

Browse files
committed
Refactor summary data
1 parent fc49438 commit 77592c7

File tree

4 files changed

+23
-51
lines changed

4 files changed

+23
-51
lines changed

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

Lines changed: 7 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,47 +1,12 @@
1-
import { useQuery } from "@tanstack/react-query"
2-
import {
3-
getTemplateVersion,
4-
getTemplateVersionResources,
5-
getTemplateVersions,
6-
getTemplateDAUs,
7-
} from "api/api"
81
import { useTemplateLayoutContext } from "components/TemplateLayout/TemplateLayout"
92
import { FC } from "react"
103
import { Helmet } from "react-helmet-async"
114
import { pageTitle } from "util/page"
5+
import { useTemplateSummaryData } from "./data"
126
import { TemplateSummaryPageView } from "./TemplateSummaryPageView"
137

14-
const fetchTemplateSummary = async (
15-
templateId: string,
16-
activeVersionId: string,
17-
) => {
18-
const [activeVersion, resources, versions, daus] = await Promise.all([
19-
getTemplateVersion(activeVersionId),
20-
getTemplateVersionResources(activeVersionId),
21-
getTemplateVersions(templateId),
22-
getTemplateDAUs(templateId),
23-
])
24-
25-
return {
26-
activeVersion,
27-
resources,
28-
versions,
29-
daus,
30-
}
31-
}
32-
33-
const useTemplateSummaryData = (
34-
templateId: string,
35-
activeVersionId: string,
36-
) => {
37-
return useQuery({
38-
queryKey: ["template", templateId, "summary"],
39-
queryFn: () => fetchTemplateSummary(templateId, activeVersionId),
40-
})
41-
}
42-
438
export const TemplateSummaryPage: FC = () => {
44-
const { template } = useTemplateLayoutContext()
9+
const { template, activeVersion } = useTemplateLayoutContext()
4510
const { data } = useTemplateSummaryData(
4611
template.id,
4712
template.active_version_id,
@@ -60,7 +25,11 @@ export const TemplateSummaryPage: FC = () => {
6025
)}
6126
</title>
6227
</Helmet>
63-
<TemplateSummaryPageView data={data} template={template} />
28+
<TemplateSummaryPageView
29+
data={data}
30+
template={template}
31+
activeVersion={activeVersion}
32+
/>
6433
</>
6534
)
6635
}

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

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@ const Template: Story<TemplateSummaryPageViewProps> = (args) => (
1717
export const Example = Template.bind({})
1818
Example.args = {
1919
template: Mocks.MockTemplate,
20+
activeVersion: Mocks.MockTemplateVersion,
2021
data: {
21-
activeVersion: Mocks.MockTemplateVersion,
2222
resources: [Mocks.MockWorkspaceResource, Mocks.MockWorkspaceResource2],
2323
versions: [Mocks.MockTemplateVersion],
2424
daus: Mocks.MockTemplateDAUResponse,
@@ -28,8 +28,8 @@ Example.args = {
2828
export const NoIcon = Template.bind({})
2929
NoIcon.args = {
3030
template: { ...Mocks.MockTemplate, icon: "" },
31+
activeVersion: Mocks.MockTemplateVersion,
3132
data: {
32-
activeVersion: Mocks.MockTemplateVersion,
3333
resources: [Mocks.MockWorkspaceResource, Mocks.MockWorkspaceResource2],
3434
versions: [Mocks.MockTemplateVersion],
3535
daus: Mocks.MockTemplateDAUResponse,
@@ -39,10 +39,9 @@ NoIcon.args = {
3939
export const SmallViewport = Template.bind({})
4040
SmallViewport.args = {
4141
template: Mocks.MockTemplate,
42-
data: {
43-
activeVersion: {
44-
...Mocks.MockTemplateVersion,
45-
readme: `---
42+
activeVersion: {
43+
...Mocks.MockTemplateVersion,
44+
readme: `---
4645
name:Template test
4746
---
4847
## Instructions
@@ -53,7 +52,8 @@ SmallViewport.args = {
5352
# This is a really long sentence to test that the code block wraps into a new line properly.
5453
\`\`\`
5554
`,
56-
},
55+
},
56+
data: {
5757
resources: [Mocks.MockWorkspaceResource, Mocks.MockWorkspaceResource2],
5858
versions: [Mocks.MockTemplateVersion],
5959
daus: Mocks.MockTemplateDAUResponse,

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

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
import { makeStyles } from "@material-ui/core/styles"
2-
import { Template, WorkspaceResource } from "api/typesGenerated"
2+
import {
3+
Template,
4+
TemplateVersion,
5+
WorkspaceResource,
6+
} from "api/typesGenerated"
37
import { Loader } from "components/Loader/Loader"
48
import { MemoizedMarkdown } from "components/Markdown/Markdown"
59
import { Stack } from "components/Stack/Stack"
@@ -14,19 +18,21 @@ import { TemplateSummaryData } from "./data"
1418
export interface TemplateSummaryPageViewProps {
1519
data?: TemplateSummaryData
1620
template: Template
21+
activeVersion: TemplateVersion
1722
}
1823

1924
export const TemplateSummaryPageView: FC<TemplateSummaryPageViewProps> = ({
2025
data,
2126
template,
27+
activeVersion,
2228
}) => {
2329
const styles = useStyles()
2430

2531
if (!data) {
2632
return <Loader />
2733
}
2834

29-
const { activeVersion, daus, resources, versions } = data
35+
const { daus, resources, versions } = data
3036
const readme = frontMatter(activeVersion.readme)
3137

3238
const getStartedResources = (resources: WorkspaceResource[]) => {

site/src/pages/TemplatePage/TemplateSummaryPage/data.ts

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import { useQuery } from "@tanstack/react-query"
22
import {
3-
getTemplateVersion,
43
getTemplateVersionResources,
54
getTemplateVersions,
65
getTemplateDAUs,
@@ -10,15 +9,13 @@ const fetchTemplateSummary = async (
109
templateId: string,
1110
activeVersionId: string,
1211
) => {
13-
const [activeVersion, resources, versions, daus] = await Promise.all([
14-
getTemplateVersion(activeVersionId),
12+
const [resources, versions, daus] = await Promise.all([
1513
getTemplateVersionResources(activeVersionId),
1614
getTemplateVersions(templateId),
1715
getTemplateDAUs(templateId),
1816
])
1917

2018
return {
21-
activeVersion,
2219
resources,
2320
versions,
2421
daus,

0 commit comments

Comments
 (0)