diff --git a/site/.storybook/preview.jsx b/site/.storybook/preview.jsx index 17e6113508fcc..fb13f0e7af320 100644 --- a/site/.storybook/preview.jsx +++ b/site/.storybook/preview.jsx @@ -26,7 +26,7 @@ import { } from "@mui/material/styles"; import { DecoratorHelpers } from "@storybook/addon-themes"; import isChromatic from "chromatic/isChromatic"; -import React, { StrictMode } from "react"; +import { StrictMode } from "react"; import { HelmetProvider } from "react-helmet-async"; import { QueryClient, QueryClientProvider, parseQueryArgs } from "react-query"; import { withRouter } from "storybook-addon-remix-react-router"; diff --git a/site/e2e/helpers.ts b/site/e2e/helpers.ts index 24b46d47a151b..18e3a04ad5428 100644 --- a/site/e2e/helpers.ts +++ b/site/e2e/helpers.ts @@ -510,7 +510,7 @@ export const waitUntilUrlIsNotResponding = async (url: string) => { while (retries < maxRetries) { try { await axiosInstance.get(url); - } catch (error) { + } catch { return; } diff --git a/site/src/@types/storybook.d.ts b/site/src/@types/storybook.d.ts index 82507741d5621..31a96dd5c6ab4 100644 --- a/site/src/@types/storybook.d.ts +++ b/site/src/@types/storybook.d.ts @@ -1,4 +1,3 @@ -import * as _storybook_types from "@storybook/react"; import type { DeploymentValues, Experiments, diff --git a/site/src/api/queries/insights.ts b/site/src/api/queries/insights.ts index afdf9f7efedd0..ac61860dd8a9a 100644 --- a/site/src/api/queries/insights.ts +++ b/site/src/api/queries/insights.ts @@ -1,6 +1,6 @@ import { API, type InsightsParams, type InsightsTemplateParams } from "api/api"; import type { GetUserStatusCountsResponse } from "api/typesGenerated"; -import { type UseQueryOptions, UseQueryResult } from "react-query"; +import type { UseQueryOptions } from "react-query"; export const insightsTemplate = (params: InsightsTemplateParams) => { return { diff --git a/site/src/api/queries/templates.ts b/site/src/api/queries/templates.ts index 2cd2d7693cfda..372863de41991 100644 --- a/site/src/api/queries/templates.ts +++ b/site/src/api/queries/templates.ts @@ -2,7 +2,6 @@ import { API, type GetTemplatesOptions, type GetTemplatesQuery } from "api/api"; import type { CreateTemplateRequest, CreateTemplateVersionRequest, - Preset, ProvisionerJob, ProvisionerJobStatus, Template, diff --git a/site/src/components/DropdownMenu/DropdownMenu.tsx b/site/src/components/DropdownMenu/DropdownMenu.tsx index c924317b20f87..3990807114b99 100644 --- a/site/src/components/DropdownMenu/DropdownMenu.tsx +++ b/site/src/components/DropdownMenu/DropdownMenu.tsx @@ -7,12 +7,10 @@ */ import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu"; -import { Button } from "components/Button/Button"; -import { Check, ChevronDownIcon, ChevronRight, Circle } from "lucide-react"; +import { Check, ChevronRight, Circle } from "lucide-react"; import { type ComponentPropsWithoutRef, type ElementRef, - type FC, type HTMLAttributes, forwardRef, } from "react"; diff --git a/site/src/components/ErrorBoundary/GlobalErrorBoundary.tsx b/site/src/components/ErrorBoundary/GlobalErrorBoundary.tsx index c8c7e54ac4713..f419dc208d39a 100644 --- a/site/src/components/ErrorBoundary/GlobalErrorBoundary.tsx +++ b/site/src/components/ErrorBoundary/GlobalErrorBoundary.tsx @@ -1,13 +1,3 @@ -/** - * @file A global error boundary designed to work with React Router. - * - * This is not documented well, but because of React Router works, it will - * automatically intercept any render errors produced in routes, and will - * "swallow" them, preventing the errors from bubbling up to any error - * boundaries above the router. The global error boundary must be explicitly - * bound to a route to work as expected. - */ -import type { Interpolation } from "@emotion/react"; import Link from "@mui/material/Link"; import { Button } from "components/Button/Button"; import { CoderIcon } from "components/Icons/CoderIcon"; diff --git a/site/src/components/IconField/EmojiPicker.tsx b/site/src/components/IconField/EmojiPicker.tsx index 476e24f293756..f0b031982be0e 100644 --- a/site/src/components/IconField/EmojiPicker.tsx +++ b/site/src/components/IconField/EmojiPicker.tsx @@ -1,11 +1,6 @@ import data from "@emoji-mart/data/sets/15/apple.json"; import EmojiMart from "@emoji-mart/react"; -import { - type ComponentProps, - type FC, - useEffect, - useLayoutEffect, -} from "react"; +import { type ComponentProps, type FC, useEffect } from "react"; import icons from "theme/icons.json"; const custom = [ diff --git a/site/src/components/Paywall/PopoverPaywall.tsx b/site/src/components/Paywall/PopoverPaywall.tsx index ccb60db5286eb..1e1661381fc31 100644 --- a/site/src/components/Paywall/PopoverPaywall.tsx +++ b/site/src/components/Paywall/PopoverPaywall.tsx @@ -88,7 +88,7 @@ const FeatureIcon: FC = () => { }; const styles = { - root: (theme) => ({ + root: { display: "flex", flexDirection: "row", alignItems: "center", @@ -96,7 +96,7 @@ const styles = { padding: "24px 36px", borderRadius: 8, gap: 18, - }), + }, title: { fontWeight: 600, fontFamily: "inherit", diff --git a/site/src/components/Select/Select.stories.tsx b/site/src/components/Select/Select.stories.tsx index f16ff31c4b023..12854a0478fd0 100644 --- a/site/src/components/Select/Select.stories.tsx +++ b/site/src/components/Select/Select.stories.tsx @@ -1,5 +1,4 @@ import type { Meta, StoryObj } from "@storybook/react"; -import { userEvent } from "@storybook/test"; import { Select, SelectContent, diff --git a/site/src/components/SettingsHeader/SettingsHeader.tsx b/site/src/components/SettingsHeader/SettingsHeader.tsx index eb377d17696f5..edd06a6957815 100644 --- a/site/src/components/SettingsHeader/SettingsHeader.tsx +++ b/site/src/components/SettingsHeader/SettingsHeader.tsx @@ -1,5 +1,4 @@ import { useTheme } from "@emotion/react"; -import LaunchOutlined from "@mui/icons-material/LaunchOutlined"; import { Button } from "components/Button/Button"; import { Stack } from "components/Stack/Stack"; import { SquareArrowOutUpRightIcon } from "lucide-react"; diff --git a/site/src/modules/dashboard/Navbar/DeploymentDropdown.tsx b/site/src/modules/dashboard/Navbar/DeploymentDropdown.tsx index 876a3eb441cf1..9659a70ea32b3 100644 --- a/site/src/modules/dashboard/Navbar/DeploymentDropdown.tsx +++ b/site/src/modules/dashboard/Navbar/DeploymentDropdown.tsx @@ -1,7 +1,6 @@ import { type Interpolation, type Theme, css, useTheme } from "@emotion/react"; import MenuItem from "@mui/material/MenuItem"; import { Button } from "components/Button/Button"; -import { FeatureStageBadge } from "components/FeatureStageBadge/FeatureStageBadge"; import { Popover, PopoverContent, diff --git a/site/src/modules/dashboard/Navbar/MobileMenu.stories.tsx b/site/src/modules/dashboard/Navbar/MobileMenu.stories.tsx index 6991a8af4966c..5392ecaaee6c9 100644 --- a/site/src/modules/dashboard/Navbar/MobileMenu.stories.tsx +++ b/site/src/modules/dashboard/Navbar/MobileMenu.stories.tsx @@ -2,7 +2,6 @@ import type { Meta, StoryObj } from "@storybook/react"; import { fn, userEvent, within } from "@storybook/test"; import { PointerEventsCheckLevel } from "@testing-library/user-event"; import type { FC } from "react"; -import { chromaticWithTablet } from "testHelpers/chromatic"; import { MockPrimaryWorkspaceProxy, MockProxyLatencies, diff --git a/site/src/modules/dashboard/Navbar/MobileMenu.tsx b/site/src/modules/dashboard/Navbar/MobileMenu.tsx index ae5f600ba68de..3debc742a9a37 100644 --- a/site/src/modules/dashboard/Navbar/MobileMenu.tsx +++ b/site/src/modules/dashboard/Navbar/MobileMenu.tsx @@ -13,7 +13,6 @@ import { DropdownMenuSeparator, DropdownMenuTrigger, } from "components/DropdownMenu/DropdownMenu"; -import { FeatureStageBadge } from "components/FeatureStageBadge/FeatureStageBadge"; import { displayError } from "components/GlobalSnackbar/utils"; import { Latency } from "components/Latency/Latency"; import type { ProxyContextValue } from "contexts/ProxyContext"; diff --git a/site/src/modules/provisioners/ProvisionerAlert.tsx b/site/src/modules/provisioners/ProvisionerAlert.tsx index 95c4417ba68ce..2d14237b414ed 100644 --- a/site/src/modules/provisioners/ProvisionerAlert.tsx +++ b/site/src/modules/provisioners/ProvisionerAlert.tsx @@ -2,7 +2,6 @@ import type { Theme } from "@emotion/react"; import AlertTitle from "@mui/material/AlertTitle"; import { Alert, type AlertColor } from "components/Alert/Alert"; import { AlertDetail } from "components/Alert/Alert"; -import { Stack } from "components/Stack/Stack"; import { ProvisionerTag } from "modules/provisioners/ProvisionerTag"; import type { FC } from "react"; diff --git a/site/src/modules/provisioners/ProvisionerTagsField.tsx b/site/src/modules/provisioners/ProvisionerTagsField.tsx index 26ef7f2ebefe9..759a43657368e 100644 --- a/site/src/modules/provisioners/ProvisionerTagsField.tsx +++ b/site/src/modules/provisioners/ProvisionerTagsField.tsx @@ -1,7 +1,6 @@ import TextField from "@mui/material/TextField"; import type { ProvisionerDaemon } from "api/typesGenerated"; import { Button } from "components/Button/Button"; -import { Input } from "components/Input/Input"; import { PlusIcon } from "lucide-react"; import { ProvisionerTag } from "modules/provisioners/ProvisionerTag"; import { type FC, useRef, useState } from "react"; diff --git a/site/src/modules/resources/TerminalLink/TerminalLink.tsx b/site/src/modules/resources/TerminalLink/TerminalLink.tsx index f7a07131e4cd0..c0ebac1e6ee62 100644 --- a/site/src/modules/resources/TerminalLink/TerminalLink.tsx +++ b/site/src/modules/resources/TerminalLink/TerminalLink.tsx @@ -1,5 +1,4 @@ import Link from "@mui/material/Link"; -import type * as TypesGen from "api/typesGenerated"; import { TerminalIcon } from "components/Icons/TerminalIcon"; import type { FC, MouseEvent } from "react"; import { generateRandomString } from "utils/random"; diff --git a/site/src/pages/CreateUserPage/CreateUserPage.tsx b/site/src/pages/CreateUserPage/CreateUserPage.tsx index 578c66e8f10e1..5ebbdccf76581 100644 --- a/site/src/pages/CreateUserPage/CreateUserPage.tsx +++ b/site/src/pages/CreateUserPage/CreateUserPage.tsx @@ -1,8 +1,7 @@ import { authMethods, createUser } from "api/queries/users"; import { displaySuccess } from "components/GlobalSnackbar/utils"; import { Margins } from "components/Margins/Margins"; -import { useDebouncedFunction } from "hooks/debounce"; -import { type FC, useState } from "react"; +import type { FC } from "react"; import { Helmet } from "react-helmet-async"; import { useMutation, useQuery, useQueryClient } from "react-query"; import { useNavigate } from "react-router-dom"; diff --git a/site/src/pages/CreateWorkspacePage/CreateWorkspacePage.tsx b/site/src/pages/CreateWorkspacePage/CreateWorkspacePage.tsx index b2481b4729915..150a79bd69487 100644 --- a/site/src/pages/CreateWorkspacePage/CreateWorkspacePage.tsx +++ b/site/src/pages/CreateWorkspacePage/CreateWorkspacePage.tsx @@ -134,7 +134,7 @@ const CreateWorkspacePage: FC = () => { }); onCreateWorkspace(newWorkspace); - } catch (err) { + } catch { setMode("form"); } }); diff --git a/site/src/pages/DeploymentSettingsPage/ExternalAuthSettingsPage/ExternalAuthSettingsPage.tsx b/site/src/pages/DeploymentSettingsPage/ExternalAuthSettingsPage/ExternalAuthSettingsPage.tsx index 27edefa229b2f..03908da7e3a78 100644 --- a/site/src/pages/DeploymentSettingsPage/ExternalAuthSettingsPage/ExternalAuthSettingsPage.tsx +++ b/site/src/pages/DeploymentSettingsPage/ExternalAuthSettingsPage/ExternalAuthSettingsPage.tsx @@ -1,4 +1,3 @@ -import { Loader } from "components/Loader/Loader"; import { useDeploymentSettings } from "modules/management/DeploymentSettingsProvider"; import type { FC } from "react"; import { Helmet } from "react-helmet-async"; diff --git a/site/src/pages/DeploymentSettingsPage/GeneralSettingsPage/GeneralSettingsPage.tsx b/site/src/pages/DeploymentSettingsPage/GeneralSettingsPage/GeneralSettingsPage.tsx index 77b9576f24152..32a9c3c971d78 100644 --- a/site/src/pages/DeploymentSettingsPage/GeneralSettingsPage/GeneralSettingsPage.tsx +++ b/site/src/pages/DeploymentSettingsPage/GeneralSettingsPage/GeneralSettingsPage.tsx @@ -1,5 +1,4 @@ import { deploymentDAUs } from "api/queries/deployment"; -import { entitlements } from "api/queries/entitlements"; import { availableExperiments, experiments } from "api/queries/experiments"; import { useEmbeddedMetadata } from "hooks/useEmbeddedMetadata"; import { useDeploymentSettings } from "modules/management/DeploymentSettingsProvider"; diff --git a/site/src/pages/DeploymentSettingsPage/GeneralSettingsPage/GeneralSettingsPageView.tsx b/site/src/pages/DeploymentSettingsPage/GeneralSettingsPage/GeneralSettingsPageView.tsx index 75f0d48615347..57bb213457e9f 100644 --- a/site/src/pages/DeploymentSettingsPage/GeneralSettingsPage/GeneralSettingsPageView.tsx +++ b/site/src/pages/DeploymentSettingsPage/GeneralSettingsPage/GeneralSettingsPageView.tsx @@ -1,7 +1,6 @@ import AlertTitle from "@mui/material/AlertTitle"; import type { DAUsResponse, - Entitlements, Experiments, SerpentOption, } from "api/typesGenerated"; diff --git a/site/src/pages/DeploymentSettingsPage/NetworkSettingsPage/NetworkSettingsPage.tsx b/site/src/pages/DeploymentSettingsPage/NetworkSettingsPage/NetworkSettingsPage.tsx index ec77bb95e5241..cdbc3fb142ff1 100644 --- a/site/src/pages/DeploymentSettingsPage/NetworkSettingsPage/NetworkSettingsPage.tsx +++ b/site/src/pages/DeploymentSettingsPage/NetworkSettingsPage/NetworkSettingsPage.tsx @@ -1,4 +1,3 @@ -import { Loader } from "components/Loader/Loader"; import { useDeploymentSettings } from "modules/management/DeploymentSettingsProvider"; import type { FC } from "react"; import { Helmet } from "react-helmet-async"; diff --git a/site/src/pages/DeploymentSettingsPage/NotificationsPage/NotificationsPage.tsx b/site/src/pages/DeploymentSettingsPage/NotificationsPage/NotificationsPage.tsx index a68013b0bfef3..2e73e4c6a2b9b 100644 --- a/site/src/pages/DeploymentSettingsPage/NotificationsPage/NotificationsPage.tsx +++ b/site/src/pages/DeploymentSettingsPage/NotificationsPage/NotificationsPage.tsx @@ -11,7 +11,6 @@ import { TabLink, Tabs, TabsList } from "components/Tabs/Tabs"; import { useSearchParamsKey } from "hooks/useSearchParamsKey"; import { useDeploymentSettings } from "modules/management/DeploymentSettingsProvider"; import { castNotificationMethod } from "modules/notifications/utils"; -import { Section } from "pages/UserSettingsPage/Section"; import type { FC } from "react"; import { Helmet } from "react-helmet-async"; import { useQueries } from "react-query"; diff --git a/site/src/pages/DeploymentSettingsPage/OAuth2AppsSettingsPage/CreateOAuth2AppPage.tsx b/site/src/pages/DeploymentSettingsPage/OAuth2AppsSettingsPage/CreateOAuth2AppPage.tsx index 72b1954bedacc..2c91a64b4ae8c 100644 --- a/site/src/pages/DeploymentSettingsPage/OAuth2AppsSettingsPage/CreateOAuth2AppPage.tsx +++ b/site/src/pages/DeploymentSettingsPage/OAuth2AppsSettingsPage/CreateOAuth2AppPage.tsx @@ -28,7 +28,7 @@ const CreateOAuth2AppPage: FC = () => { `Successfully added the OAuth2 application "${app.name}".`, ); navigate(`/deployment/oauth2-provider/apps/${app.id}?created=true`); - } catch (ignore) { + } catch { displayError("Failed to create OAuth2 application"); } }} diff --git a/site/src/pages/DeploymentSettingsPage/OAuth2AppsSettingsPage/CreateOAuth2AppPageView.tsx b/site/src/pages/DeploymentSettingsPage/OAuth2AppsSettingsPage/CreateOAuth2AppPageView.tsx index 00ec6569407e8..cc7330f13fc74 100644 --- a/site/src/pages/DeploymentSettingsPage/OAuth2AppsSettingsPage/CreateOAuth2AppPageView.tsx +++ b/site/src/pages/DeploymentSettingsPage/OAuth2AppsSettingsPage/CreateOAuth2AppPageView.tsx @@ -1,4 +1,3 @@ -import KeyboardArrowLeft from "@mui/icons-material/KeyboardArrowLeft"; import type * as TypesGen from "api/typesGenerated"; import { ErrorAlert } from "components/Alert/ErrorAlert"; import { Button } from "components/Button/Button"; diff --git a/site/src/pages/DeploymentSettingsPage/OAuth2AppsSettingsPage/EditOAuth2AppPage.tsx b/site/src/pages/DeploymentSettingsPage/OAuth2AppsSettingsPage/EditOAuth2AppPage.tsx index 8eb4203e8e29e..0292fcac307dc 100644 --- a/site/src/pages/DeploymentSettingsPage/OAuth2AppsSettingsPage/EditOAuth2AppPage.tsx +++ b/site/src/pages/DeploymentSettingsPage/OAuth2AppsSettingsPage/EditOAuth2AppPage.tsx @@ -62,7 +62,7 @@ const EditOAuth2AppPage: FC = () => { `Successfully updated the OAuth2 application "${req.name}".`, ); navigate("/deployment/oauth2-provider/apps?updated=true"); - } catch (ignore) { + } catch { displayError("Failed to update OAuth2 application"); } }} @@ -73,7 +73,7 @@ const EditOAuth2AppPage: FC = () => { `You have successfully deleted the OAuth2 application "${name}"`, ); navigate("/deployment/oauth2-provider/apps?deleted=true"); - } catch (error) { + } catch { displayError("Failed to delete OAuth2 application"); } }} @@ -82,7 +82,7 @@ const EditOAuth2AppPage: FC = () => { const secret = await postSecretMutation.mutateAsync(appId); displaySuccess("Successfully generated OAuth2 client secret"); setFullNewSecret(secret); - } catch (ignore) { + } catch { displayError("Failed to generate OAuth2 client secret"); } }} @@ -93,7 +93,7 @@ const EditOAuth2AppPage: FC = () => { if (fullNewSecret?.id === secretId) { setFullNewSecret(undefined); } - } catch (ignore) { + } catch { displayError("Failed to delete OAuth2 client secret"); } }} diff --git a/site/src/pages/DeploymentSettingsPage/SecuritySettingsPage/SecuritySettingsPage.tsx b/site/src/pages/DeploymentSettingsPage/SecuritySettingsPage/SecuritySettingsPage.tsx index bda0988f01966..1ac3fb00c7569 100644 --- a/site/src/pages/DeploymentSettingsPage/SecuritySettingsPage/SecuritySettingsPage.tsx +++ b/site/src/pages/DeploymentSettingsPage/SecuritySettingsPage/SecuritySettingsPage.tsx @@ -1,4 +1,3 @@ -import { Loader } from "components/Loader/Loader"; import { useDashboard } from "modules/dashboard/useDashboard"; import { useDeploymentSettings } from "modules/management/DeploymentSettingsProvider"; import type { FC } from "react"; diff --git a/site/src/pages/DeploymentSettingsPage/UserAuthSettingsPage/UserAuthSettingsPage.tsx b/site/src/pages/DeploymentSettingsPage/UserAuthSettingsPage/UserAuthSettingsPage.tsx index 1511e29aca2d0..1502fe0eab366 100644 --- a/site/src/pages/DeploymentSettingsPage/UserAuthSettingsPage/UserAuthSettingsPage.tsx +++ b/site/src/pages/DeploymentSettingsPage/UserAuthSettingsPage/UserAuthSettingsPage.tsx @@ -1,4 +1,3 @@ -import { Loader } from "components/Loader/Loader"; import { useDeploymentSettings } from "modules/management/DeploymentSettingsProvider"; import type { FC } from "react"; import { Helmet } from "react-helmet-async"; diff --git a/site/src/pages/OrganizationSettingsPage/CustomRolesPage/CustomRolesPageView.tsx b/site/src/pages/OrganizationSettingsPage/CustomRolesPage/CustomRolesPageView.tsx index 1bb1f049aa804..c770d7396611d 100644 --- a/site/src/pages/OrganizationSettingsPage/CustomRolesPage/CustomRolesPageView.tsx +++ b/site/src/pages/OrganizationSettingsPage/CustomRolesPage/CustomRolesPageView.tsx @@ -1,4 +1,4 @@ -import { type Interpolation, type Theme, useTheme } from "@emotion/react"; +import type { Interpolation, Theme } from "@emotion/react"; import AddIcon from "@mui/icons-material/AddOutlined"; import AddOutlined from "@mui/icons-material/AddOutlined"; import Button from "@mui/material/Button"; diff --git a/site/src/pages/OrganizationSettingsPage/IdpSyncPage/IdpSyncPage.tsx b/site/src/pages/OrganizationSettingsPage/IdpSyncPage/IdpSyncPage.tsx index 769510d4bf22f..91d138ed26a5a 100644 --- a/site/src/pages/OrganizationSettingsPage/IdpSyncPage/IdpSyncPage.tsx +++ b/site/src/pages/OrganizationSettingsPage/IdpSyncPage/IdpSyncPage.tsx @@ -8,7 +8,6 @@ import { roleIdpSyncSettings, } from "api/queries/organizations"; import { organizationRoles } from "api/queries/roles"; -import type { GroupSyncSettings, RoleSyncSettings } from "api/typesGenerated"; import { ChooseOne, Cond } from "components/Conditionals/ChooseOne"; import { EmptyState } from "components/EmptyState/EmptyState"; import { displayError } from "components/GlobalSnackbar/utils"; diff --git a/site/src/pages/OrganizationSettingsPage/OrganizationRedirect.test.tsx b/site/src/pages/OrganizationSettingsPage/OrganizationRedirect.test.tsx index 96e0110d21a80..2572ba0076999 100644 --- a/site/src/pages/OrganizationSettingsPage/OrganizationRedirect.test.tsx +++ b/site/src/pages/OrganizationSettingsPage/OrganizationRedirect.test.tsx @@ -1,4 +1,4 @@ -import { screen, within } from "@testing-library/react"; +import { screen } from "@testing-library/react"; import { http, HttpResponse } from "msw"; import { MockDefaultOrganization, diff --git a/site/src/pages/OrganizationSettingsPage/OrganizationSettingsPageView.tsx b/site/src/pages/OrganizationSettingsPage/OrganizationSettingsPageView.tsx index 8ca6c517b251e..fdad71ac7ba3a 100644 --- a/site/src/pages/OrganizationSettingsPage/OrganizationSettingsPageView.tsx +++ b/site/src/pages/OrganizationSettingsPage/OrganizationSettingsPageView.tsx @@ -1,4 +1,3 @@ -import type { Interpolation, Theme } from "@emotion/react"; import TextField from "@mui/material/TextField"; import { isApiValidationError } from "api/errors"; import type { diff --git a/site/src/pages/OrganizationSettingsPage/ProvisionersPage/ProvisionerDaemonsPage.tsx b/site/src/pages/OrganizationSettingsPage/ProvisionersPage/ProvisionerDaemonsPage.tsx index 93d670eb9b42a..ae57ebb90aad7 100644 --- a/site/src/pages/OrganizationSettingsPage/ProvisionersPage/ProvisionerDaemonsPage.tsx +++ b/site/src/pages/OrganizationSettingsPage/ProvisionersPage/ProvisionerDaemonsPage.tsx @@ -1,5 +1,5 @@ import { provisionerDaemons } from "api/queries/organizations"; -import type { Organization, ProvisionerDaemon } from "api/typesGenerated"; +import type { ProvisionerDaemon } from "api/typesGenerated"; import { Avatar } from "components/Avatar/Avatar"; import { Button } from "components/Button/Button"; import { EmptyState } from "components/EmptyState/EmptyState"; diff --git a/site/src/pages/OrganizationSettingsPage/ProvisionersPage/ProvisionerJobsPage.tsx b/site/src/pages/OrganizationSettingsPage/ProvisionersPage/ProvisionerJobsPage.tsx index e852e90f2cf7f..3d5d9e2d99556 100644 --- a/site/src/pages/OrganizationSettingsPage/ProvisionersPage/ProvisionerJobsPage.tsx +++ b/site/src/pages/OrganizationSettingsPage/ProvisionersPage/ProvisionerJobsPage.tsx @@ -1,5 +1,5 @@ import { provisionerJobs } from "api/queries/organizations"; -import type { Organization, ProvisionerJob } from "api/typesGenerated"; +import type { ProvisionerJob } from "api/typesGenerated"; import { Avatar } from "components/Avatar/Avatar"; import { Badge } from "components/Badge/Badge"; import { Button } from "components/Button/Button"; diff --git a/site/src/pages/OrganizationSettingsPage/UserTable/EditRolesButton.tsx b/site/src/pages/OrganizationSettingsPage/UserTable/EditRolesButton.tsx index 9efd99bccf106..383f8dc80d099 100644 --- a/site/src/pages/OrganizationSettingsPage/UserTable/EditRolesButton.tsx +++ b/site/src/pages/OrganizationSettingsPage/UserTable/EditRolesButton.tsx @@ -17,9 +17,7 @@ import { PopoverContent, PopoverTrigger, } from "components/deprecated/Popover/Popover"; -import { ChevronDownIcon, ChevronRightIcon } from "lucide-react"; import { type FC, useEffect, useState } from "react"; -import { cn } from "utils/cn"; const roleDescriptions: Record = { owner: diff --git a/site/src/pages/ResetPasswordPage/ChangePasswordPage.stories.tsx b/site/src/pages/ResetPasswordPage/ChangePasswordPage.stories.tsx index 2768323ead15b..ce4644ce2d48e 100644 --- a/site/src/pages/ResetPasswordPage/ChangePasswordPage.stories.tsx +++ b/site/src/pages/ResetPasswordPage/ChangePasswordPage.stories.tsx @@ -1,5 +1,5 @@ import type { Meta, StoryObj } from "@storybook/react"; -import { expect, spyOn, userEvent, within } from "@storybook/test"; +import { spyOn, userEvent, within } from "@storybook/test"; import { API } from "api/api"; import { mockApiError } from "testHelpers/entities"; import { withGlobalSnackbar } from "testHelpers/storybook"; diff --git a/site/src/pages/ResetPasswordPage/ChangePasswordPage.tsx b/site/src/pages/ResetPasswordPage/ChangePasswordPage.tsx index 2a633232c99b5..a05fea8cc7761 100644 --- a/site/src/pages/ResetPasswordPage/ChangePasswordPage.tsx +++ b/site/src/pages/ResetPasswordPage/ChangePasswordPage.tsx @@ -2,7 +2,7 @@ import type { Interpolation, Theme } from "@emotion/react"; import LoadingButton from "@mui/lab/LoadingButton"; import Button from "@mui/material/Button"; import TextField from "@mui/material/TextField"; -import { isApiError, isApiValidationError } from "api/errors"; +import { isApiValidationError } from "api/errors"; import { changePasswordWithOTP } from "api/queries/users"; import { ErrorAlert } from "components/Alert/ErrorAlert"; import { CustomLogo } from "components/CustomLogo/CustomLogo"; diff --git a/site/src/pages/ResetPasswordPage/RequestOTPPage.tsx b/site/src/pages/ResetPasswordPage/RequestOTPPage.tsx index 0a097971b6626..6579eb1a0a265 100644 --- a/site/src/pages/ResetPasswordPage/RequestOTPPage.tsx +++ b/site/src/pages/ResetPasswordPage/RequestOTPPage.tsx @@ -2,11 +2,9 @@ import { type Interpolation, type Theme, useTheme } from "@emotion/react"; import LoadingButton from "@mui/lab/LoadingButton"; import Button from "@mui/material/Button"; import TextField from "@mui/material/TextField"; -import { getErrorMessage } from "api/errors"; import { requestOneTimePassword } from "api/queries/users"; import { ErrorAlert } from "components/Alert/ErrorAlert"; import { CustomLogo } from "components/CustomLogo/CustomLogo"; -import { displayError } from "components/GlobalSnackbar/utils"; import { Stack } from "components/Stack/Stack"; import type { FC } from "react"; import { Helmet } from "react-helmet-async"; diff --git a/site/src/pages/SetupPage/SetupPage.tsx b/site/src/pages/SetupPage/SetupPage.tsx index be81f966154ad..58fd7866d9a41 100644 --- a/site/src/pages/SetupPage/SetupPage.tsx +++ b/site/src/pages/SetupPage/SetupPage.tsx @@ -3,7 +3,7 @@ import { authMethods, createFirstUser } from "api/queries/users"; import { Loader } from "components/Loader/Loader"; import { useAuthContext } from "contexts/auth/AuthProvider"; import { useEmbeddedMetadata } from "hooks/useEmbeddedMetadata"; -import { type FC, useEffect, useState } from "react"; +import { type FC, useEffect } from "react"; import { Helmet } from "react-helmet-async"; import { useMutation, useQuery } from "react-query"; import { Navigate, useNavigate } from "react-router-dom"; diff --git a/site/src/pages/SetupPage/SetupPageView.tsx b/site/src/pages/SetupPage/SetupPageView.tsx index 5547518ef64a4..b47a6e9b78f8c 100644 --- a/site/src/pages/SetupPage/SetupPageView.tsx +++ b/site/src/pages/SetupPage/SetupPageView.tsx @@ -17,7 +17,7 @@ import { PasswordField } from "components/PasswordField/PasswordField"; import { SignInLayout } from "components/SignInLayout/SignInLayout"; import { Stack } from "components/Stack/Stack"; import { type FormikContextType, useFormik } from "formik"; -import { type ChangeEvent, type FC, useCallback } from "react"; +import type { ChangeEvent, FC } from "react"; import { docs } from "utils/docs"; import { getFormHelpers, diff --git a/site/src/pages/TemplatePage/TemplateInsightsPage/TemplateInsightsPage.stories.tsx b/site/src/pages/TemplatePage/TemplateInsightsPage/TemplateInsightsPage.stories.tsx index 5ab6c0ea259f4..2638308b876f4 100644 --- a/site/src/pages/TemplatePage/TemplateInsightsPage/TemplateInsightsPage.stories.tsx +++ b/site/src/pages/TemplatePage/TemplateInsightsPage/TemplateInsightsPage.stories.tsx @@ -1,6 +1,5 @@ import type { Meta, StoryObj } from "@storybook/react"; import { chromatic } from "testHelpers/chromatic"; -import { MockEntitlementsWithUserLimit } from "testHelpers/entities"; import { TemplateInsightsPageView } from "./TemplateInsightsPage"; const meta: Meta = { diff --git a/site/src/pages/TemplateSettingsPage/TemplateGeneralSettingsPage/TemplateSettingsPage.test.tsx b/site/src/pages/TemplateSettingsPage/TemplateGeneralSettingsPage/TemplateSettingsPage.test.tsx index 4b4b0f1a7157f..3ceee7cc660f6 100644 --- a/site/src/pages/TemplateSettingsPage/TemplateGeneralSettingsPage/TemplateSettingsPage.test.tsx +++ b/site/src/pages/TemplateSettingsPage/TemplateGeneralSettingsPage/TemplateSettingsPage.test.tsx @@ -1,7 +1,7 @@ import { screen, waitFor } from "@testing-library/react"; import userEvent from "@testing-library/user-event"; import { API, withDefaultFeatures } from "api/api"; -import type { Template, UpdateTemplateMeta } from "api/typesGenerated"; +import type { UpdateTemplateMeta } from "api/typesGenerated"; import { http, HttpResponse } from "msw"; import { MockEntitlements, diff --git a/site/src/pages/TemplatesPage/CreateTemplateButton.tsx b/site/src/pages/TemplatesPage/CreateTemplateButton.tsx index 28a45c26b0625..5f0839973746b 100644 --- a/site/src/pages/TemplatesPage/CreateTemplateButton.tsx +++ b/site/src/pages/TemplatesPage/CreateTemplateButton.tsx @@ -1,5 +1,4 @@ import Inventory2 from "@mui/icons-material/Inventory2"; -import NoteAddOutlined from "@mui/icons-material/NoteAddOutlined"; import UploadOutlined from "@mui/icons-material/UploadOutlined"; import { Button } from "components/Button/Button"; import { diff --git a/site/src/pages/UserSettingsPage/ExternalAuthPage/ExternalAuthPageView.tsx b/site/src/pages/UserSettingsPage/ExternalAuthPage/ExternalAuthPageView.tsx index 59f89924864be..5cb1e4fddeac0 100644 --- a/site/src/pages/UserSettingsPage/ExternalAuthPage/ExternalAuthPageView.tsx +++ b/site/src/pages/UserSettingsPage/ExternalAuthPage/ExternalAuthPageView.tsx @@ -21,7 +21,6 @@ import type { } from "api/typesGenerated"; import { ErrorAlert } from "components/Alert/ErrorAlert"; import { Avatar } from "components/Avatar/Avatar"; -import { AvatarData } from "components/Avatar/AvatarData"; import { Loader } from "components/Loader/Loader"; import { MoreMenu, diff --git a/site/src/pages/UserSettingsPage/NotificationsPage/NotificationsPage.stories.tsx b/site/src/pages/UserSettingsPage/NotificationsPage/NotificationsPage.stories.tsx index cd37bcbd1fdd2..2d7509ac7d171 100644 --- a/site/src/pages/UserSettingsPage/NotificationsPage/NotificationsPage.stories.tsx +++ b/site/src/pages/UserSettingsPage/NotificationsPage/NotificationsPage.stories.tsx @@ -1,12 +1,11 @@ import type { Meta, StoryObj } from "@storybook/react"; -import { expect, spyOn, userEvent, waitFor, within } from "@storybook/test"; +import { expect, spyOn, userEvent, within } from "@storybook/test"; import { API } from "api/api"; import { notificationDispatchMethodsKey, systemNotificationTemplatesKey, userNotificationPreferencesKey, } from "api/queries/notifications"; -import { http, HttpResponse } from "msw"; import { reactRouterParameters } from "storybook-addon-remix-react-router"; import { MockNotificationMethodsResponse, diff --git a/site/src/pages/UserSettingsPage/OAuth2ProviderPage/OAuth2ProviderPageView.tsx b/site/src/pages/UserSettingsPage/OAuth2ProviderPage/OAuth2ProviderPageView.tsx index 93a6891cf5dd7..1670f13471219 100644 --- a/site/src/pages/UserSettingsPage/OAuth2ProviderPage/OAuth2ProviderPageView.tsx +++ b/site/src/pages/UserSettingsPage/OAuth2ProviderPage/OAuth2ProviderPageView.tsx @@ -8,7 +8,6 @@ import TableRow from "@mui/material/TableRow"; import type * as TypesGen from "api/typesGenerated"; import { ErrorAlert } from "components/Alert/ErrorAlert"; import { Avatar } from "components/Avatar/Avatar"; -import { AvatarData } from "components/Avatar/AvatarData"; import { Stack } from "components/Stack/Stack"; import { TableLoader } from "components/TableLoader/TableLoader"; import type { FC } from "react"; diff --git a/site/src/pages/UserSettingsPage/SecurityPage/SecurityForm.tsx b/site/src/pages/UserSettingsPage/SecurityPage/SecurityForm.tsx index 52afa1d3968f0..12b69ae52082e 100644 --- a/site/src/pages/UserSettingsPage/SecurityPage/SecurityForm.tsx +++ b/site/src/pages/UserSettingsPage/SecurityPage/SecurityForm.tsx @@ -1,13 +1,11 @@ import LoadingButton from "@mui/lab/LoadingButton"; import TextField from "@mui/material/TextField"; -import type * as TypesGen from "api/typesGenerated"; import { Alert } from "components/Alert/Alert"; import { ErrorAlert } from "components/Alert/ErrorAlert"; import { Form, FormFields } from "components/Form/Form"; import { PasswordField } from "components/PasswordField/PasswordField"; import { type FormikContextType, useFormik } from "formik"; import type { FC } from "react"; -import { useEffect } from "react"; import { getFormHelpers } from "utils/formUtils"; import * as Yup from "yup"; diff --git a/site/src/pages/UsersPage/UsersFilter.tsx b/site/src/pages/UsersPage/UsersFilter.tsx index 2cf91023a04bc..9666b0652ce7f 100644 --- a/site/src/pages/UsersPage/UsersFilter.tsx +++ b/site/src/pages/UsersPage/UsersFilter.tsx @@ -7,10 +7,7 @@ import { type UseFilterMenuOptions, useFilterMenu, } from "components/Filter/menu"; -import { - StatusIndicator, - StatusIndicatorDot, -} from "components/StatusIndicator/StatusIndicator"; +import { StatusIndicatorDot } from "components/StatusIndicator/StatusIndicator"; import type { FC } from "react"; import { docs } from "utils/docs"; diff --git a/site/src/pages/UsersPage/UsersPage.tsx b/site/src/pages/UsersPage/UsersPage.tsx index 7ee8e19c899ab..81b7dfcb5ca71 100644 --- a/site/src/pages/UsersPage/UsersPage.tsx +++ b/site/src/pages/UsersPage/UsersPage.tsx @@ -23,12 +23,7 @@ import { useDashboard } from "modules/dashboard/useDashboard"; import { type FC, useState } from "react"; import { Helmet } from "react-helmet-async"; import { useMutation, useQuery, useQueryClient } from "react-query"; -import { - Navigate, - useLocation, - useNavigate, - useSearchParams, -} from "react-router-dom"; +import { useLocation, useNavigate, useSearchParams } from "react-router-dom"; import { pageTitle } from "utils/page"; import { generateRandomString } from "utils/random"; import { ResetPasswordDialog } from "./ResetPasswordDialog"; diff --git a/site/src/pages/WorkspacePage/Workspace.stories.tsx b/site/src/pages/WorkspacePage/Workspace.stories.tsx index 05a209ab35555..9ff40eccaf12c 100644 --- a/site/src/pages/WorkspacePage/Workspace.stories.tsx +++ b/site/src/pages/WorkspacePage/Workspace.stories.tsx @@ -5,7 +5,6 @@ import { ProxyContext, getPreferredProxy } from "contexts/ProxyContext"; import * as Mocks from "testHelpers/entities"; import { withDashboardProvider } from "testHelpers/storybook"; import { Workspace } from "./Workspace"; -import { WorkspaceBuildLogsSection } from "./WorkspaceBuildLogsSection"; import type { WorkspacePermissions } from "./permissions"; const permissions: WorkspacePermissions = { diff --git a/site/src/pages/WorkspacesPage/WorkspacesEmpty.tsx b/site/src/pages/WorkspacesPage/WorkspacesEmpty.tsx index fa25ebe57be87..e78991df13f69 100644 --- a/site/src/pages/WorkspacesPage/WorkspacesEmpty.tsx +++ b/site/src/pages/WorkspacesPage/WorkspacesEmpty.tsx @@ -1,4 +1,3 @@ -import ArrowForwardOutlined from "@mui/icons-material/ArrowForwardOutlined"; import type { Template } from "api/typesGenerated"; import { Avatar } from "components/Avatar/Avatar"; import { Button } from "components/Button/Button"; diff --git a/site/src/pages/WorkspacesPage/filter/menus.tsx b/site/src/pages/WorkspacesPage/filter/menus.tsx index 67892e44946c4..238e897ea7b81 100644 --- a/site/src/pages/WorkspacesPage/filter/menus.tsx +++ b/site/src/pages/WorkspacesPage/filter/menus.tsx @@ -11,7 +11,6 @@ import { useFilterMenu, } from "components/Filter/menu"; import { - StatusIndicator, StatusIndicatorDot, type StatusIndicatorDotProps, } from "components/StatusIndicator/StatusIndicator";