diff --git a/site/e2e/tests/users/createUserWithPassword.spec.ts b/site/e2e/tests/users/createUserWithPassword.spec.ts index 67f3ca92e9810..85a3e47ccd87f 100644 --- a/site/e2e/tests/users/createUserWithPassword.spec.ts +++ b/site/e2e/tests/users/createUserWithPassword.spec.ts @@ -5,7 +5,9 @@ import { beforeCoderTest } from "../../hooks"; test.beforeEach(async ({ page }) => await beforeCoderTest(page)); test("create user with password", async ({ page, baseURL }) => { - await page.goto(`${baseURL}/users`, { waitUntil: "domcontentloaded" }); + await page.goto(`${baseURL}/deployment/users`, { + waitUntil: "domcontentloaded", + }); await expect(page).toHaveTitle("Users - Coder"); await page.getByRole("button", { name: "Create user" }).click(); @@ -37,7 +39,9 @@ test("create user with password", async ({ page, baseURL }) => { }); test("create user without full name is optional", async ({ page, baseURL }) => { - await page.goto(`${baseURL}/users`, { waitUntil: "domcontentloaded" }); + await page.goto(`${baseURL}/deployment/users`, { + waitUntil: "domcontentloaded", + }); await expect(page).toHaveTitle("Users - Coder"); await page.getByRole("button", { name: "Create user" }).click(); diff --git a/site/src/modules/dashboard/Navbar/DeploymentDropdown.tsx b/site/src/modules/dashboard/Navbar/DeploymentDropdown.tsx index 3d1bee7365ba5..ec55c2ac3728a 100644 --- a/site/src/modules/dashboard/Navbar/DeploymentDropdown.tsx +++ b/site/src/modules/dashboard/Navbar/DeploymentDropdown.tsx @@ -114,7 +114,7 @@ const DeploymentDropdownContent: FC = ({ {canViewAllUsers && ( diff --git a/site/src/pages/ManagementSettingsPage/ManagementSettingsLayout.tsx b/site/src/modules/management/ManagementSettingsLayout.tsx similarity index 53% rename from site/src/pages/ManagementSettingsPage/ManagementSettingsLayout.tsx rename to site/src/modules/management/ManagementSettingsLayout.tsx index 4a74417e86a65..b9fcbc0936e4b 100644 --- a/site/src/pages/ManagementSettingsPage/ManagementSettingsLayout.tsx +++ b/site/src/modules/management/ManagementSettingsLayout.tsx @@ -1,24 +1,37 @@ +import type { DeploymentConfig } from "api/api"; import { deploymentConfig } from "api/queries/deployment"; import type { AuthorizationResponse, Organization } from "api/typesGenerated"; +import { ErrorAlert } from "components/Alert/ErrorAlert"; import { Loader } from "components/Loader/Loader"; import { Margins } from "components/Margins/Margins"; import { Stack } from "components/Stack/Stack"; import { useAuthenticated } from "contexts/auth/RequireAuth"; import { RequirePermission } from "contexts/auth/RequirePermission"; import { useDashboard } from "modules/dashboard/useDashboard"; -import { type FC, Suspense } from "react"; +import { type FC, Suspense, createContext, useContext } from "react"; import { useQuery } from "react-query"; -import { Outlet } from "react-router-dom"; -import { DeploySettingsContext } from "../DeploySettingsPage/DeploySettingsLayout"; +import { Outlet, useParams } from "react-router-dom"; import { Sidebar } from "./Sidebar"; -type OrganizationSettingsValue = Readonly<{ +export const ManagementSettingsContext = createContext< + ManagementSettingsValue | undefined +>(undefined); + +type ManagementSettingsValue = Readonly<{ + deploymentValues: DeploymentConfig; organizations: readonly Organization[]; + organization?: Organization; }>; -export const useOrganizationSettings = (): OrganizationSettingsValue => { - const { organizations } = useDashboard(); - return { organizations }; +export const useManagementSettings = (): ManagementSettingsValue => { + const context = useContext(ManagementSettingsContext); + if (!context) { + throw new Error( + "useManagementSettings should be used inside of ManagementSettingsLayout", + ); + } + + return context; }; /** @@ -43,13 +56,11 @@ export const canEditOrganization = ( */ export const ManagementSettingsLayout: FC = () => { const { permissions } = useAuthenticated(); - const deploymentConfigQuery = useQuery( - // TODO: This is probably normally fine because we will not show links to - // pages that need this data, but if you manually visit the page you - // will see an endless loader when maybe we should show a "permission - // denied" error or at least a 404 instead. - permissions.viewDeploymentValues ? deploymentConfig() : { enabled: false }, - ); + const deploymentConfigQuery = useQuery(deploymentConfig()); + const { organizations } = useDashboard(); + const { organization: orgName } = useParams() as { + organization?: string; + }; // The deployment settings page also contains users, audit logs, groups and // organizations, so this page must be visible if you can see any of these. @@ -59,24 +70,39 @@ export const ManagementSettingsLayout: FC = () => { permissions.editAnyOrganization || permissions.viewAnyAuditLog; + if (deploymentConfigQuery.error) { + return ; + } + + if (!deploymentConfigQuery.data) { + return ; + } + + const organization = + organizations && orgName + ? organizations.find((org) => org.name === orgName) + : undefined; + return ( - - - -
- + + + + +
}> - -
-
-
+
+
+
+
); }; diff --git a/site/src/pages/ManagementSettingsPage/Sidebar.tsx b/site/src/modules/management/Sidebar.tsx similarity index 91% rename from site/src/pages/ManagementSettingsPage/Sidebar.tsx rename to site/src/modules/management/Sidebar.tsx index 05c2d7fea30dc..a2560fe5d6515 100644 --- a/site/src/pages/ManagementSettingsPage/Sidebar.tsx +++ b/site/src/modules/management/Sidebar.tsx @@ -1,13 +1,13 @@ import { organizationsPermissions } from "api/queries/organizations"; import { useAuthenticated } from "contexts/auth/RequireAuth"; import { useDashboard } from "modules/dashboard/useDashboard"; +import { + canEditOrganization, + useManagementSettings, +} from "modules/management/ManagementSettingsLayout"; import type { FC } from "react"; import { useQuery } from "react-query"; import { useLocation, useParams } from "react-router-dom"; -import { - canEditOrganization, - useOrganizationSettings, -} from "./ManagementSettingsLayout"; import { type OrganizationWithPermissions, SidebarView } from "./SidebarView"; /** @@ -20,8 +20,7 @@ import { type OrganizationWithPermissions, SidebarView } from "./SidebarView"; export const Sidebar: FC = () => { const location = useLocation(); const { permissions } = useAuthenticated(); - const { experiments } = useDashboard(); - const { organizations } = useOrganizationSettings(); + const { organizations } = useManagementSettings(); const { organization: organizationName } = useParams() as { organization?: string; }; @@ -56,7 +55,6 @@ export const Sidebar: FC = () => { activeOrganizationName={organizationName} organizations={editableOrgs} permissions={permissions} - experiments={experiments} /> ); }; diff --git a/site/src/pages/ManagementSettingsPage/SidebarView.stories.tsx b/site/src/modules/management/SidebarView.stories.tsx similarity index 95% rename from site/src/pages/ManagementSettingsPage/SidebarView.stories.tsx rename to site/src/modules/management/SidebarView.stories.tsx index ec1e75c1026f6..2ddcf7750bc8d 100644 --- a/site/src/pages/ManagementSettingsPage/SidebarView.stories.tsx +++ b/site/src/modules/management/SidebarView.stories.tsx @@ -8,9 +8,10 @@ import { withDashboardProvider } from "testHelpers/storybook"; import { SidebarView } from "./SidebarView"; const meta: Meta = { - title: "components/MultiOrgSidebarView", + title: "modules/management/SidebarView", component: SidebarView, decorators: [withDashboardProvider], + parameters: { showOrganizations: true }, args: { activeSettings: true, activeOrganizationName: undefined, @@ -35,7 +36,6 @@ const meta: Meta = { }, ], permissions: MockPermissions, - experiments: ["notifications"], }, }; @@ -223,3 +223,9 @@ export const SelectedMultiOrgAdminAndUserAdmin: Story = { ], }, }; + +export const OrgsDisabled: Story = { + parameters: { + showOrganizations: false, + }, +}; diff --git a/site/src/pages/ManagementSettingsPage/SidebarView.tsx b/site/src/modules/management/SidebarView.tsx similarity index 86% rename from site/src/pages/ManagementSettingsPage/SidebarView.tsx rename to site/src/modules/management/SidebarView.tsx index 76874490e90e8..b4099a4dd7815 100644 --- a/site/src/pages/ManagementSettingsPage/SidebarView.tsx +++ b/site/src/modules/management/SidebarView.tsx @@ -31,8 +31,6 @@ interface SidebarProps { organizations: OrganizationWithPermissions[] | undefined; /** Site-wide permissions. */ permissions: AuthorizationResponse; - /** Active experiments */ - experiments: Experiments; } /** @@ -43,25 +41,29 @@ export const SidebarView: FC = ({ activeOrganizationName, organizations, permissions, - experiments, }) => { + const { showOrganizations } = useDashboard(); + // TODO: Do something nice to scroll to the active org. return ( -
-

Deployment

-
+ {showOrganizations && ( +
+

Deployment

+
+ )} - + {showOrganizations && ( + + )}
); }; @@ -71,8 +73,6 @@ interface DeploymentSettingsNavigationProps { active: boolean; /** Site-wide permissions. */ permissions: AuthorizationResponse; - /** Active experiments */ - experiments: Experiments; } /** @@ -85,7 +85,6 @@ interface DeploymentSettingsNavigationProps { const DeploymentSettingsNavigation: FC = ({ active, permissions, - experiments, }) => { return (
@@ -144,16 +143,14 @@ const DeploymentSettingsNavigation: FC = ({ )} {permissions.viewAllUsers && ( - - Users - + Users )} - - - Notifications - - - + + + Notifications + + + )}
@@ -387,49 +384,49 @@ const styles = { const classNames = { link: (css, theme) => css` - color: inherit; - display: block; - font-size: 14px; - text-decoration: none; - padding: 10px 12px 10px 16px; - border-radius: 4px; - transition: background-color 0.15s ease-in-out; - position: relative; - - &:hover { - background-color: ${theme.palette.action.hover}; - } - - border-left: 3px solid transparent; - `, + color: inherit; + display: block; + font-size: 14px; + text-decoration: none; + padding: 10px 12px 10px 16px; + border-radius: 4px; + transition: background-color 0.15s ease-in-out; + position: relative; + + &:hover { + background-color: ${theme.palette.action.hover}; + } + + border-left: 3px solid transparent; + `, activeLink: (css, theme) => css` - border-left-color: ${theme.palette.primary.main}; - border-top-left-radius: 0; - border-bottom-left-radius: 0; - `, + border-left-color: ${theme.palette.primary.main}; + border-top-left-radius: 0; + border-bottom-left-radius: 0; + `, subLink: (css, theme) => css` - color: ${theme.palette.text.secondary}; - text-decoration: none; - - display: block; - font-size: 13px; - margin-left: 44px; - padding: 4px 12px; - border-radius: 4px; - transition: background-color 0.15s ease-in-out; - margin-bottom: 1px; - position: relative; - - &:hover { - color: ${theme.palette.text.primary}; - background-color: ${theme.palette.action.hover}; - } - `, + color: ${theme.palette.text.secondary}; + text-decoration: none; + + display: block; + font-size: 13px; + margin-left: 44px; + padding: 4px 12px; + border-radius: 4px; + transition: background-color 0.15s ease-in-out; + margin-bottom: 1px; + position: relative; + + &:hover { + color: ${theme.palette.text.primary}; + background-color: ${theme.palette.action.hover}; + } + `, activeSubLink: (css, theme) => css` - color: ${theme.palette.text.primary}; - font-weight: 600; - `, + color: ${theme.palette.text.primary}; + font-weight: 600; + `, } satisfies Record; diff --git a/site/src/modules/navigation.ts b/site/src/modules/navigation.ts index b4b41d15212c1..ab089b04a0c5d 100644 --- a/site/src/modules/navigation.ts +++ b/site/src/modules/navigation.ts @@ -22,7 +22,7 @@ export function withFilter(path: string, filter: string) { export const linkToAuditing = "/audit"; -export const linkToUsers = withFilter("/users", "status:active"); +export const linkToUsers = withFilter("/deployment/users", "status:active"); export const linkToTemplate = (organizationName: string, templateName: string): LinkThunk => diff --git a/site/src/pages/DeploySettingsPage/DeploySettingsLayout.tsx b/site/src/pages/DeploySettingsPage/DeploySettingsLayout.tsx deleted file mode 100644 index 9d90e12a3c26f..0000000000000 --- a/site/src/pages/DeploySettingsPage/DeploySettingsLayout.tsx +++ /dev/null @@ -1,67 +0,0 @@ -import type { DeploymentConfig } from "api/api"; -import { deploymentConfig } from "api/queries/deployment"; -import { Loader } from "components/Loader/Loader"; -import { Margins } from "components/Margins/Margins"; -import { Stack } from "components/Stack/Stack"; -import { useAuthenticated } from "contexts/auth/RequireAuth"; -import { RequirePermission } from "contexts/auth/RequirePermission"; -import { useDashboard } from "modules/dashboard/useDashboard"; -import { ManagementSettingsLayout } from "pages/ManagementSettingsPage/ManagementSettingsLayout"; -import { type FC, Suspense, createContext, useContext } from "react"; -import { useQuery } from "react-query"; -import { Outlet } from "react-router-dom"; -import { Sidebar } from "./Sidebar"; - -type DeploySettingsContextValue = { - deploymentValues: DeploymentConfig | undefined; -}; - -export const DeploySettingsContext = createContext< - DeploySettingsContextValue | undefined ->(undefined); - -export const useDeploySettings = (): DeploySettingsContextValue => { - const context = useContext(DeploySettingsContext); - if (!context) { - throw new Error( - "useDeploySettings should be used inside of DeploySettingsContext or DeploySettingsLayout", - ); - } - return context; -}; - -export const DeploySettingsLayout: FC = () => { - const { showOrganizations } = useDashboard(); - - return showOrganizations ? ( - - ) : ( - - ); -}; - -const DeploySettingsLayoutInner: FC = () => { - const deploymentConfigQuery = useQuery(deploymentConfig()); - const { permissions } = useAuthenticated(); - - return ( - - - - -
- - }> - - - -
-
-
-
- ); -}; diff --git a/site/src/pages/DeploySettingsPage/Sidebar.tsx b/site/src/pages/DeploySettingsPage/Sidebar.tsx deleted file mode 100644 index 1f1172834a5fa..0000000000000 --- a/site/src/pages/DeploySettingsPage/Sidebar.tsx +++ /dev/null @@ -1,60 +0,0 @@ -import Brush from "@mui/icons-material/Brush"; -import HubOutlinedIcon from "@mui/icons-material/HubOutlined"; -import InsertChartIcon from "@mui/icons-material/InsertChart"; -import LaunchOutlined from "@mui/icons-material/LaunchOutlined"; -import LockRounded from "@mui/icons-material/LockOutlined"; -import NotificationsIcon from "@mui/icons-material/NotificationsNoneOutlined"; -import Globe from "@mui/icons-material/PublicOutlined"; -import ApprovalIcon from "@mui/icons-material/VerifiedUserOutlined"; -import VpnKeyOutlined from "@mui/icons-material/VpnKeyOutlined"; -import { FeatureStageBadge } from "components/FeatureStageBadge/FeatureStageBadge"; -import { GitIcon } from "components/Icons/GitIcon"; -import { - Sidebar as BaseSidebar, - SidebarNavItem, -} from "components/Sidebar/Sidebar"; -import { useDashboard } from "modules/dashboard/useDashboard"; -import type { FC } from "react"; - -export const Sidebar: FC = () => { - const { experiments } = useDashboard(); - - return ( - - - General - - - Licenses - - - Appearance - - - User Authentication - - - External Authentication - - {/* Not exposing this yet since token exchange is not finished yet. - - OAuth2 Applications - */} - - Network - - - Workspace Proxies - - - Security - - - Observability - - - Notifications - - - ); -}; diff --git a/site/src/pages/DeploySettingsPage/AppearanceSettingsPage/AnnouncementBannerDialog.stories.tsx b/site/src/pages/DeploymentSettingsPage/AppearanceSettingsPage/AnnouncementBannerDialog.stories.tsx similarity index 91% rename from site/src/pages/DeploySettingsPage/AppearanceSettingsPage/AnnouncementBannerDialog.stories.tsx rename to site/src/pages/DeploymentSettingsPage/AppearanceSettingsPage/AnnouncementBannerDialog.stories.tsx index 5d419ba46a7fd..619a20ec9d69c 100644 --- a/site/src/pages/DeploySettingsPage/AppearanceSettingsPage/AnnouncementBannerDialog.stories.tsx +++ b/site/src/pages/DeploymentSettingsPage/AppearanceSettingsPage/AnnouncementBannerDialog.stories.tsx @@ -3,7 +3,7 @@ import type { Meta, StoryObj } from "@storybook/react"; import { AnnouncementBannerDialog } from "./AnnouncementBannerDialog"; const meta: Meta = { - title: "pages/DeploySettingsPage/AnnouncementBannerDialog", + title: "pages/DeploymentSettingsPage/AnnouncementBannerDialog", component: AnnouncementBannerDialog, args: { banner: { diff --git a/site/src/pages/DeploySettingsPage/AppearanceSettingsPage/AnnouncementBannerDialog.tsx b/site/src/pages/DeploymentSettingsPage/AppearanceSettingsPage/AnnouncementBannerDialog.tsx similarity index 100% rename from site/src/pages/DeploySettingsPage/AppearanceSettingsPage/AnnouncementBannerDialog.tsx rename to site/src/pages/DeploymentSettingsPage/AppearanceSettingsPage/AnnouncementBannerDialog.tsx diff --git a/site/src/pages/DeploySettingsPage/AppearanceSettingsPage/AnnouncementBannerItem.tsx b/site/src/pages/DeploymentSettingsPage/AppearanceSettingsPage/AnnouncementBannerItem.tsx similarity index 100% rename from site/src/pages/DeploySettingsPage/AppearanceSettingsPage/AnnouncementBannerItem.tsx rename to site/src/pages/DeploymentSettingsPage/AppearanceSettingsPage/AnnouncementBannerItem.tsx diff --git a/site/src/pages/DeploySettingsPage/AppearanceSettingsPage/AnnouncementBannerSettings.tsx b/site/src/pages/DeploymentSettingsPage/AppearanceSettingsPage/AnnouncementBannerSettings.tsx similarity index 100% rename from site/src/pages/DeploySettingsPage/AppearanceSettingsPage/AnnouncementBannerSettings.tsx rename to site/src/pages/DeploymentSettingsPage/AppearanceSettingsPage/AnnouncementBannerSettings.tsx diff --git a/site/src/pages/DeploySettingsPage/AppearanceSettingsPage/AppearanceSettingsPage.tsx b/site/src/pages/DeploymentSettingsPage/AppearanceSettingsPage/AppearanceSettingsPage.tsx similarity index 100% rename from site/src/pages/DeploySettingsPage/AppearanceSettingsPage/AppearanceSettingsPage.tsx rename to site/src/pages/DeploymentSettingsPage/AppearanceSettingsPage/AppearanceSettingsPage.tsx diff --git a/site/src/pages/DeploySettingsPage/AppearanceSettingsPage/AppearanceSettingsPageView.stories.tsx b/site/src/pages/DeploymentSettingsPage/AppearanceSettingsPage/AppearanceSettingsPageView.stories.tsx similarity index 92% rename from site/src/pages/DeploySettingsPage/AppearanceSettingsPage/AppearanceSettingsPageView.stories.tsx rename to site/src/pages/DeploymentSettingsPage/AppearanceSettingsPage/AppearanceSettingsPageView.stories.tsx index 67a91e170a409..1670006dbf060 100644 --- a/site/src/pages/DeploySettingsPage/AppearanceSettingsPage/AppearanceSettingsPageView.stories.tsx +++ b/site/src/pages/DeploymentSettingsPage/AppearanceSettingsPage/AppearanceSettingsPageView.stories.tsx @@ -2,7 +2,7 @@ import type { Meta, StoryObj } from "@storybook/react"; import { AppearanceSettingsPageView } from "./AppearanceSettingsPageView"; const meta: Meta = { - title: "pages/DeploySettingsPage/AppearanceSettingsPageView", + title: "pages/DeploymentSettingsPage/AppearanceSettingsPageView", component: AppearanceSettingsPageView, args: { appearance: { diff --git a/site/src/pages/DeploySettingsPage/AppearanceSettingsPage/AppearanceSettingsPageView.tsx b/site/src/pages/DeploymentSettingsPage/AppearanceSettingsPage/AppearanceSettingsPageView.tsx similarity index 100% rename from site/src/pages/DeploySettingsPage/AppearanceSettingsPage/AppearanceSettingsPageView.tsx rename to site/src/pages/DeploymentSettingsPage/AppearanceSettingsPage/AppearanceSettingsPageView.tsx diff --git a/site/src/pages/DeploySettingsPage/ExternalAuthSettingsPage/ExternalAuthSettingsPage.tsx b/site/src/pages/DeploymentSettingsPage/ExternalAuthSettingsPage/ExternalAuthSettingsPage.tsx similarity index 80% rename from site/src/pages/DeploySettingsPage/ExternalAuthSettingsPage/ExternalAuthSettingsPage.tsx rename to site/src/pages/DeploymentSettingsPage/ExternalAuthSettingsPage/ExternalAuthSettingsPage.tsx index c2d54b441bf93..422cebc7edb93 100644 --- a/site/src/pages/DeploySettingsPage/ExternalAuthSettingsPage/ExternalAuthSettingsPage.tsx +++ b/site/src/pages/DeploymentSettingsPage/ExternalAuthSettingsPage/ExternalAuthSettingsPage.tsx @@ -1,12 +1,12 @@ import { Loader } from "components/Loader/Loader"; +import { useManagementSettings } from "modules/management/ManagementSettingsLayout"; import type { FC } from "react"; import { Helmet } from "react-helmet-async"; import { pageTitle } from "utils/page"; -import { useDeploySettings } from "../DeploySettingsLayout"; import { ExternalAuthSettingsPageView } from "./ExternalAuthSettingsPageView"; const ExternalAuthSettingsPage: FC = () => { - const { deploymentValues } = useDeploySettings(); + const { deploymentValues } = useManagementSettings(); return ( <> diff --git a/site/src/pages/DeploySettingsPage/ExternalAuthSettingsPage/ExternalAuthSettingsPageView.stories.tsx b/site/src/pages/DeploymentSettingsPage/ExternalAuthSettingsPage/ExternalAuthSettingsPageView.stories.tsx similarity index 92% rename from site/src/pages/DeploySettingsPage/ExternalAuthSettingsPage/ExternalAuthSettingsPageView.stories.tsx rename to site/src/pages/DeploymentSettingsPage/ExternalAuthSettingsPage/ExternalAuthSettingsPageView.stories.tsx index 3e553912c2094..38a74a8e735f4 100644 --- a/site/src/pages/DeploySettingsPage/ExternalAuthSettingsPage/ExternalAuthSettingsPageView.stories.tsx +++ b/site/src/pages/DeploymentSettingsPage/ExternalAuthSettingsPage/ExternalAuthSettingsPageView.stories.tsx @@ -2,7 +2,7 @@ import type { Meta, StoryObj } from "@storybook/react"; import { ExternalAuthSettingsPageView } from "./ExternalAuthSettingsPageView"; const meta: Meta = { - title: "pages/DeploySettingsPage/ExternalAuthSettingsPageView", + title: "pages/DeploymentSettingsPage/ExternalAuthSettingsPageView", component: ExternalAuthSettingsPageView, args: { config: { diff --git a/site/src/pages/DeploySettingsPage/ExternalAuthSettingsPage/ExternalAuthSettingsPageView.tsx b/site/src/pages/DeploymentSettingsPage/ExternalAuthSettingsPage/ExternalAuthSettingsPageView.tsx similarity index 100% rename from site/src/pages/DeploySettingsPage/ExternalAuthSettingsPage/ExternalAuthSettingsPageView.tsx rename to site/src/pages/DeploymentSettingsPage/ExternalAuthSettingsPage/ExternalAuthSettingsPageView.tsx diff --git a/site/src/pages/DeploySettingsPage/Fieldset.tsx b/site/src/pages/DeploymentSettingsPage/Fieldset.tsx similarity index 100% rename from site/src/pages/DeploySettingsPage/Fieldset.tsx rename to site/src/pages/DeploymentSettingsPage/Fieldset.tsx diff --git a/site/src/pages/DeploySettingsPage/GeneralSettingsPage/ChartSection.tsx b/site/src/pages/DeploymentSettingsPage/GeneralSettingsPage/ChartSection.tsx similarity index 100% rename from site/src/pages/DeploySettingsPage/GeneralSettingsPage/ChartSection.tsx rename to site/src/pages/DeploymentSettingsPage/GeneralSettingsPage/ChartSection.tsx diff --git a/site/src/pages/DeploySettingsPage/GeneralSettingsPage/GeneralSettingsPage.tsx b/site/src/pages/DeploymentSettingsPage/GeneralSettingsPage/GeneralSettingsPage.tsx similarity index 91% rename from site/src/pages/DeploySettingsPage/GeneralSettingsPage/GeneralSettingsPage.tsx rename to site/src/pages/DeploymentSettingsPage/GeneralSettingsPage/GeneralSettingsPage.tsx index 9565e7f88b00c..5d3879e195996 100644 --- a/site/src/pages/DeploySettingsPage/GeneralSettingsPage/GeneralSettingsPage.tsx +++ b/site/src/pages/DeploymentSettingsPage/GeneralSettingsPage/GeneralSettingsPage.tsx @@ -3,15 +3,15 @@ import { entitlements } from "api/queries/entitlements"; import { availableExperiments, experiments } from "api/queries/experiments"; import { Loader } from "components/Loader/Loader"; import { useEmbeddedMetadata } from "hooks/useEmbeddedMetadata"; +import { useManagementSettings } from "modules/management/ManagementSettingsLayout"; import type { FC } from "react"; import { Helmet } from "react-helmet-async"; import { useQuery } from "react-query"; import { pageTitle } from "utils/page"; -import { useDeploySettings } from "../DeploySettingsLayout"; import { GeneralSettingsPageView } from "./GeneralSettingsPageView"; const GeneralSettingsPage: FC = () => { - const { deploymentValues } = useDeploySettings(); + const { deploymentValues } = useManagementSettings(); const deploymentDAUsQuery = useQuery(deploymentDAUs()); const safeExperimentsQuery = useQuery(availableExperiments()); diff --git a/site/src/pages/DeploySettingsPage/GeneralSettingsPage/GeneralSettingsPageView.stories.tsx b/site/src/pages/DeploymentSettingsPage/GeneralSettingsPage/GeneralSettingsPageView.stories.tsx similarity index 98% rename from site/src/pages/DeploySettingsPage/GeneralSettingsPage/GeneralSettingsPageView.stories.tsx rename to site/src/pages/DeploymentSettingsPage/GeneralSettingsPage/GeneralSettingsPageView.stories.tsx index f28fe8af57a9d..6f09110e77a5e 100644 --- a/site/src/pages/DeploySettingsPage/GeneralSettingsPage/GeneralSettingsPageView.stories.tsx +++ b/site/src/pages/DeploymentSettingsPage/GeneralSettingsPage/GeneralSettingsPageView.stories.tsx @@ -7,7 +7,7 @@ import { import { GeneralSettingsPageView } from "./GeneralSettingsPageView"; const meta: Meta = { - title: "pages/DeploySettingsPage/GeneralSettingsPageView", + title: "pages/DeploymentSettingsPage/GeneralSettingsPageView", component: GeneralSettingsPageView, args: { deploymentOptions: [ diff --git a/site/src/pages/DeploySettingsPage/GeneralSettingsPage/GeneralSettingsPageView.tsx b/site/src/pages/DeploymentSettingsPage/GeneralSettingsPage/GeneralSettingsPageView.tsx similarity index 100% rename from site/src/pages/DeploySettingsPage/GeneralSettingsPage/GeneralSettingsPageView.tsx rename to site/src/pages/DeploymentSettingsPage/GeneralSettingsPage/GeneralSettingsPageView.tsx diff --git a/site/src/pages/DeploySettingsPage/LicensesSettingsPage/AddNewLicensePage.tsx b/site/src/pages/DeploymentSettingsPage/LicensesSettingsPage/AddNewLicensePage.tsx similarity index 100% rename from site/src/pages/DeploySettingsPage/LicensesSettingsPage/AddNewLicensePage.tsx rename to site/src/pages/DeploymentSettingsPage/LicensesSettingsPage/AddNewLicensePage.tsx diff --git a/site/src/pages/DeploySettingsPage/LicensesSettingsPage/AddNewLicensePageView.stories.tsx b/site/src/pages/DeploymentSettingsPage/LicensesSettingsPage/AddNewLicensePageView.stories.tsx similarity index 77% rename from site/src/pages/DeploySettingsPage/LicensesSettingsPage/AddNewLicensePageView.stories.tsx rename to site/src/pages/DeploymentSettingsPage/LicensesSettingsPage/AddNewLicensePageView.stories.tsx index 3484e9ee74d28..b3f2f5e00ec72 100644 --- a/site/src/pages/DeploySettingsPage/LicensesSettingsPage/AddNewLicensePageView.stories.tsx +++ b/site/src/pages/DeploymentSettingsPage/LicensesSettingsPage/AddNewLicensePageView.stories.tsx @@ -1,7 +1,7 @@ import { AddNewLicensePageView } from "./AddNewLicensePageView"; export default { - title: "pages/DeploySettingsPage/AddNewLicensePageView", + title: "pages/DeploymentSettingsPage/AddNewLicensePageView", component: AddNewLicensePageView, }; diff --git a/site/src/pages/DeploySettingsPage/LicensesSettingsPage/AddNewLicensePageView.tsx b/site/src/pages/DeploymentSettingsPage/LicensesSettingsPage/AddNewLicensePageView.tsx similarity index 100% rename from site/src/pages/DeploySettingsPage/LicensesSettingsPage/AddNewLicensePageView.tsx rename to site/src/pages/DeploymentSettingsPage/LicensesSettingsPage/AddNewLicensePageView.tsx diff --git a/site/src/pages/DeploySettingsPage/LicensesSettingsPage/DividerWithText.tsx b/site/src/pages/DeploymentSettingsPage/LicensesSettingsPage/DividerWithText.tsx similarity index 100% rename from site/src/pages/DeploySettingsPage/LicensesSettingsPage/DividerWithText.tsx rename to site/src/pages/DeploymentSettingsPage/LicensesSettingsPage/DividerWithText.tsx diff --git a/site/src/pages/DeploySettingsPage/LicensesSettingsPage/LicenseCard.test.tsx b/site/src/pages/DeploymentSettingsPage/LicensesSettingsPage/LicenseCard.test.tsx similarity index 100% rename from site/src/pages/DeploySettingsPage/LicensesSettingsPage/LicenseCard.test.tsx rename to site/src/pages/DeploymentSettingsPage/LicensesSettingsPage/LicenseCard.test.tsx diff --git a/site/src/pages/DeploySettingsPage/LicensesSettingsPage/LicenseCard.tsx b/site/src/pages/DeploymentSettingsPage/LicensesSettingsPage/LicenseCard.tsx similarity index 100% rename from site/src/pages/DeploySettingsPage/LicensesSettingsPage/LicenseCard.tsx rename to site/src/pages/DeploymentSettingsPage/LicensesSettingsPage/LicenseCard.tsx diff --git a/site/src/pages/DeploySettingsPage/LicensesSettingsPage/LicensesSettingsPage.tsx b/site/src/pages/DeploymentSettingsPage/LicensesSettingsPage/LicensesSettingsPage.tsx similarity index 100% rename from site/src/pages/DeploySettingsPage/LicensesSettingsPage/LicensesSettingsPage.tsx rename to site/src/pages/DeploymentSettingsPage/LicensesSettingsPage/LicensesSettingsPage.tsx diff --git a/site/src/pages/DeploySettingsPage/LicensesSettingsPage/LicensesSettingsPageView.stories.tsx b/site/src/pages/DeploymentSettingsPage/LicensesSettingsPage/LicensesSettingsPageView.stories.tsx similarity index 89% rename from site/src/pages/DeploySettingsPage/LicensesSettingsPage/LicensesSettingsPageView.stories.tsx rename to site/src/pages/DeploymentSettingsPage/LicensesSettingsPage/LicensesSettingsPageView.stories.tsx index 295c54f29d26a..87f1405557ef6 100644 --- a/site/src/pages/DeploySettingsPage/LicensesSettingsPage/LicensesSettingsPageView.stories.tsx +++ b/site/src/pages/DeploymentSettingsPage/LicensesSettingsPage/LicensesSettingsPageView.stories.tsx @@ -3,7 +3,7 @@ import { MockLicenseResponse } from "testHelpers/entities"; import LicensesSettingsPageView from "./LicensesSettingsPageView"; export default { - title: "pages/DeploySettingsPage/LicensesSettingsPageView", + title: "pages/DeploymentSettingsPage/LicensesSettingsPageView", parameters: { chromatic }, component: LicensesSettingsPageView, }; diff --git a/site/src/pages/DeploySettingsPage/LicensesSettingsPage/LicensesSettingsPageView.tsx b/site/src/pages/DeploymentSettingsPage/LicensesSettingsPage/LicensesSettingsPageView.tsx similarity index 100% rename from site/src/pages/DeploySettingsPage/LicensesSettingsPage/LicensesSettingsPageView.tsx rename to site/src/pages/DeploymentSettingsPage/LicensesSettingsPage/LicensesSettingsPageView.tsx diff --git a/site/src/pages/DeploySettingsPage/NetworkSettingsPage/NetworkSettingsPage.tsx b/site/src/pages/DeploymentSettingsPage/NetworkSettingsPage/NetworkSettingsPage.tsx similarity index 79% rename from site/src/pages/DeploySettingsPage/NetworkSettingsPage/NetworkSettingsPage.tsx rename to site/src/pages/DeploymentSettingsPage/NetworkSettingsPage/NetworkSettingsPage.tsx index 82492d63edad0..6ebd005f71031 100644 --- a/site/src/pages/DeploySettingsPage/NetworkSettingsPage/NetworkSettingsPage.tsx +++ b/site/src/pages/DeploymentSettingsPage/NetworkSettingsPage/NetworkSettingsPage.tsx @@ -1,12 +1,12 @@ import { Loader } from "components/Loader/Loader"; +import { useManagementSettings } from "modules/management/ManagementSettingsLayout"; import type { FC } from "react"; import { Helmet } from "react-helmet-async"; import { pageTitle } from "utils/page"; -import { useDeploySettings } from "../DeploySettingsLayout"; import { NetworkSettingsPageView } from "./NetworkSettingsPageView"; const NetworkSettingsPage: FC = () => { - const { deploymentValues } = useDeploySettings(); + const { deploymentValues } = useManagementSettings(); return ( <> diff --git a/site/src/pages/DeploySettingsPage/NetworkSettingsPage/NetworkSettingsPageView.stories.tsx b/site/src/pages/DeploymentSettingsPage/NetworkSettingsPage/NetworkSettingsPageView.stories.tsx similarity index 96% rename from site/src/pages/DeploySettingsPage/NetworkSettingsPage/NetworkSettingsPageView.stories.tsx rename to site/src/pages/DeploymentSettingsPage/NetworkSettingsPage/NetworkSettingsPageView.stories.tsx index 6d6318adc6bc0..f9d0610a7dfa4 100644 --- a/site/src/pages/DeploySettingsPage/NetworkSettingsPage/NetworkSettingsPageView.stories.tsx +++ b/site/src/pages/DeploymentSettingsPage/NetworkSettingsPage/NetworkSettingsPageView.stories.tsx @@ -8,7 +8,7 @@ const group: SerpentGroup = { }; const meta: Meta = { - title: "pages/DeploySettingsPage/NetworkSettingsPageView", + title: "pages/DeploymentSettingsPage/NetworkSettingsPageView", component: NetworkSettingsPageView, args: { options: [ diff --git a/site/src/pages/DeploySettingsPage/NetworkSettingsPage/NetworkSettingsPageView.tsx b/site/src/pages/DeploymentSettingsPage/NetworkSettingsPage/NetworkSettingsPageView.tsx similarity index 100% rename from site/src/pages/DeploySettingsPage/NetworkSettingsPage/NetworkSettingsPageView.tsx rename to site/src/pages/DeploymentSettingsPage/NetworkSettingsPage/NetworkSettingsPageView.tsx diff --git a/site/src/pages/DeploySettingsPage/NotificationsPage/NotificationEvents.stories.tsx b/site/src/pages/DeploymentSettingsPage/NotificationsPage/NotificationEvents.stories.tsx similarity index 97% rename from site/src/pages/DeploySettingsPage/NotificationsPage/NotificationEvents.stories.tsx rename to site/src/pages/DeploymentSettingsPage/NotificationsPage/NotificationEvents.stories.tsx index 159a2d45b8e63..c2e8479a26f8c 100644 --- a/site/src/pages/DeploySettingsPage/NotificationsPage/NotificationEvents.stories.tsx +++ b/site/src/pages/DeploymentSettingsPage/NotificationsPage/NotificationEvents.stories.tsx @@ -8,7 +8,7 @@ import { NotificationEvents } from "./NotificationEvents"; import { baseMeta } from "./storybookUtils"; const meta: Meta = { - title: "pages/DeploymentSettings/NotificationsPage/NotificationEvents", + title: "pages/DeploymentSettingsPage/NotificationsPage/NotificationEvents", component: NotificationEvents, args: { defaultMethod: "smtp", diff --git a/site/src/pages/DeploySettingsPage/NotificationsPage/NotificationEvents.tsx b/site/src/pages/DeploymentSettingsPage/NotificationsPage/NotificationEvents.tsx similarity index 100% rename from site/src/pages/DeploySettingsPage/NotificationsPage/NotificationEvents.tsx rename to site/src/pages/DeploymentSettingsPage/NotificationsPage/NotificationEvents.tsx diff --git a/site/src/pages/DeploySettingsPage/NotificationsPage/NotificationsPage.stories.tsx b/site/src/pages/DeploymentSettingsPage/NotificationsPage/NotificationsPage.stories.tsx similarity index 95% rename from site/src/pages/DeploySettingsPage/NotificationsPage/NotificationsPage.stories.tsx rename to site/src/pages/DeploymentSettingsPage/NotificationsPage/NotificationsPage.stories.tsx index 79984c46dd46e..a76f31fb33eed 100644 --- a/site/src/pages/DeploySettingsPage/NotificationsPage/NotificationsPage.stories.tsx +++ b/site/src/pages/DeploymentSettingsPage/NotificationsPage/NotificationsPage.stories.tsx @@ -12,7 +12,7 @@ import { NotificationsPage } from "./NotificationsPage"; import { baseMeta } from "./storybookUtils"; const meta: Meta = { - title: "pages/DeploymentSettings/NotificationsPage", + title: "pages/DeploymentSettingsPage/NotificationsPage", component: NotificationsPage, ...baseMeta, }; diff --git a/site/src/pages/DeploySettingsPage/NotificationsPage/NotificationsPage.tsx b/site/src/pages/DeploymentSettingsPage/NotificationsPage/NotificationsPage.tsx similarity index 94% rename from site/src/pages/DeploySettingsPage/NotificationsPage/NotificationsPage.tsx rename to site/src/pages/DeploymentSettingsPage/NotificationsPage/NotificationsPage.tsx index 511959d3ec55f..d43c8c3a841a6 100644 --- a/site/src/pages/DeploySettingsPage/NotificationsPage/NotificationsPage.tsx +++ b/site/src/pages/DeploymentSettingsPage/NotificationsPage/NotificationsPage.tsx @@ -6,6 +6,7 @@ import { } from "api/queries/notifications"; import { Loader } from "components/Loader/Loader"; import { TabLink, Tabs, TabsList } from "components/Tabs/Tabs"; +import { useManagementSettings } from "modules/management/ManagementSettingsLayout"; import { castNotificationMethod } from "modules/notifications/utils"; import { Section } from "pages/UserSettingsPage/Section"; import type { FC } from "react"; @@ -14,13 +15,12 @@ import { useQueries } from "react-query"; import { useSearchParams } from "react-router-dom"; import { deploymentGroupHasParent } from "utils/deployOptions"; import { pageTitle } from "utils/page"; -import { useDeploySettings } from "../DeploySettingsLayout"; import OptionsTable from "../OptionsTable"; import { NotificationEvents } from "./NotificationEvents"; export const NotificationsPage: FC = () => { const [searchParams] = useSearchParams(); - const { deploymentValues } = useDeploySettings(); + const { deploymentValues } = useManagementSettings(); const [templatesByGroup, dispatchMethods] = useQueries({ queries: [ { diff --git a/site/src/pages/DeploySettingsPage/NotificationsPage/storybookUtils.ts b/site/src/pages/DeploymentSettingsPage/NotificationsPage/storybookUtils.ts similarity index 99% rename from site/src/pages/DeploySettingsPage/NotificationsPage/storybookUtils.ts rename to site/src/pages/DeploymentSettingsPage/NotificationsPage/storybookUtils.ts index c422adb56adb9..4906a5ab54496 100644 --- a/site/src/pages/DeploySettingsPage/NotificationsPage/storybookUtils.ts +++ b/site/src/pages/DeploymentSettingsPage/NotificationsPage/storybookUtils.ts @@ -12,8 +12,8 @@ import { import { withAuthProvider, withDashboardProvider, - withDeploySettings, withGlobalSnackbar, + withManagementSettingsProvider, } from "testHelpers/storybook"; import type { NotificationsPage } from "./NotificationsPage"; @@ -213,6 +213,6 @@ export const baseMeta = { withGlobalSnackbar, withAuthProvider, withDashboardProvider, - withDeploySettings, + withManagementSettingsProvider, ], } satisfies Meta; diff --git a/site/src/pages/DeploySettingsPage/OAuth2AppsSettingsPage/CreateOAuth2AppPage.tsx b/site/src/pages/DeploymentSettingsPage/OAuth2AppsSettingsPage/CreateOAuth2AppPage.tsx similarity index 100% rename from site/src/pages/DeploySettingsPage/OAuth2AppsSettingsPage/CreateOAuth2AppPage.tsx rename to site/src/pages/DeploymentSettingsPage/OAuth2AppsSettingsPage/CreateOAuth2AppPage.tsx diff --git a/site/src/pages/DeploySettingsPage/OAuth2AppsSettingsPage/CreateOAuth2AppPageView.stories.tsx b/site/src/pages/DeploymentSettingsPage/OAuth2AppsSettingsPage/CreateOAuth2AppPageView.stories.tsx similarity index 85% rename from site/src/pages/DeploySettingsPage/OAuth2AppsSettingsPage/CreateOAuth2AppPageView.stories.tsx rename to site/src/pages/DeploymentSettingsPage/OAuth2AppsSettingsPage/CreateOAuth2AppPageView.stories.tsx index de92aed2a6216..fc11ce2ecdce2 100644 --- a/site/src/pages/DeploySettingsPage/OAuth2AppsSettingsPage/CreateOAuth2AppPageView.stories.tsx +++ b/site/src/pages/DeploymentSettingsPage/OAuth2AppsSettingsPage/CreateOAuth2AppPageView.stories.tsx @@ -3,7 +3,7 @@ import { mockApiError } from "testHelpers/entities"; import { CreateOAuth2AppPageView } from "./CreateOAuth2AppPageView"; const meta: Meta = { - title: "pages/DeploySettingsPage/CreateOAuth2AppPageView", + title: "pages/DeploymentSettingsPage/CreateOAuth2AppPageView", component: CreateOAuth2AppPageView, }; export default meta; @@ -38,8 +38,4 @@ export const WithError: Story = { }, }; -export const Default: Story = { - args: { - // Nothing. - }, -}; +export const Default: Story = {}; diff --git a/site/src/pages/DeploySettingsPage/OAuth2AppsSettingsPage/CreateOAuth2AppPageView.tsx b/site/src/pages/DeploymentSettingsPage/OAuth2AppsSettingsPage/CreateOAuth2AppPageView.tsx similarity index 100% rename from site/src/pages/DeploySettingsPage/OAuth2AppsSettingsPage/CreateOAuth2AppPageView.tsx rename to site/src/pages/DeploymentSettingsPage/OAuth2AppsSettingsPage/CreateOAuth2AppPageView.tsx diff --git a/site/src/pages/DeploySettingsPage/OAuth2AppsSettingsPage/EditOAuth2AppPage.tsx b/site/src/pages/DeploymentSettingsPage/OAuth2AppsSettingsPage/EditOAuth2AppPage.tsx similarity index 100% rename from site/src/pages/DeploySettingsPage/OAuth2AppsSettingsPage/EditOAuth2AppPage.tsx rename to site/src/pages/DeploymentSettingsPage/OAuth2AppsSettingsPage/EditOAuth2AppPage.tsx diff --git a/site/src/pages/DeploySettingsPage/OAuth2AppsSettingsPage/EditOAuth2AppPageView.stories.tsx b/site/src/pages/DeploymentSettingsPage/OAuth2AppsSettingsPage/EditOAuth2AppPageView.stories.tsx similarity index 96% rename from site/src/pages/DeploySettingsPage/OAuth2AppsSettingsPage/EditOAuth2AppPageView.stories.tsx rename to site/src/pages/DeploymentSettingsPage/OAuth2AppsSettingsPage/EditOAuth2AppPageView.stories.tsx index acc603ec231f3..ad86d81f3243e 100644 --- a/site/src/pages/DeploySettingsPage/OAuth2AppsSettingsPage/EditOAuth2AppPageView.stories.tsx +++ b/site/src/pages/DeploymentSettingsPage/OAuth2AppsSettingsPage/EditOAuth2AppPageView.stories.tsx @@ -7,7 +7,7 @@ import { import { EditOAuth2AppPageView } from "./EditOAuth2AppPageView"; const meta: Meta = { - title: "pages/DeploySettingsPage/EditOAuth2AppPageView", + title: "pages/DeploymentSettingsPage/EditOAuth2AppPageView", component: EditOAuth2AppPageView, }; export default meta; diff --git a/site/src/pages/DeploySettingsPage/OAuth2AppsSettingsPage/EditOAuth2AppPageView.tsx b/site/src/pages/DeploymentSettingsPage/OAuth2AppsSettingsPage/EditOAuth2AppPageView.tsx similarity index 100% rename from site/src/pages/DeploySettingsPage/OAuth2AppsSettingsPage/EditOAuth2AppPageView.tsx rename to site/src/pages/DeploymentSettingsPage/OAuth2AppsSettingsPage/EditOAuth2AppPageView.tsx diff --git a/site/src/pages/DeploySettingsPage/OAuth2AppsSettingsPage/OAuth2AppForm.tsx b/site/src/pages/DeploymentSettingsPage/OAuth2AppsSettingsPage/OAuth2AppForm.tsx similarity index 100% rename from site/src/pages/DeploySettingsPage/OAuth2AppsSettingsPage/OAuth2AppForm.tsx rename to site/src/pages/DeploymentSettingsPage/OAuth2AppsSettingsPage/OAuth2AppForm.tsx diff --git a/site/src/pages/DeploySettingsPage/OAuth2AppsSettingsPage/OAuth2AppsSettingsPage.tsx b/site/src/pages/DeploymentSettingsPage/OAuth2AppsSettingsPage/OAuth2AppsSettingsPage.tsx similarity index 100% rename from site/src/pages/DeploySettingsPage/OAuth2AppsSettingsPage/OAuth2AppsSettingsPage.tsx rename to site/src/pages/DeploymentSettingsPage/OAuth2AppsSettingsPage/OAuth2AppsSettingsPage.tsx diff --git a/site/src/pages/DeploySettingsPage/OAuth2AppsSettingsPage/OAuth2AppsSettingsPageView.stories.tsx b/site/src/pages/DeploymentSettingsPage/OAuth2AppsSettingsPage/OAuth2AppsSettingsPageView.stories.tsx similarity index 90% rename from site/src/pages/DeploySettingsPage/OAuth2AppsSettingsPage/OAuth2AppsSettingsPageView.stories.tsx rename to site/src/pages/DeploymentSettingsPage/OAuth2AppsSettingsPage/OAuth2AppsSettingsPageView.stories.tsx index 3ae7177d00bbd..3e2d175487694 100644 --- a/site/src/pages/DeploySettingsPage/OAuth2AppsSettingsPage/OAuth2AppsSettingsPageView.stories.tsx +++ b/site/src/pages/DeploymentSettingsPage/OAuth2AppsSettingsPage/OAuth2AppsSettingsPageView.stories.tsx @@ -3,7 +3,7 @@ import { MockOAuth2ProviderApps } from "testHelpers/entities"; import OAuth2AppsSettingsPageView from "./OAuth2AppsSettingsPageView"; const meta: Meta = { - title: "pages/DeploySettingsPage/OAuth2AppsSettingsPageView", + title: "pages/DeploymentSettingsPage/OAuth2AppsSettingsPageView", component: OAuth2AppsSettingsPageView, }; export default meta; diff --git a/site/src/pages/DeploySettingsPage/OAuth2AppsSettingsPage/OAuth2AppsSettingsPageView.tsx b/site/src/pages/DeploymentSettingsPage/OAuth2AppsSettingsPage/OAuth2AppsSettingsPageView.tsx similarity index 100% rename from site/src/pages/DeploySettingsPage/OAuth2AppsSettingsPage/OAuth2AppsSettingsPageView.tsx rename to site/src/pages/DeploymentSettingsPage/OAuth2AppsSettingsPage/OAuth2AppsSettingsPageView.tsx diff --git a/site/src/pages/DeploySettingsPage/ObservabilitySettingsPage/ObservabilitySettingsPage.tsx b/site/src/pages/DeploymentSettingsPage/ObservabilitySettingsPage/ObservabilitySettingsPage.tsx similarity index 87% rename from site/src/pages/DeploySettingsPage/ObservabilitySettingsPage/ObservabilitySettingsPage.tsx rename to site/src/pages/DeploymentSettingsPage/ObservabilitySettingsPage/ObservabilitySettingsPage.tsx index 0b23dee112e15..1ea1a2d19ef82 100644 --- a/site/src/pages/DeploySettingsPage/ObservabilitySettingsPage/ObservabilitySettingsPage.tsx +++ b/site/src/pages/DeploymentSettingsPage/ObservabilitySettingsPage/ObservabilitySettingsPage.tsx @@ -1,14 +1,14 @@ import { Loader } from "components/Loader/Loader"; import { useDashboard } from "modules/dashboard/useDashboard"; import { useFeatureVisibility } from "modules/dashboard/useFeatureVisibility"; +import { useManagementSettings } from "modules/management/ManagementSettingsLayout"; import type { FC } from "react"; import { Helmet } from "react-helmet-async"; import { pageTitle } from "utils/page"; -import { useDeploySettings } from "../DeploySettingsLayout"; import { ObservabilitySettingsPageView } from "./ObservabilitySettingsPageView"; const ObservabilitySettingsPage: FC = () => { - const { deploymentValues } = useDeploySettings(); + const { deploymentValues } = useManagementSettings(); const { entitlements } = useDashboard(); const { multiple_organizations: hasPremiumLicense } = useFeatureVisibility(); diff --git a/site/src/pages/DeploySettingsPage/ObservabilitySettingsPage/ObservabilitySettingsPageView.stories.tsx b/site/src/pages/DeploymentSettingsPage/ObservabilitySettingsPage/ObservabilitySettingsPageView.stories.tsx similarity index 94% rename from site/src/pages/DeploySettingsPage/ObservabilitySettingsPage/ObservabilitySettingsPageView.stories.tsx rename to site/src/pages/DeploymentSettingsPage/ObservabilitySettingsPage/ObservabilitySettingsPageView.stories.tsx index 2de725ab70149..6467ef0830010 100644 --- a/site/src/pages/DeploySettingsPage/ObservabilitySettingsPage/ObservabilitySettingsPageView.stories.tsx +++ b/site/src/pages/DeploymentSettingsPage/ObservabilitySettingsPage/ObservabilitySettingsPageView.stories.tsx @@ -8,7 +8,7 @@ const group: SerpentGroup = { }; const meta: Meta = { - title: "pages/DeploySettingsPage/ObservabilitySettingsPageView", + title: "pages/DeploymentSettingsPage/ObservabilitySettingsPageView", component: ObservabilitySettingsPageView, args: { options: [ diff --git a/site/src/pages/DeploySettingsPage/ObservabilitySettingsPage/ObservabilitySettingsPageView.tsx b/site/src/pages/DeploymentSettingsPage/ObservabilitySettingsPage/ObservabilitySettingsPageView.tsx similarity index 100% rename from site/src/pages/DeploySettingsPage/ObservabilitySettingsPage/ObservabilitySettingsPageView.tsx rename to site/src/pages/DeploymentSettingsPage/ObservabilitySettingsPage/ObservabilitySettingsPageView.tsx diff --git a/site/src/pages/DeploySettingsPage/Option.tsx b/site/src/pages/DeploymentSettingsPage/Option.tsx similarity index 100% rename from site/src/pages/DeploySettingsPage/Option.tsx rename to site/src/pages/DeploymentSettingsPage/Option.tsx diff --git a/site/src/pages/DeploySettingsPage/OptionsTable.tsx b/site/src/pages/DeploymentSettingsPage/OptionsTable.tsx similarity index 100% rename from site/src/pages/DeploySettingsPage/OptionsTable.tsx rename to site/src/pages/DeploymentSettingsPage/OptionsTable.tsx diff --git a/site/src/pages/DeploySettingsPage/SecuritySettingsPage/SecuritySettingsPage.tsx b/site/src/pages/DeploymentSettingsPage/SecuritySettingsPage/SecuritySettingsPage.tsx similarity index 84% rename from site/src/pages/DeploySettingsPage/SecuritySettingsPage/SecuritySettingsPage.tsx rename to site/src/pages/DeploymentSettingsPage/SecuritySettingsPage/SecuritySettingsPage.tsx index 0e27b89041c31..2a296fc9d22d2 100644 --- a/site/src/pages/DeploySettingsPage/SecuritySettingsPage/SecuritySettingsPage.tsx +++ b/site/src/pages/DeploymentSettingsPage/SecuritySettingsPage/SecuritySettingsPage.tsx @@ -1,13 +1,13 @@ import { Loader } from "components/Loader/Loader"; import { useDashboard } from "modules/dashboard/useDashboard"; +import { useManagementSettings } from "modules/management/ManagementSettingsLayout"; import type { FC } from "react"; import { Helmet } from "react-helmet-async"; import { pageTitle } from "utils/page"; -import { useDeploySettings } from "../DeploySettingsLayout"; import { SecuritySettingsPageView } from "./SecuritySettingsPageView"; const SecuritySettingsPage: FC = () => { - const { deploymentValues } = useDeploySettings(); + const { deploymentValues } = useManagementSettings(); const { entitlements } = useDashboard(); return ( diff --git a/site/src/pages/DeploySettingsPage/SecuritySettingsPage/SecuritySettingsPageView.stories.tsx b/site/src/pages/DeploymentSettingsPage/SecuritySettingsPage/SecuritySettingsPageView.stories.tsx similarity index 95% rename from site/src/pages/DeploySettingsPage/SecuritySettingsPage/SecuritySettingsPageView.stories.tsx rename to site/src/pages/DeploymentSettingsPage/SecuritySettingsPage/SecuritySettingsPageView.stories.tsx index 7f788151ba6f3..c14f2d0a09f2b 100644 --- a/site/src/pages/DeploySettingsPage/SecuritySettingsPage/SecuritySettingsPageView.stories.tsx +++ b/site/src/pages/DeploymentSettingsPage/SecuritySettingsPage/SecuritySettingsPageView.stories.tsx @@ -8,7 +8,7 @@ const group: SerpentGroup = { }; const meta: Meta = { - title: "pages/DeploySettingsPage/SecuritySettingsPageView", + title: "pages/DeploymentSettingsPage/SecuritySettingsPageView", component: SecuritySettingsPageView, args: { options: [ diff --git a/site/src/pages/DeploySettingsPage/SecuritySettingsPage/SecuritySettingsPageView.tsx b/site/src/pages/DeploymentSettingsPage/SecuritySettingsPage/SecuritySettingsPageView.tsx similarity index 100% rename from site/src/pages/DeploySettingsPage/SecuritySettingsPage/SecuritySettingsPageView.tsx rename to site/src/pages/DeploymentSettingsPage/SecuritySettingsPage/SecuritySettingsPageView.tsx diff --git a/site/src/pages/DeploySettingsPage/UserAuthSettingsPage/UserAuthSettingsPage.tsx b/site/src/pages/DeploymentSettingsPage/UserAuthSettingsPage/UserAuthSettingsPage.tsx similarity index 80% rename from site/src/pages/DeploySettingsPage/UserAuthSettingsPage/UserAuthSettingsPage.tsx rename to site/src/pages/DeploymentSettingsPage/UserAuthSettingsPage/UserAuthSettingsPage.tsx index 5266064df878b..b6382f5a54f99 100644 --- a/site/src/pages/DeploySettingsPage/UserAuthSettingsPage/UserAuthSettingsPage.tsx +++ b/site/src/pages/DeploymentSettingsPage/UserAuthSettingsPage/UserAuthSettingsPage.tsx @@ -1,12 +1,12 @@ import { Loader } from "components/Loader/Loader"; +import { useManagementSettings } from "modules/management/ManagementSettingsLayout"; import type { FC } from "react"; import { Helmet } from "react-helmet-async"; import { pageTitle } from "utils/page"; -import { useDeploySettings } from "../DeploySettingsLayout"; import { UserAuthSettingsPageView } from "./UserAuthSettingsPageView"; const UserAuthSettingsPage: FC = () => { - const { deploymentValues } = useDeploySettings(); + const { deploymentValues } = useManagementSettings(); return ( <> diff --git a/site/src/pages/DeploySettingsPage/UserAuthSettingsPage/UserAuthSettingsPageView.stories.tsx b/site/src/pages/DeploymentSettingsPage/UserAuthSettingsPage/UserAuthSettingsPageView.stories.tsx similarity index 97% rename from site/src/pages/DeploySettingsPage/UserAuthSettingsPage/UserAuthSettingsPageView.stories.tsx rename to site/src/pages/DeploymentSettingsPage/UserAuthSettingsPage/UserAuthSettingsPageView.stories.tsx index 9bbe2d46d7ca5..5756f11748800 100644 --- a/site/src/pages/DeploySettingsPage/UserAuthSettingsPage/UserAuthSettingsPageView.stories.tsx +++ b/site/src/pages/DeploymentSettingsPage/UserAuthSettingsPage/UserAuthSettingsPageView.stories.tsx @@ -13,7 +13,7 @@ const ghGroup: SerpentGroup = { }; const meta: Meta = { - title: "pages/DeploySettingsPage/UserAuthSettingsPageView", + title: "pages/DeploymentSettingsPage/UserAuthSettingsPageView", component: UserAuthSettingsPageView, args: { options: [ diff --git a/site/src/pages/DeploySettingsPage/UserAuthSettingsPage/UserAuthSettingsPageView.tsx b/site/src/pages/DeploymentSettingsPage/UserAuthSettingsPage/UserAuthSettingsPageView.tsx similarity index 100% rename from site/src/pages/DeploySettingsPage/UserAuthSettingsPage/UserAuthSettingsPageView.tsx rename to site/src/pages/DeploymentSettingsPage/UserAuthSettingsPage/UserAuthSettingsPageView.tsx diff --git a/site/src/pages/DeploySettingsPage/optionValue.test.ts b/site/src/pages/DeploymentSettingsPage/optionValue.test.ts similarity index 100% rename from site/src/pages/DeploySettingsPage/optionValue.test.ts rename to site/src/pages/DeploymentSettingsPage/optionValue.test.ts diff --git a/site/src/pages/DeploySettingsPage/optionValue.ts b/site/src/pages/DeploymentSettingsPage/optionValue.ts similarity index 100% rename from site/src/pages/DeploySettingsPage/optionValue.ts rename to site/src/pages/DeploymentSettingsPage/optionValue.ts diff --git a/site/src/pages/ManagementSettingsPage/CustomRolesPage/CreateEditRolePage.tsx b/site/src/pages/ManagementSettingsPage/CustomRolesPage/CreateEditRolePage.tsx index fd438e8ae5973..80995a160b67d 100644 --- a/site/src/pages/ManagementSettingsPage/CustomRolesPage/CreateEditRolePage.tsx +++ b/site/src/pages/ManagementSettingsPage/CustomRolesPage/CreateEditRolePage.tsx @@ -8,12 +8,12 @@ import { import type { CustomRoleRequest } from "api/typesGenerated"; import { displayError } from "components/GlobalSnackbar/utils"; import { Loader } from "components/Loader/Loader"; +import { useManagementSettings } from "modules/management/ManagementSettingsLayout"; import type { FC } from "react"; import { Helmet } from "react-helmet-async"; import { useMutation, useQuery, useQueryClient } from "react-query"; import { useNavigate, useParams } from "react-router-dom"; import { pageTitle } from "utils/page"; -import { useOrganizationSettings } from "../ManagementSettingsLayout"; import CreateEditRolePageView from "./CreateEditRolePageView"; export const CreateEditRolePage: FC = () => { @@ -23,7 +23,7 @@ export const CreateEditRolePage: FC = () => { organization: string; roleName: string; }; - const { organizations } = useOrganizationSettings(); + const { organizations } = useManagementSettings(); const organization = organizations?.find((o) => o.name === organizationName); const permissionsQuery = useQuery(organizationPermissions(organization?.id)); const createOrganizationRoleMutation = useMutation( diff --git a/site/src/pages/ManagementSettingsPage/CustomRolesPage/CustomRolesPage.tsx b/site/src/pages/ManagementSettingsPage/CustomRolesPage/CustomRolesPage.tsx index cc47c85133e22..34c33083a76be 100644 --- a/site/src/pages/ManagementSettingsPage/CustomRolesPage/CustomRolesPage.tsx +++ b/site/src/pages/ManagementSettingsPage/CustomRolesPage/CustomRolesPage.tsx @@ -8,12 +8,12 @@ import { Loader } from "components/Loader/Loader"; import { SettingsHeader } from "components/SettingsHeader/SettingsHeader"; import { Stack } from "components/Stack/Stack"; import { useFeatureVisibility } from "modules/dashboard/useFeatureVisibility"; +import { useManagementSettings } from "modules/management/ManagementSettingsLayout"; import { type FC, useEffect, useState } from "react"; import { Helmet } from "react-helmet-async"; import { useMutation, useQuery, useQueryClient } from "react-query"; import { useParams } from "react-router-dom"; import { pageTitle } from "utils/page"; -import { useOrganizationSettings } from "../ManagementSettingsLayout"; import CustomRolesPageView from "./CustomRolesPageView"; export const CustomRolesPage: FC = () => { @@ -22,7 +22,7 @@ export const CustomRolesPage: FC = () => { const { organization: organizationName } = useParams() as { organization: string; }; - const { organizations } = useOrganizationSettings(); + const { organizations } = useManagementSettings(); const organization = organizations?.find((o) => o.name === organizationName); const permissionsQuery = useQuery(organizationPermissions(organization?.id)); const deleteRoleMutation = useMutation( diff --git a/site/src/pages/ManagementSettingsPage/GroupsPage/GroupsPage.tsx b/site/src/pages/ManagementSettingsPage/GroupsPage/GroupsPage.tsx index ce0e3fd0804d3..774360dc6a6d1 100644 --- a/site/src/pages/ManagementSettingsPage/GroupsPage/GroupsPage.tsx +++ b/site/src/pages/ManagementSettingsPage/GroupsPage/GroupsPage.tsx @@ -10,12 +10,12 @@ import { Loader } from "components/Loader/Loader"; import { SettingsHeader } from "components/SettingsHeader/SettingsHeader"; import { Stack } from "components/Stack/Stack"; import { useFeatureVisibility } from "modules/dashboard/useFeatureVisibility"; +import { useManagementSettings } from "modules/management/ManagementSettingsLayout"; import { type FC, useEffect } from "react"; import { Helmet } from "react-helmet-async"; import { useQuery } from "react-query"; import { Navigate, Link as RouterLink, useParams } from "react-router-dom"; import { pageTitle } from "utils/page"; -import { useOrganizationSettings } from "../ManagementSettingsLayout"; import GroupsPageView from "./GroupsPageView"; export const GroupsPage: FC = () => { @@ -24,7 +24,7 @@ export const GroupsPage: FC = () => { organization: string; }; const groupsQuery = useQuery(groupsByOrganization(organizationName)); - const { organizations } = useOrganizationSettings(); + const { organizations } = useManagementSettings(); const organization = organizations?.find((o) => o.name === organizationName); const permissionsQuery = useQuery(organizationPermissions(organization?.id)); diff --git a/site/src/pages/ManagementSettingsPage/IdpSyncPage/IdpSyncPage.tsx b/site/src/pages/ManagementSettingsPage/IdpSyncPage/IdpSyncPage.tsx index 487ef57c416b0..1b25f7cad4d91 100644 --- a/site/src/pages/ManagementSettingsPage/IdpSyncPage/IdpSyncPage.tsx +++ b/site/src/pages/ManagementSettingsPage/IdpSyncPage/IdpSyncPage.tsx @@ -11,13 +11,13 @@ import { Paywall } from "components/Paywall/Paywall"; import { SettingsHeader } from "components/SettingsHeader/SettingsHeader"; import { Stack } from "components/Stack/Stack"; import { useFeatureVisibility } from "modules/dashboard/useFeatureVisibility"; +import { useManagementSettings } from "modules/management/ManagementSettingsLayout"; import type { FC } from "react"; import { Helmet } from "react-helmet-async"; import { useQueries } from "react-query"; import { useParams } from "react-router-dom"; import { docs } from "utils/docs"; import { pageTitle } from "utils/page"; -import { useOrganizationSettings } from "../ManagementSettingsLayout"; import { IdpSyncHelpTooltip } from "./IdpSyncHelpTooltip"; import IdpSyncPageView from "./IdpSyncPageView"; @@ -27,7 +27,7 @@ export const IdpSyncPage: FC = () => { }; // IdP sync does not have its own entitlement and is based on templace_rbac const { template_rbac: isIdpSyncEnabled } = useFeatureVisibility(); - const { organizations } = useOrganizationSettings(); + const { organizations } = useManagementSettings(); const organization = organizations?.find((o) => o.name === organizationName); const [groupIdpSyncSettingsQuery, roleIdpSyncSettingsQuery, groupsQuery] = diff --git a/site/src/pages/ManagementSettingsPage/OrganizationMembersPage.tsx b/site/src/pages/ManagementSettingsPage/OrganizationMembersPage.tsx index af75b454b69b4..de6295a838bd9 100644 --- a/site/src/pages/ManagementSettingsPage/OrganizationMembersPage.tsx +++ b/site/src/pages/ManagementSettingsPage/OrganizationMembersPage.tsx @@ -15,10 +15,10 @@ import { displayError, displaySuccess } from "components/GlobalSnackbar/utils"; import { Loader } from "components/Loader/Loader"; import { Stack } from "components/Stack/Stack"; import { useAuthenticated } from "contexts/auth/RequireAuth"; +import { useManagementSettings } from "modules/management/ManagementSettingsLayout"; import { type FC, useState } from "react"; import { useMutation, useQuery, useQueryClient } from "react-query"; import { useParams } from "react-router-dom"; -import { useOrganizationSettings } from "./ManagementSettingsLayout"; import { OrganizationMembersPageView } from "./OrganizationMembersPageView"; const OrganizationMembersPage: FC = () => { @@ -50,7 +50,7 @@ const OrganizationMembersPage: FC = () => { updateOrganizationMemberRoles(queryClient, organizationName), ); - const { organizations } = useOrganizationSettings(); + const { organizations } = useManagementSettings(); const organization = organizations?.find((o) => o.name === organizationName); const permissionsQuery = useQuery(organizationPermissions(organization?.id)); diff --git a/site/src/pages/ManagementSettingsPage/OrganizationProvisionersPage.tsx b/site/src/pages/ManagementSettingsPage/OrganizationProvisionersPage.tsx index 55dff198822a0..bd91c348e03ee 100644 --- a/site/src/pages/ManagementSettingsPage/OrganizationProvisionersPage.tsx +++ b/site/src/pages/ManagementSettingsPage/OrganizationProvisionersPage.tsx @@ -1,27 +1,20 @@ import { buildInfo } from "api/queries/buildInfo"; -import { - organizationsPermissions, - provisionerDaemonGroups, -} from "api/queries/organizations"; +import { provisionerDaemonGroups } from "api/queries/organizations"; import type { Organization } from "api/typesGenerated"; -import { ErrorAlert } from "components/Alert/ErrorAlert"; import { EmptyState } from "components/EmptyState/EmptyState"; -import { Loader } from "components/Loader/Loader"; -import { Paywall } from "components/Paywall/Paywall"; import { useEmbeddedMetadata } from "hooks/useEmbeddedMetadata"; import { useDashboard } from "modules/dashboard/useDashboard"; +import { useManagementSettings } from "modules/management/ManagementSettingsLayout"; import type { FC } from "react"; import { useQuery } from "react-query"; import { useParams } from "react-router-dom"; -import { docs } from "utils/docs"; -import { useOrganizationSettings } from "./ManagementSettingsLayout"; import { OrganizationProvisionersPageView } from "./OrganizationProvisionersPageView"; const OrganizationProvisionersPage: FC = () => { const { organization: organizationName } = useParams() as { organization: string; }; - const { organizations } = useOrganizationSettings(); + const { organizations } = useManagementSettings(); const { entitlements } = useDashboard(); const { metadata } = useEmbeddedMetadata(); diff --git a/site/src/pages/ManagementSettingsPage/OrganizationSettingsPage.stories.tsx b/site/src/pages/ManagementSettingsPage/OrganizationSettingsPage.stories.tsx index 7aab615ebbc7a..9c85f89a62b55 100644 --- a/site/src/pages/ManagementSettingsPage/OrganizationSettingsPage.stories.tsx +++ b/site/src/pages/ManagementSettingsPage/OrganizationSettingsPage.stories.tsx @@ -1,14 +1,23 @@ import type { Meta, StoryObj } from "@storybook/react"; import { reactRouterParameters } from "storybook-addon-remix-react-router"; import { MockDefaultOrganization, MockUser } from "testHelpers/entities"; -import { withAuthProvider, withDashboardProvider } from "testHelpers/storybook"; +import { + withAuthProvider, + withDashboardProvider, + withManagementSettingsProvider, +} from "testHelpers/storybook"; import OrganizationSettingsPage from "./OrganizationSettingsPage"; const meta: Meta = { title: "pages/OrganizationSettingsPage", component: OrganizationSettingsPage, - decorators: [withAuthProvider, withDashboardProvider], + decorators: [ + withAuthProvider, + withDashboardProvider, + withManagementSettingsProvider, + ], parameters: { + showOrganizations: true, user: MockUser, features: ["multiple_organizations"], permissions: { viewDeploymentValues: true }, diff --git a/site/src/pages/ManagementSettingsPage/OrganizationSettingsPage.tsx b/site/src/pages/ManagementSettingsPage/OrganizationSettingsPage.tsx index 7e63bf8111c2c..1d11c85a605ae 100644 --- a/site/src/pages/ManagementSettingsPage/OrganizationSettingsPage.tsx +++ b/site/src/pages/ManagementSettingsPage/OrganizationSettingsPage.tsx @@ -9,13 +9,13 @@ import { EmptyState } from "components/EmptyState/EmptyState"; import { displaySuccess } from "components/GlobalSnackbar/utils"; import { Loader } from "components/Loader/Loader"; import { useFeatureVisibility } from "modules/dashboard/useFeatureVisibility"; +import { + canEditOrganization, + useManagementSettings, +} from "modules/management/ManagementSettingsLayout"; import type { FC } from "react"; import { useMutation, useQuery, useQueryClient } from "react-query"; import { Navigate, useNavigate, useParams } from "react-router-dom"; -import { - canEditOrganization, - useOrganizationSettings, -} from "./ManagementSettingsLayout"; import { OrganizationSettingsPageView } from "./OrganizationSettingsPageView"; import { OrganizationSummaryPageView } from "./OrganizationSummaryPageView"; @@ -23,7 +23,7 @@ const OrganizationSettingsPage: FC = () => { const { organization: organizationName } = useParams() as { organization?: string; }; - const { organizations } = useOrganizationSettings(); + const { organizations } = useManagementSettings(); const feats = useFeatureVisibility(); const navigate = useNavigate(); diff --git a/site/src/pages/ManagementSettingsPage/OrganizationSettingsPageView.stories.tsx b/site/src/pages/ManagementSettingsPage/OrganizationSettingsPageView.stories.tsx index 3e8b1ad3133b7..9983c25080a59 100644 --- a/site/src/pages/ManagementSettingsPage/OrganizationSettingsPageView.stories.tsx +++ b/site/src/pages/ManagementSettingsPage/OrganizationSettingsPageView.stories.tsx @@ -4,6 +4,7 @@ import { MockDefaultOrganization, MockOrganization, } from "testHelpers/entities"; +import { withManagementSettingsProvider } from "testHelpers/storybook"; import { OrganizationSettingsPageView } from "./OrganizationSettingsPageView"; const meta: Meta = { diff --git a/site/src/pages/UsersPage/UsersPage.tsx b/site/src/pages/UsersPage/UsersPage.tsx index 0fb755d551da2..a4db3aed3ce45 100644 --- a/site/src/pages/UsersPage/UsersPage.tsx +++ b/site/src/pages/UsersPage/UsersPage.tsx @@ -40,7 +40,7 @@ const UsersPage: FC = () => { const navigate = useNavigate(); const location = useLocation(); const searchParamsResult = useSearchParams(); - const { entitlements, showOrganizations } = useDashboard(); + const { entitlements } = useDashboard(); const [searchParams] = searchParamsResult; const groupsByUserIdQuery = useQuery(groupsByUserId()); @@ -102,7 +102,7 @@ const UsersPage: FC = () => { authMethodsQuery.isLoading || groupsByUserIdQuery.isLoading; - if (showOrganizations && location.pathname !== "/deployment/users") { + if (location.pathname === "/users") { return ; } @@ -159,7 +159,6 @@ const UsersPage: FC = () => { menus: { status: statusMenu }, }} usersQuery={usersQuery} - canViewOrganizations={showOrganizations} canCreateUser={canCreateUser} /> diff --git a/site/src/pages/UsersPage/UsersPageView.tsx b/site/src/pages/UsersPage/UsersPageView.tsx index e8ccd60bb0f6a..e68c10f904b44 100644 --- a/site/src/pages/UsersPage/UsersPageView.tsx +++ b/site/src/pages/UsersPage/UsersPageView.tsx @@ -63,30 +63,27 @@ export const UsersPageView: FC = ({ authMethods, groupsByUserId, usersQuery, - canViewOrganizations, canCreateUser, }) => { const navigate = useNavigate(); return ( <> - {canViewOrganizations && ( - navigate("create")} - startIcon={} - > - Create user - - ) - } - > - Users - - )} + navigate("create")} + startIcon={} + > + Create user + + ) + } + > + Users + diff --git a/site/src/router.tsx b/site/src/router.tsx index 6ec6106cbc583..526be40a2b168 100644 --- a/site/src/router.tsx +++ b/site/src/router.tsx @@ -10,11 +10,10 @@ import { import { Loader } from "./components/Loader/Loader"; import { RequireAuth } from "./contexts/auth/RequireAuth"; import { DashboardLayout } from "./modules/dashboard/DashboardLayout"; +import { ManagementSettingsLayout } from "./modules/management/ManagementSettingsLayout"; import AuditPage from "./pages/AuditPage/AuditPage"; -import { DeploySettingsLayout } from "./pages/DeploySettingsPage/DeploySettingsLayout"; import { HealthLayout } from "./pages/HealthPage/HealthLayout"; import LoginPage from "./pages/LoginPage/LoginPage"; -import { ManagementSettingsLayout } from "./pages/ManagementSettingsPage/ManagementSettingsLayout"; import { SetupPage } from "./pages/SetupPage/SetupPage"; import { TemplateLayout } from "./pages/TemplatePage/TemplateLayout"; import { TemplateSettingsLayout } from "./pages/TemplateSettingsPage/TemplateSettingsLayout"; @@ -96,61 +95,61 @@ const SettingsGroupPage = lazy( const GeneralSettingsPage = lazy( () => import( - "./pages/DeploySettingsPage/GeneralSettingsPage/GeneralSettingsPage" + "./pages/DeploymentSettingsPage/GeneralSettingsPage/GeneralSettingsPage" ), ); const SecuritySettingsPage = lazy( () => import( - "./pages/DeploySettingsPage/SecuritySettingsPage/SecuritySettingsPage" + "./pages/DeploymentSettingsPage/SecuritySettingsPage/SecuritySettingsPage" ), ); const AppearanceSettingsPage = lazy( () => import( - "./pages/DeploySettingsPage/AppearanceSettingsPage/AppearanceSettingsPage" + "./pages/DeploymentSettingsPage/AppearanceSettingsPage/AppearanceSettingsPage" ), ); const UserAuthSettingsPage = lazy( () => import( - "./pages/DeploySettingsPage/UserAuthSettingsPage/UserAuthSettingsPage" + "./pages/DeploymentSettingsPage/UserAuthSettingsPage/UserAuthSettingsPage" ), ); const ExternalAuthSettingsPage = lazy( () => import( - "./pages/DeploySettingsPage/ExternalAuthSettingsPage/ExternalAuthSettingsPage" + "./pages/DeploymentSettingsPage/ExternalAuthSettingsPage/ExternalAuthSettingsPage" ), ); const OAuth2AppsSettingsPage = lazy( () => import( - "./pages/DeploySettingsPage/OAuth2AppsSettingsPage/OAuth2AppsSettingsPage" + "./pages/DeploymentSettingsPage/OAuth2AppsSettingsPage/OAuth2AppsSettingsPage" ), ); const EditOAuth2AppPage = lazy( () => import( - "./pages/DeploySettingsPage/OAuth2AppsSettingsPage/EditOAuth2AppPage" + "./pages/DeploymentSettingsPage/OAuth2AppsSettingsPage/EditOAuth2AppPage" ), ); const CreateOAuth2AppPage = lazy( () => import( - "./pages/DeploySettingsPage/OAuth2AppsSettingsPage/CreateOAuth2AppPage" + "./pages/DeploymentSettingsPage/OAuth2AppsSettingsPage/CreateOAuth2AppPage" ), ); const NetworkSettingsPage = lazy( () => import( - "./pages/DeploySettingsPage/NetworkSettingsPage/NetworkSettingsPage" + "./pages/DeploymentSettingsPage/NetworkSettingsPage/NetworkSettingsPage" ), ); const ObservabilitySettingsPage = lazy( () => import( - "./pages/DeploySettingsPage/ObservabilitySettingsPage/ObservabilitySettingsPage" + "./pages/DeploymentSettingsPage/ObservabilitySettingsPage/ObservabilitySettingsPage" ), ); const ExternalAuthPage = lazy( @@ -215,12 +214,14 @@ const TemplateSettingsPage = lazy( const LicensesSettingsPage = lazy( () => import( - "./pages/DeploySettingsPage/LicensesSettingsPage/LicensesSettingsPage" + "./pages/DeploymentSettingsPage/LicensesSettingsPage/LicensesSettingsPage" ), ); const AddNewLicensePage = lazy( () => - import("./pages/DeploySettingsPage/LicensesSettingsPage/AddNewLicensePage"), + import( + "./pages/DeploymentSettingsPage/LicensesSettingsPage/AddNewLicensePage" + ), ); const CreateOrganizationPage = lazy( () => import("./pages/ManagementSettingsPage/CreateOrganizationPage"), @@ -282,7 +283,9 @@ const UserNotificationsPage = lazy( ); const DeploymentNotificationsPage = lazy( () => - import("./pages/DeploySettingsPage/NotificationsPage/NotificationsPage"), + import( + "./pages/DeploymentSettingsPage/NotificationsPage/NotificationsPage" + ), ); const RoutesWithSuspense = () => { @@ -413,7 +416,7 @@ export const router = createBrowserRouter( - }> + }> } /> } /> } /> diff --git a/site/src/testHelpers/renderHelpers.tsx b/site/src/testHelpers/renderHelpers.tsx index 30aa6b7e89e10..f093adb1cfb4a 100644 --- a/site/src/testHelpers/renderHelpers.tsx +++ b/site/src/testHelpers/renderHelpers.tsx @@ -9,7 +9,7 @@ import { ThemeProvider } from "contexts/ThemeProvider"; import { RequireAuth } from "contexts/auth/RequireAuth"; import { DashboardLayout } from "modules/dashboard/DashboardLayout"; import type { DashboardProvider } from "modules/dashboard/DashboardProvider"; -import { ManagementSettingsLayout } from "pages/ManagementSettingsPage/ManagementSettingsLayout"; +import { ManagementSettingsLayout } from "modules/management/ManagementSettingsLayout"; import { TemplateSettingsLayout } from "pages/TemplateSettingsPage/TemplateSettingsLayout"; import { WorkspaceSettingsLayout } from "pages/WorkspaceSettingsPage/WorkspaceSettingsLayout"; import type { ReactNode } from "react"; diff --git a/site/src/testHelpers/storybook.tsx b/site/src/testHelpers/storybook.tsx index 9550af025e6f7..a76e1230205fc 100644 --- a/site/src/testHelpers/storybook.tsx +++ b/site/src/testHelpers/storybook.tsx @@ -7,12 +7,13 @@ import { GlobalSnackbar } from "components/GlobalSnackbar/GlobalSnackbar"; import { AuthProvider } from "contexts/auth/AuthProvider"; import { permissionsToCheck } from "contexts/auth/permissions"; import { DashboardContext } from "modules/dashboard/DashboardProvider"; -import { DeploySettingsContext } from "pages/DeploySettingsPage/DeploySettingsLayout"; +import { ManagementSettingsContext } from "modules/management/ManagementSettingsLayout"; import type { FC } from "react"; import { useQueryClient } from "react-query"; import { MockAppearanceConfig, MockDefaultOrganization, + MockDeploymentConfig, MockEntitlements, } from "./entities"; @@ -126,17 +127,16 @@ export const withGlobalSnackbar = (Story: FC) => ( ); -export const withDeploySettings = (Story: FC, { parameters }: StoryContext) => { +export const withManagementSettingsProvider = (Story: FC) => { return ( - - + ); };