Skip to content

Commit f74ef14

Browse files
authored
refactor: reorganize auth components and hooks (#11717)
1 parent f02561a commit f74ef14

File tree

57 files changed

+254
-252
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

57 files changed

+254
-252
lines changed

site/.eslintrc.yaml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,6 @@ rules:
170170
react/jsx-uses-react: "off"
171171
react/no-unknown-property: ["error", { ignore: ["css"] }]
172172
react/react-in-jsx-scope: "off"
173-
"unicorn/explicit-length-check": "error"
174173
# https://github.com/jsx-eslint/eslint-plugin-react/issues/2628#issuecomment-984160944
175174
no-restricted-syntax:
176175
[

site/src/App.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { type FC, type ReactNode, useEffect, useState } from "react";
33
import { HelmetProvider } from "react-helmet-async";
44
import { AppRouter } from "./AppRouter";
55
import { ThemeProvider } from "./contexts/ThemeProvider";
6-
import { AuthProvider } from "./contexts/AuthProvider/AuthProvider";
6+
import { AuthProvider } from "./contexts/auth/AuthProvider";
77
import { ErrorBoundary } from "./components/ErrorBoundary/ErrorBoundary";
88
import { GlobalSnackbar } from "./components/GlobalSnackbar/GlobalSnackbar";
99
import "./theme/globalFonts";

site/src/AppRouter.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,17 @@ import {
55
BrowserRouter as Router,
66
Navigate,
77
} from "react-router-dom";
8+
import { RequireAuth } from "./contexts/auth/RequireAuth";
89
import { DashboardLayout } from "./components/Dashboard/DashboardLayout";
9-
import { DeploySettingsLayout } from "./pages/DeploySettingsPage/DeploySettingsLayout";
1010
import { FullScreenLoader } from "./components/Loader/FullScreenLoader";
11-
import { RequireAuth } from "./components/RequireAuth/RequireAuth";
12-
import { UsersLayout } from "./pages/UsersPage/UsersLayout";
1311
import AuditPage from "./pages/AuditPage/AuditPage";
12+
import { DeploySettingsLayout } from "./pages/DeploySettingsPage/DeploySettingsLayout";
1413
import LoginPage from "./pages/LoginPage/LoginPage";
1514
import { SetupPage } from "./pages/SetupPage/SetupPage";
1615
import { TemplateLayout } from "./pages/TemplatePage/TemplateLayout";
1716
import { HealthLayout } from "./pages/HealthPage/HealthLayout";
1817
import TemplatesPage from "./pages/TemplatesPage/TemplatesPage";
18+
import { UsersLayout } from "./pages/UsersPage/UsersLayout";
1919
import UsersPage from "./pages/UsersPage/UsersPage";
2020
import WorkspacesPage from "./pages/WorkspacesPage/WorkspacesPage";
2121
import UserSettingsLayout from "./pages/UserSettingsPage/Layout";

site/src/components/Dashboard/DashboardLayout.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@ import Button from "@mui/material/Button";
44
import InfoOutlined from "@mui/icons-material/InfoOutlined";
55
import { type FC, type HTMLAttributes, Suspense } from "react";
66
import { Outlet } from "react-router-dom";
7+
import { usePermissions } from "contexts/auth/usePermissions";
78
import { LicenseBanner } from "components/Dashboard/LicenseBanner/LicenseBanner";
89
import { Loader } from "components/Loader/Loader";
910
import { ServiceBanner } from "components/Dashboard/ServiceBanner/ServiceBanner";
10-
import { usePermissions } from "hooks/usePermissions";
1111
import { dashboardContentBottomPadding } from "theme/constants";
1212
import { docs } from "utils/docs";
1313
import { Navbar } from "./Navbar/Navbar";

site/src/components/Dashboard/DeploymentBanner/DeploymentBanner.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
import { type FC } from "react";
22
import { useQuery } from "react-query";
3+
import { health } from "api/queries/debug";
34
import { deploymentStats } from "api/queries/deployment";
4-
import { usePermissions } from "hooks/usePermissions";
5+
import { usePermissions } from "contexts/auth/usePermissions";
56
import { DeploymentBannerView } from "./DeploymentBannerView";
6-
import { health } from "api/queries/debug";
77

88
export const DeploymentBanner: FC = () => {
99
const permissions = usePermissions();

site/src/components/Dashboard/Navbar/Navbar.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
import { type FC } from "react";
2-
import { useAuth } from "contexts/AuthProvider/AuthProvider";
2+
import { useAuth } from "contexts/auth/useAuth";
3+
import { useMe } from "contexts/auth/useMe";
4+
import { usePermissions } from "contexts/auth/usePermissions";
35
import { useProxy } from "contexts/ProxyContext";
46
import { useDashboard } from "components/Dashboard/DashboardProvider";
57
import { useFeatureVisibility } from "hooks/useFeatureVisibility";
6-
import { useMe } from "hooks/useMe";
7-
import { usePermissions } from "hooks/usePermissions";
88
import { NavbarView } from "./NavbarView";
99

1010
export const Navbar: FC = () => {

site/src/components/Dashboard/Navbar/NavbarView.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,19 +7,19 @@ import Button from "@mui/material/Button";
77
import MenuItem from "@mui/material/MenuItem";
88
import KeyboardArrowDownOutlined from "@mui/icons-material/KeyboardArrowDownOutlined";
99
import MenuIcon from "@mui/icons-material/Menu";
10+
import { visuallyHidden } from "@mui/utils";
1011
import { css, type Interpolation, type Theme, useTheme } from "@emotion/react";
1112
import { type FC, type ReactNode, useRef, useState } from "react";
1213
import { NavLink, useLocation, useNavigate } from "react-router-dom";
1314
import { BUTTON_SM_HEIGHT, navHeight } from "theme/constants";
1415
import type * as TypesGen from "api/typesGenerated";
16+
import { usePermissions } from "contexts/auth/usePermissions";
1517
import type { ProxyContextValue } from "contexts/ProxyContext";
18+
import { Abbr } from "components/Abbr/Abbr";
1619
import { displayError } from "components/GlobalSnackbar/utils";
1720
import { ProxyStatusLatency } from "components/ProxyStatusLatency/ProxyStatusLatency";
1821
import { CoderIcon } from "components/Icons/CoderIcon";
19-
import { usePermissions } from "hooks/usePermissions";
2022
import { UserDropdown } from "./UserDropdown/UserDropdown";
21-
import { visuallyHidden } from "@mui/utils";
22-
import { Abbr } from "components/Abbr/Abbr";
2323

2424
export const USERS_LINK = `/users?filter=${encodeURIComponent(
2525
"status:active",

site/src/components/Filter/UserFilter.tsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
import { type FC } from "react";
2-
import { useMe } from "hooks";
3-
import { BaseOption } from "./options";
42
import { getUsers } from "api/api";
5-
import { UseFilterMenuOptions, useFilterMenu } from "./menu";
3+
import { useMe } from "contexts/auth/useMe";
4+
import { UserAvatar } from "../UserAvatar/UserAvatar";
65
import { FilterSearchMenu, OptionItem } from "./filter";
7-
import { UserAvatar } from "components/UserAvatar/UserAvatar";
6+
import { UseFilterMenuOptions, useFilterMenu } from "./menu";
7+
import { BaseOption } from "./options";
88

99
export type UserOption = BaseOption & {
1010
avatarUrl?: string;

site/src/contexts/ProxyContext.tsx

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
1-
import { useQuery } from "react-query";
2-
import { getWorkspaceProxies, getWorkspaceProxyRegions } from "api/api";
3-
import { Region, WorkspaceProxy } from "api/typesGenerated";
41
import {
52
createContext,
6-
FC,
7-
PropsWithChildren,
3+
type FC,
4+
type PropsWithChildren,
85
useCallback,
96
useContext,
107
useEffect,
118
useState,
129
} from "react";
10+
import { useQuery } from "react-query";
11+
import { getWorkspaceProxies, getWorkspaceProxyRegions } from "api/api";
12+
import type { Region, WorkspaceProxy } from "api/typesGenerated";
13+
import { usePermissions } from "contexts/auth/usePermissions";
1314
import { ProxyLatencyReport, useProxyLatency } from "./useProxyLatency";
14-
import { usePermissions } from "hooks/usePermissions";
1515

1616
export interface ProxyContextValue {
1717
// proxy is **always** the workspace proxy that should be used.

site/src/contexts/ThemeProvider.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import {
1414
useState,
1515
} from "react";
1616
import themes, { DEFAULT_THEME, type Theme } from "theme";
17-
import { AuthContext } from "./AuthProvider/AuthProvider";
17+
import { AuthContext } from "./auth/AuthProvider";
1818

1919
/**
2020
*

0 commit comments

Comments
 (0)