diff --git a/site/src/components/Badge/Badge.tsx b/site/src/components/Badge/Badge.tsx index 317f1e04e4..df542e4678 100644 --- a/site/src/components/Badge/Badge.tsx +++ b/site/src/components/Badge/Badge.tsx @@ -24,6 +24,8 @@ const badgeVariants = cva( "border border-solid border-border-destructive bg-surface-red text-highlight-red shadow", green: "border border-solid border-border-green bg-surface-green text-highlight-green shadow", + purple: + "border border-solid border-border-purple bg-surface-purple text-highlight-purple shadow", info: "border border-solid border-border-pending bg-surface-sky text-highlight-sky shadow", }, size: { diff --git a/site/src/components/Badges/Badges.stories.tsx b/site/src/components/Badges/Badges.stories.tsx index 36c8fddb37..cde5326a1e 100644 --- a/site/src/components/Badges/Badges.stories.tsx +++ b/site/src/components/Badges/Badges.stories.tsx @@ -2,8 +2,10 @@ import type { Meta, StoryObj } from "@storybook/react-vite"; import { AlphaBadge, Badges, + DeprecatedBadge, DisabledBadge, EnabledBadge, + EnterpriseBadge, EntitledBadge, HealthyBadge, NotHealthyBadge, @@ -65,3 +67,13 @@ export const Alpha: Story = { children: , }, }; +export const Enterprise: Story = { + args: { + children: , + }, +}; +export const Deprecated: Story = { + args: { + children: , + }, +}; diff --git a/site/src/components/Badges/Badges.tsx b/site/src/components/Badges/Badges.tsx index 90ae6dc506..7d6a508494 100644 --- a/site/src/components/Badges/Badges.tsx +++ b/site/src/components/Badges/Badges.tsx @@ -1,4 +1,3 @@ -import type { Interpolation, Theme } from "@emotion/react"; import { Badge } from "components/Badge/Badge"; import { Stack } from "components/Stack/Stack"; import { @@ -12,72 +11,50 @@ import { type HTMLAttributes, type PropsWithChildren, } from "react"; -import { cn } from "utils/cn"; - -const styles = { - badge: { - fontSize: 10, - height: 24, - fontWeight: 600, - textTransform: "uppercase", - letterSpacing: "0.085em", - padding: "0 12px", - borderRadius: 9999, - display: "flex", - alignItems: "center", - width: "fit-content", - whiteSpace: "nowrap", - }, - - enabledBadge: (theme) => ({ - border: `1px solid ${theme.roles.success.outline}`, - backgroundColor: theme.roles.success.background, - color: theme.roles.success.text, - }), - errorBadge: (theme) => ({ - border: `1px solid ${theme.roles.error.outline}`, - backgroundColor: theme.roles.error.background, - color: theme.roles.error.text, - }), - warnBadge: (theme) => ({ - border: `1px solid ${theme.roles.warning.outline}`, - backgroundColor: theme.roles.warning.background, - color: theme.roles.warning.text, - }), -} satisfies Record>; export const EnabledBadge: FC = () => { return ( - + Enabled - + ); }; export const EntitledBadge: FC = () => { - return Entitled; + return ( + + Entitled + + ); }; -interface HealthyBadge { +interface HealthyBadgeProps { derpOnly?: boolean; } -export const HealthyBadge: FC = ({ derpOnly }) => { + +export const HealthyBadge: FC = ({ derpOnly }) => { return ( - + {derpOnly ? "Healthy (DERP only)" : "Healthy"} - + ); }; export const NotHealthyBadge: FC = () => { - return Unhealthy; + return ( + + Unhealthy + + ); }; export const NotRegisteredBadge: FC = () => { return ( - Never seen + + Never seen + Workspace Proxy has never come online and needs to be started. @@ -90,7 +67,9 @@ export const NotReachableBadge: FC = () => { return ( - Not reachable + + Not reachable + Workspace Proxy not responding to http(s) requests. @@ -100,42 +79,21 @@ export const NotReachableBadge: FC = () => { }; export const DisabledBadge: FC = forwardRef< - HTMLSpanElement, - HTMLAttributes + HTMLDivElement, + HTMLAttributes >((props, ref) => { return ( - ({ - border: `1px solid ${theme.experimental.l1.outline}`, - backgroundColor: theme.experimental.l1.background, - color: theme.experimental.l1.text, - }), - ]} - className="option-disabled" - > + Disabled - + ); }); export const EnterpriseBadge: FC = () => { return ( - ({ - backgroundColor: theme.branding.enterprise.background, - border: `1px solid ${theme.branding.enterprise.border}`, - color: theme.branding.enterprise.text, - }), - ]} - > + Enterprise - + ); }; @@ -147,13 +105,7 @@ export const PremiumBadge: FC = ({ children = "Premium", }) => { return ( - + {children} ); @@ -161,52 +113,25 @@ export const PremiumBadge: FC = ({ export const PreviewBadge: FC = () => { return ( - ({ - border: `1px solid ${theme.roles.preview.outline}`, - backgroundColor: theme.roles.preview.background, - color: theme.roles.preview.text, - }), - ]} - > + Preview - + ); }; export const AlphaBadge: FC = () => { return ( - ({ - border: `1px solid ${theme.roles.preview.outline}`, - backgroundColor: theme.roles.preview.background, - color: theme.roles.preview.text, - }), - ]} - > + Alpha - + ); }; export const DeprecatedBadge: FC = () => { return ( - ({ - border: `1px solid ${theme.roles.danger.outline}`, - backgroundColor: theme.roles.danger.background, - color: theme.roles.danger.text, - }), - ]} - > + Deprecated - + ); }; diff --git a/site/src/components/Form/Form.tsx b/site/src/components/Form/Form.tsx index d535a63642..e1a31ea653 100644 --- a/site/src/components/Form/Form.tsx +++ b/site/src/components/Form/Form.tsx @@ -108,11 +108,13 @@ export const FormSection = forwardRef( ]} className={classes.sectionInfo} > -

- {title} +
+

+ {title} +

{alpha && } {deprecated && } -

+
{description}