From c6638f5547a04e304bdf1132a3c307fff442e4e0 Mon Sep 17 00:00:00 2001 From: Jake Howell Date: Fri, 27 Feb 2026 22:29:40 +1100 Subject: [PATCH] feat: remove mui from `` (#22368) This migrates the content from using `MUI` to the new standard `shadcn` components on the ``. Things should work exactly how they did before, but with a new shinier coat of paint. | Old | New | | --- | --- | | APPEARANCE_SETTINGS_OLD | APPEARANCE_SETTINGS_NEW | --- .../AnnouncementBannerSettings.tsx | 58 +++----------- .../AppearanceSettingsPageView.tsx | 76 ++++++++----------- .../pages/DeploymentSettingsPage/Fieldset.tsx | 51 ++----------- 3 files changed, 49 insertions(+), 136 deletions(-) diff --git a/site/src/pages/DeploymentSettingsPage/AppearanceSettingsPage/AnnouncementBannerSettings.tsx b/site/src/pages/DeploymentSettingsPage/AppearanceSettingsPage/AnnouncementBannerSettings.tsx index fb9978f84d..b596bd31ea 100644 --- a/site/src/pages/DeploymentSettingsPage/AppearanceSettingsPage/AnnouncementBannerSettings.tsx +++ b/site/src/pages/DeploymentSettingsPage/AppearanceSettingsPage/AnnouncementBannerSettings.tsx @@ -1,10 +1,8 @@ -import { type CSSObject, useTheme } from "@emotion/react"; -import Link from "@mui/material/Link"; import type { BannerConfig } from "api/typesGenerated"; import { Button } from "components/Button/Button"; import { ConfirmDialog } from "components/Dialogs/ConfirmDialog/ConfirmDialog"; import { EmptyState } from "components/EmptyState/EmptyState"; -import { Stack } from "components/Stack/Stack"; +import { Link } from "components/Link/Link"; import { Table, TableBody, @@ -27,7 +25,6 @@ interface AnnouncementBannersettingsProps { export const AnnouncementBannerSettings: FC< AnnouncementBannersettingsProps > = ({ isEntitled, announcementBanners, onSubmit }) => { - const theme = useTheme(); const [banners, setBanners] = useState(announcementBanners); const [editingBannerId, setEditingBannerId] = useState(null); const [deletingBannerId, setDeletingBannerId] = useState(null); @@ -65,29 +62,10 @@ export const AnnouncementBannerSettings: FC< return ( <> -
+
- -

- Announcement Banners -

+
+

Announcement Banners

- -
+
+
Display message banners to all users.
-
+
@@ -147,20 +119,14 @@ export const AnnouncementBannerSettings: FC< {!isEntitled && ( -
+

Your license does not include Service Banners.{" "} - Contact sales to - learn more. + + Contact sales + {" "} + to learn more.

diff --git a/site/src/pages/DeploymentSettingsPage/AppearanceSettingsPage/AppearanceSettingsPageView.tsx b/site/src/pages/DeploymentSettingsPage/AppearanceSettingsPage/AppearanceSettingsPageView.tsx index 52f8f690de..d8312b0fab 100644 --- a/site/src/pages/DeploymentSettingsPage/AppearanceSettingsPage/AppearanceSettingsPageView.tsx +++ b/site/src/pages/DeploymentSettingsPage/AppearanceSettingsPage/AppearanceSettingsPageView.tsx @@ -1,5 +1,3 @@ -import InputAdornment from "@mui/material/InputAdornment"; -import TextField from "@mui/material/TextField"; import type { UpdateAppearanceConfig } from "api/typesGenerated"; import { Badges, @@ -7,6 +5,12 @@ import { PremiumBadge, } from "components/Badges/Badges"; import { Button } from "components/Button/Button"; +import { Input } from "components/Input/Input"; +import { + InputGroup, + InputGroupAddon, + InputGroupInput, +} from "components/InputGroup/InputGroup"; import { PopoverPaywall } from "components/Paywall/PopoverPaywall"; import { SettingsHeader, @@ -98,15 +102,11 @@ export const AppearanceSettingsPageView: FC< onSubmit={applicationNameForm.handleSubmit} button={!isEntitled && } > - @@ -122,44 +122,28 @@ export const AppearanceSettingsPageView: FC< onSubmit={logoForm.handleSubmit} button={!isEntitled && } > - - { - e.currentTarget.style.display = "none"; - }} - onLoad={(e) => { - e.currentTarget.style.display = "inline"; - }} - /> - - ), - }} - inputProps={{ - "aria-label": "Logo URL", - }} - /> + + + + { + e.currentTarget.style.display = "none"; + }} + onLoad={(e) => { + e.currentTarget.style.display = "inline"; + }} + /> + + = ({ onSubmit, isSubmitting, }) => { - const theme = useTheme(); - return (
-
-
- {title} -
+
+
{title}
{subtitle && ( -
- {subtitle} -
+
{subtitle}
)} -
- {children} -
+
{children}
-
-
{validation}
+
+
{validation}
{button || (