diff --git a/site/src/components/Dashboard/DashboardLayout.tsx b/site/src/components/Dashboard/DashboardLayout.tsx
index e7f01c9e3a161..605f305a49356 100644
--- a/site/src/components/Dashboard/DashboardLayout.tsx
+++ b/site/src/components/Dashboard/DashboardLayout.tsx
@@ -12,7 +12,7 @@ import { updateCheckMachine } from "xServices/updateCheck/updateCheckXService"
import { Navbar } from "../Navbar/Navbar"
import Snackbar from "@mui/material/Snackbar"
import Link from "@mui/material/Link"
-import Box from "@mui/material/Box"
+import Box, { BoxProps } from "@mui/material/Box"
import InfoOutlined from "@mui/icons-material/InfoOutlined"
import Button from "@mui/material/Button"
import { docs } from "utils/docs"
@@ -102,10 +102,27 @@ export const DashboardLayout: FC = () => {
)
}
+export const DashboardFullPage = (props: BoxProps) => {
+ return (
+
+ )
+}
+
const useStyles = makeStyles({
site: {
display: "flex",
- minHeight: "100vh",
+ minHeight: "100%",
flexDirection: "column",
},
siteContent: {
diff --git a/site/src/components/RuntimeErrorState/RuntimeErrorState.tsx b/site/src/components/RuntimeErrorState/RuntimeErrorState.tsx
index 74174cd8dd983..3d2a0bd6a7945 100644
--- a/site/src/components/RuntimeErrorState/RuntimeErrorState.tsx
+++ b/site/src/components/RuntimeErrorState/RuntimeErrorState.tsx
@@ -140,7 +140,7 @@ const useStyles = makeStyles((theme) => ({
display: "flex",
alignItems: "center",
justifyContent: "center",
- minHeight: "100vh",
+ minHeight: "100%",
maxWidth: theme.spacing(75),
},
diff --git a/site/src/components/SignInLayout/SignInLayout.tsx b/site/src/components/SignInLayout/SignInLayout.tsx
index cf223d7d8f53e..560e805aa2ad9 100644
--- a/site/src/components/SignInLayout/SignInLayout.tsx
+++ b/site/src/components/SignInLayout/SignInLayout.tsx
@@ -2,12 +2,6 @@ import { makeStyles } from "@mui/styles"
import { FC, ReactNode } from "react"
export const useStyles = makeStyles((theme) => ({
- "@global": {
- // Necessary for when this is on lonely pages!
- "html, body, #root, #storybook-root": {
- height: "100vh",
- },
- },
root: {
flex: 1,
height: "-webkit-fill-available",
diff --git a/site/src/components/TemplateVersionEditor/TemplateVersionEditor.tsx b/site/src/components/TemplateVersionEditor/TemplateVersionEditor.tsx
index 64b986dac79d0..9ffe7e0e41b4c 100644
--- a/site/src/components/TemplateVersionEditor/TemplateVersionEditor.tsx
+++ b/site/src/components/TemplateVersionEditor/TemplateVersionEditor.tsx
@@ -18,12 +18,10 @@ import { Link as RouterLink } from "react-router-dom"
import { Alert, AlertDetail } from "components/Alert/Alert"
import { Avatar } from "components/Avatar/Avatar"
import { AvatarData } from "components/AvatarData/AvatarData"
-import { bannerHeight } from "components/DeploymentBanner/DeploymentBannerView"
import { TemplateResourcesTable } from "components/TemplateResourcesTable/TemplateResourcesTable"
import { WorkspaceBuildLogs } from "components/WorkspaceBuildLogs/WorkspaceBuildLogs"
import { PublishVersionData } from "pages/TemplateVersionPage/TemplateVersionEditorPage/types"
import { FC, useCallback, useEffect, useRef, useState } from "react"
-import { navHeight, dashboardContentBottomPadding } from "theme/constants"
import {
createFile,
existsFile,
@@ -50,6 +48,7 @@ import {
} from "./TemplateVersionStatusBadge"
import { Theme } from "@mui/material/styles"
import AlertTitle from "@mui/material/AlertTitle"
+import { DashboardFullPage } from "components/Dashboard/DashboardLayout"
export interface TemplateVersionEditorProps {
template: Template
@@ -185,7 +184,7 @@ export const TemplateVersionEditor: FC = ({
return (
<>
-
+
((theme) => ({
root: {
- height: (props) =>
- `calc(100vh - ${
- navHeight + (props.deploymentBannerVisible ? bannerHeight : 0)
- }px)`,
background: theme.palette.background.default,
- flex: 1,
- display: "flex",
- flexDirection: "column",
- marginBottom: -dashboardContentBottomPadding, // Remove dashboard bottom padding
},
topbar: {
padding: theme.spacing(2),
@@ -478,6 +469,7 @@ const useStyles = makeStyles<
sidebarAndEditor: {
display: "flex",
flex: 1,
+ flexBasis: 0,
},
sidebar: {
minWidth: 256,
@@ -505,7 +497,7 @@ const useStyles = makeStyles<
width: "100%",
gridTemplateColumns: (props) =>
props.showBuildLogs ? "1fr 1fr" : "1fr 0fr",
- height: `calc(100vh - ${navHeight + topbarHeight}px)`,
+ minHeight: "100%",
overflow: "hidden",
},
editor: {
diff --git a/site/src/pages/404Page/404Page.tsx b/site/src/pages/404Page/404Page.tsx
index d7b1bfbc83c0b..77c05842cefea 100644
--- a/site/src/pages/404Page/404Page.tsx
+++ b/site/src/pages/404Page/404Page.tsx
@@ -17,8 +17,8 @@ export const NotFoundPage: FC = () => {
const useStyles = makeStyles((theme) => ({
root: {
- width: "100vw",
- height: "100vh",
+ width: "100%",
+ height: "100%",
display: "flex",
flexDirection: "row",
justifyContent: "center",
diff --git a/site/src/pages/HealthPage/HealthPage.tsx b/site/src/pages/HealthPage/HealthPage.tsx
index 55f5f820f8cfc..3df01cf66c4c1 100644
--- a/site/src/pages/HealthPage/HealthPage.tsx
+++ b/site/src/pages/HealthPage/HealthPage.tsx
@@ -18,6 +18,7 @@ import {
import { Stats, StatsItem } from "components/Stats/Stats"
import { makeStyles } from "@mui/styles"
import { createDayString } from "utils/createDayString"
+import { DashboardFullPage } from "components/Dashboard/DashboardLayout"
const sections = {
derp: "DERP",
@@ -59,14 +60,7 @@ export function HealthPageView({
const styles = useStyles()
return (
-
+
{healthStatus.healthy ? (
@@ -115,8 +109,9 @@ export function HealthPageView({
theme.spacing(32),
flexShrink: 0,
borderRight: (theme) => `1px solid ${theme.palette.divider}`,
- height: "100%",
}}
>
{/* 62px - navbar and 36px - the bottom bar */}
-
+
-
+
)
}
diff --git a/site/src/pages/LoginPage/LoginPageView.tsx b/site/src/pages/LoginPage/LoginPageView.tsx
index a58ccb6d47399..39464ab886085 100644
--- a/site/src/pages/LoginPage/LoginPageView.tsx
+++ b/site/src/pages/LoginPage/LoginPageView.tsx
@@ -57,7 +57,7 @@ const useStyles = makeStyles((theme) => ({
display: "flex",
alignItems: "center",
justifyContent: "center",
- minHeight: "100vh",
+ minHeight: "100%",
textAlign: "center",
},
diff --git a/site/src/pages/TemplatePage/TemplateEmbedPage/TemplateEmbedPage.tsx b/site/src/pages/TemplatePage/TemplateEmbedPage/TemplateEmbedPage.tsx
index 32b9ffcd39afc..cc2f083afdd8f 100644
--- a/site/src/pages/TemplatePage/TemplateEmbedPage/TemplateEmbedPage.tsx
+++ b/site/src/pages/TemplatePage/TemplateEmbedPage/TemplateEmbedPage.tsx
@@ -142,9 +142,9 @@ export const TemplateEmbedPageView: FC<{
{
const params = useParams() as {
@@ -33,7 +32,6 @@ export const WorkspaceBuildPage: FC = () => {
},
enabled: Boolean(build),
})
- const permissions = usePermissions()
useEffect(() => {
send("RESET", { buildNumber, timeCursor: new Date() })
@@ -56,7 +54,6 @@ export const WorkspaceBuildPage: FC = () => {
build={build}
builds={builds}
activeBuildNumber={buildNumber}
- hasDeploymentBanner={permissions.viewDeploymentStats}
/>
>
)
diff --git a/site/src/pages/WorkspaceBuildPage/WorkspaceBuildPageView.stories.tsx b/site/src/pages/WorkspaceBuildPage/WorkspaceBuildPageView.stories.tsx
index e846a5533abc6..195295de3b31f 100644
--- a/site/src/pages/WorkspaceBuildPage/WorkspaceBuildPageView.stories.tsx
+++ b/site/src/pages/WorkspaceBuildPage/WorkspaceBuildPageView.stories.tsx
@@ -20,7 +20,6 @@ const meta: Meta = {
logs: MockWorkspaceBuildLogs,
builds: defaultBuilds,
activeBuildNumber: defaultBuilds[0].build_number,
- hasDeploymentBanner: false,
},
}
diff --git a/site/src/pages/WorkspaceBuildPage/WorkspaceBuildPageView.tsx b/site/src/pages/WorkspaceBuildPage/WorkspaceBuildPageView.tsx
index 5095ae7ea2665..8479697deb1b8 100644
--- a/site/src/pages/WorkspaceBuildPage/WorkspaceBuildPageView.tsx
+++ b/site/src/pages/WorkspaceBuildPage/WorkspaceBuildPageView.tsx
@@ -26,6 +26,7 @@ import {
import { BuildIcon } from "components/BuildIcon/BuildIcon"
import Skeleton from "@mui/material/Skeleton"
import { Alert } from "components/Alert/Alert"
+import { DashboardFullPage } from "components/Dashboard/DashboardLayout"
const sortLogsByCreatedAt = (logs: ProvisionerJobLog[]) => {
return [...logs].sort(
@@ -39,7 +40,6 @@ export interface WorkspaceBuildPageViewProps {
build: WorkspaceBuild | undefined
builds: WorkspaceBuild[] | undefined
activeBuildNumber: number
- hasDeploymentBanner: boolean
}
export const WorkspaceBuildPageView: FC = ({
@@ -47,31 +47,15 @@ export const WorkspaceBuildPageView: FC = ({
build,
builds,
activeBuildNumber,
- hasDeploymentBanner,
}) => {
const styles = useStyles()
- const navbarHeight = 62
- const deploymentBannerHeight = 48
- const heightOffset = hasDeploymentBanner
- ? navbarHeight + deploymentBannerHeight
- : navbarHeight
if (!build) {
return
}
return (
-
+
@@ -126,6 +110,7 @@ export const WorkspaceBuildPageView: FC = ({
alignItems: "start",
overflow: "hidden",
flex: 1,
+ flexBasis: 0,
}}
>
@@ -184,7 +169,7 @@ export const WorkspaceBuildPageView: FC = ({
)}
-
+
)
}
diff --git a/site/src/theme/theme.ts b/site/src/theme/theme.ts
index d397fc776b141..a1cb95092bba4 100644
--- a/site/src/theme/theme.ts
+++ b/site/src/theme/theme.ts
@@ -86,6 +86,10 @@ dark = createTheme(dark, {
components: {
MuiCssBaseline: {
styleOverrides: `
+ html, body, #root, #storybook-root {
+ height: 100%;
+ }
+
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,