diff --git a/site/src/components/AppLink/AppLink.tsx b/site/src/components/AppLink/AppLink.tsx index 6e1df2055ecdd..afeb36f26ec96 100644 --- a/site/src/components/AppLink/AppLink.tsx +++ b/site/src/components/AppLink/AppLink.tsx @@ -1,9 +1,9 @@ -import Button from "@material-ui/core/Button" import CircularProgress from "@material-ui/core/CircularProgress" import Link from "@material-ui/core/Link" import { makeStyles } from "@material-ui/core/styles" import Tooltip from "@material-ui/core/Tooltip" import ErrorOutlineIcon from "@material-ui/icons/ErrorOutline" +import { PrimaryAgentButton } from "components/Resources/AgentButton" import { FC } from "react" import { combineClasses } from "utils/combineClasses" import * as TypesGen from "../../api/typesGenerated" @@ -83,16 +83,15 @@ export const AppLink: FC = ({ const isPrivateApp = app.sharing_level === "owner" const button = ( - + ) return ( @@ -132,24 +131,6 @@ const useStyles = makeStyles((theme) => ({ textDecoration: "none !important", }, - button: { - whiteSpace: "nowrap", - backgroundColor: theme.palette.background.default, - padding: theme.spacing(0, 3), - height: 44, - borderRadius: 6, - - "&:hover": { - backgroundColor: `${theme.palette.background.paper} !important`, - }, - - "& .MuiButton-startIcon": { - width: 16, - height: 16, - marginRight: theme.spacing(1.5), - }, - }, - unhealthyIcon: { color: theme.palette.warning.light, }, diff --git a/site/src/components/PortForwardButton/PortForwardButton.tsx b/site/src/components/PortForwardButton/PortForwardButton.tsx index b6bf66b93682f..d54da30e1fc84 100644 --- a/site/src/components/PortForwardButton/PortForwardButton.tsx +++ b/site/src/components/PortForwardButton/PortForwardButton.tsx @@ -16,6 +16,7 @@ import { import { Maybe } from "components/Conditionals/Maybe" import { useMachine } from "@xstate/react" import { portForwardMachine } from "xServices/portForward/portForwardXService" +import { SecondaryAgentButton } from "components/Resources/AgentButton" export interface PortForwardButtonProps { host: string @@ -147,17 +148,14 @@ export const PortForwardButton: React.FC = (props) => { return ( <> - + ({ form: { margin: theme.spacing(1.5, 0, 0), }, - - button: { - fontSize: 12, - fontWeight: 500, - height: theme.spacing(4), - minHeight: theme.spacing(4), - borderRadius: 4, - }, })) diff --git a/site/src/components/Resources/AgentButton.tsx b/site/src/components/Resources/AgentButton.tsx new file mode 100644 index 0000000000000..9b3d7975b35ec --- /dev/null +++ b/site/src/components/Resources/AgentButton.tsx @@ -0,0 +1,68 @@ +import { makeStyles } from "@material-ui/core/styles" +import Button, { ButtonProps } from "@material-ui/core/Button" +import { FC } from "react" +import { combineClasses } from "utils/combineClasses" + +export const PrimaryAgentButton: FC = ({ + className, + ...props +}) => { + const styles = useStyles() + + return ( + + ({ textHelper: { fontWeight: 400, }, - - button: { - fontSize: 12, - fontWeight: 500, - height: theme.spacing(4), - minHeight: theme.spacing(4), - borderRadius: 4, - }, })) diff --git a/site/src/components/TerminalLink/TerminalLink.tsx b/site/src/components/TerminalLink/TerminalLink.tsx index c4cb39ff1ba38..05d51d31e924b 100644 --- a/site/src/components/TerminalLink/TerminalLink.tsx +++ b/site/src/components/TerminalLink/TerminalLink.tsx @@ -1,8 +1,7 @@ -import Button from "@material-ui/core/Button" -import { makeStyles } from "@material-ui/core/styles" +import Link from "@material-ui/core/Link" +import { SecondaryAgentButton } from "components/Resources/AgentButton" import { FC } from "react" import * as TypesGen from "../../api/typesGenerated" -import { combineClasses } from "../../utils/combineClasses" import { generateRandomString } from "../../utils/random" export const Language = { @@ -14,7 +13,6 @@ export interface TerminalLinkProps { agentName?: TypesGen.WorkspaceAgent["name"] userName?: TypesGen.User["username"] workspaceName: TypesGen.Workspace["name"] - className?: string } /** @@ -28,20 +26,15 @@ export const TerminalLink: FC> = ({ agentName, userName = "me", workspaceName, - className = "", }) => { - const styles = useStyles() const href = `/@${userName}/${workspaceName}${ agentName ? `.${agentName}` : "" }/terminal` return ( - + + {Language.linkText} + + ) } - -const useStyles = makeStyles((theme) => ({ - button: { - fontSize: 12, - fontWeight: 500, - height: theme.spacing(4), - minHeight: theme.spacing(4), - borderRadius: 4, - }, -})) diff --git a/site/src/components/VSCodeDesktopButton/VSCodeDesktopButton.tsx b/site/src/components/VSCodeDesktopButton/VSCodeDesktopButton.tsx index 42fd9e430007e..ea346d08511a2 100644 --- a/site/src/components/VSCodeDesktopButton/VSCodeDesktopButton.tsx +++ b/site/src/components/VSCodeDesktopButton/VSCodeDesktopButton.tsx @@ -1,8 +1,7 @@ -import { makeStyles } from "@material-ui/core/styles" -import Button from "@material-ui/core/Button" import { getApiKey } from "api/api" import { VSCodeIcon } from "components/Icons/VSCodeIcon" import { FC, PropsWithChildren, useState } from "react" +import { PrimaryAgentButton } from "components/Resources/AgentButton" export interface VSCodeDesktopButtonProps { userName: string @@ -15,13 +14,11 @@ export const VSCodeDesktopButton: FC< PropsWithChildren > = ({ userName, workspaceName, agentName, folderPath }) => { const [loading, setLoading] = useState(false) - const styles = useStyles() return ( - + ) } - -const useStyles = makeStyles((theme) => ({ - button: { - whiteSpace: "nowrap", - backgroundColor: theme.palette.background.default, - padding: theme.spacing(0, 3), - height: 44, - borderRadius: 6, - - "&:hover": { - backgroundColor: `${theme.palette.background.paper} !important`, - }, - - "& .MuiButton-startIcon": { - marginRight: theme.spacing(1.5), - width: 16, - height: 16, - - "& svg": { - width: "100%", - height: "100%", - }, - }, - }, -}))