From 763147e5f25969e5e1639704d6fa2312da6c2100 Mon Sep 17 00:00:00 2001 From: Joe Previte Date: Fri, 6 Jan 2023 10:14:01 -0700 Subject: [PATCH] feat: add storybook for /deployment/network (#5603) * refactor: move NetworkSettingsPage to dir * refactor: split page/view NetworkSettings * feat: add storybook for NetworkSettingsPage --- site/src/AppRouter.tsx | 5 +- .../NetworkSettingsPage.tsx | 36 ------------- .../NetworkSettingsPage.tsx | 21 ++++++++ .../NetworkSettingsPageView.stories.tsx | 50 +++++++++++++++++++ .../NetworkSettingsPageView.tsx | 28 +++++++++++ 5 files changed, 103 insertions(+), 37 deletions(-) delete mode 100644 site/src/pages/DeploySettingsPage/NetworkSettingsPage.tsx create mode 100644 site/src/pages/DeploySettingsPage/NetworkSettingsPage/NetworkSettingsPage.tsx create mode 100644 site/src/pages/DeploySettingsPage/NetworkSettingsPage/NetworkSettingsPageView.stories.tsx create mode 100644 site/src/pages/DeploySettingsPage/NetworkSettingsPage/NetworkSettingsPageView.tsx diff --git a/site/src/AppRouter.tsx b/site/src/AppRouter.tsx index 99cbbb960b..28a3ca2381 100644 --- a/site/src/AppRouter.tsx +++ b/site/src/AppRouter.tsx @@ -95,7 +95,10 @@ const GitAuthSettingsPage = lazy( ), ) const NetworkSettingsPage = lazy( - () => import("./pages/DeploySettingsPage/NetworkSettingsPage"), + () => + import( + "./pages/DeploySettingsPage/NetworkSettingsPage/NetworkSettingsPage" + ), ) const GitAuthPage = lazy(() => import("./pages/GitAuthPage/GitAuthPage")) const TemplateVersionPage = lazy( diff --git a/site/src/pages/DeploySettingsPage/NetworkSettingsPage.tsx b/site/src/pages/DeploySettingsPage/NetworkSettingsPage.tsx deleted file mode 100644 index 79f354ae6e..0000000000 --- a/site/src/pages/DeploySettingsPage/NetworkSettingsPage.tsx +++ /dev/null @@ -1,36 +0,0 @@ -import { useDeploySettings } from "components/DeploySettingsLayout/DeploySettingsLayout" -import { Header } from "components/DeploySettingsLayout/Header" -import OptionsTable from "components/DeploySettingsLayout/OptionsTable" -import React from "react" -import { Helmet } from "react-helmet-async" -import { pageTitle } from "util/page" - -const NetworkSettingsPage: React.FC = () => { - const { deploymentConfig: deploymentConfig } = useDeploySettings() - - return ( - <> - - {pageTitle("Network Settings")} - - -
- - - - ) -} - -export default NetworkSettingsPage diff --git a/site/src/pages/DeploySettingsPage/NetworkSettingsPage/NetworkSettingsPage.tsx b/site/src/pages/DeploySettingsPage/NetworkSettingsPage/NetworkSettingsPage.tsx new file mode 100644 index 0000000000..ac60b4ff76 --- /dev/null +++ b/site/src/pages/DeploySettingsPage/NetworkSettingsPage/NetworkSettingsPage.tsx @@ -0,0 +1,21 @@ +import { useDeploySettings } from "components/DeploySettingsLayout/DeploySettingsLayout" +import React from "react" +import { Helmet } from "react-helmet-async" +import { pageTitle } from "util/page" +import { NetworkSettingsPageView } from "./NetworkSettingsPageView" + +const NetworkSettingsPage: React.FC = () => { + const { deploymentConfig: deploymentConfig } = useDeploySettings() + + return ( + <> + + {pageTitle("Network Settings")} + + + + + ) +} + +export default NetworkSettingsPage diff --git a/site/src/pages/DeploySettingsPage/NetworkSettingsPage/NetworkSettingsPageView.stories.tsx b/site/src/pages/DeploySettingsPage/NetworkSettingsPage/NetworkSettingsPageView.stories.tsx new file mode 100644 index 0000000000..5d6d78990c --- /dev/null +++ b/site/src/pages/DeploySettingsPage/NetworkSettingsPage/NetworkSettingsPageView.stories.tsx @@ -0,0 +1,50 @@ +import { ComponentMeta, Story } from "@storybook/react" +import { + NetworkSettingsPageView, + NetworkSettingsPageViewProps, +} from "./NetworkSettingsPageView" + +export default { + title: "pages/NetworkSettingsPageView", + component: NetworkSettingsPageView, + argTypes: { + deploymentConfig: { + defaultValue: { + derp: { + server: { + enable: { + name: "DERP Server Enable", + usage: + "Whether to enable or disable the embedded DERP relay server.", + value: true, + }, + region_name: { + name: "DERP Server Region Name", + usage: "Region name that for the embedded DERP server.", + value: "aws-east", + }, + stun_addresses: { + name: "DERP Server STUN Addresses", + usage: + "Addresses for STUN servers to establish P2P connections. Set empty to disable P2P connections.", + value: ["stun.l.google.com:19302", "stun.l.google.com:19301"], + }, + }, + config: { + url: { + name: "DERP Config URL", + usage: + "URL to fetch a DERP mapping on startup. See: https://tailscale.com/kb/1118/custom-derp-servers/", + value: "https://coder.com", + }, + }, + }, + }, + }, + }, +} as ComponentMeta + +const Template: Story = (args) => ( + +) +export const Page = Template.bind({}) diff --git a/site/src/pages/DeploySettingsPage/NetworkSettingsPage/NetworkSettingsPageView.tsx b/site/src/pages/DeploySettingsPage/NetworkSettingsPage/NetworkSettingsPageView.tsx new file mode 100644 index 0000000000..13ec4dde6b --- /dev/null +++ b/site/src/pages/DeploySettingsPage/NetworkSettingsPage/NetworkSettingsPageView.tsx @@ -0,0 +1,28 @@ +import { DeploymentConfig } from "api/typesGenerated" +import { Header } from "components/DeploySettingsLayout/Header" +import OptionsTable from "components/DeploySettingsLayout/OptionsTable" + +export type NetworkSettingsPageViewProps = { + deploymentConfig: Pick +} + +export const NetworkSettingsPageView = ({ + deploymentConfig, +}: NetworkSettingsPageViewProps): JSX.Element => ( + <> +
+ + + +)