feat(client): add eyebrow typography variant and lighter page titles

- Introduce a reusable eyebrow Typography variant in the theme (13px, 500 weight, uppercase, 0.08em tracking) for section headings
- Apply it to ConfigBox titles in /settings and to "Job queue" / "Failed jobs" in /logs
- Drop the page header weight from 600 to 400 with tighter tracking so titles read lighter and more refined
This commit is contained in:
gorkem-bwl committed 2026-04-26 01:21:47 -04:00
1 parent 2dccf73050
commit 4fd9b2ecf5
4 files changed
+38 -10

No files matched your search

@@ -94,11 +94,11 @@ export const PageHeader = ({
)}
<Typography
sx={{
fontSize: 24,
fontWeight: 600,
fontSize: 26,
fontWeight: 400,
color: theme.palette.text.primary,
lineHeight: 1.2,
letterSpacing: "-0.01em",
lineHeight: 1.15,
letterSpacing: "-0.02em",
}}
>
{title}
@@ -63,9 +63,9 @@ export const ConfigBox = ({
left={
<Stack spacing={theme.spacing(LAYOUT.XS)}>
<Typography
textTransform={"capitalize"}
component="h2"
variant="h2"
variant="eyebrow"
color="text.secondary"
>
{title}
</Typography>
+4 -4
View File
@@ -47,8 +47,8 @@ export const TabQueue = () => {
<Metrics metrics={metrics} />
<Stack gap={theme.spacing(1)}>
<Typography
variant="h6"
sx={{ textTransform: "uppercase" }}
variant="eyebrow"
color="text.secondary"
>
{t("pages.logs.jobQueue")}
</Typography>
@@ -83,8 +83,8 @@ export const TabQueue = () => {
<TableJobs jobs={jobs} />
<Stack gap={theme.spacing(1)}>
<Typography
variant="h6"
sx={{ textTransform: "uppercase" }}
variant="eyebrow"
color="text.secondary"
>
{t("pages.logs.failedJobs")}
</Typography>
+28
View File
@@ -2,12 +2,32 @@ import { createTheme } from "@mui/material";
import { lightPalette, darkPalette, typographyLevels } from "@/Utils/Theme/Palette";
import type { Theme } from "@mui/material/styles";
import type {} from "@mui/material/styles";
declare module "@mui/material/styles" {
interface TypographyVariants {
eyebrow: React.CSSProperties;
fontFamilyMonospace: string;
}
interface TypographyVariantsOptions {
eyebrow?: React.CSSProperties;
fontFamilyMonospace?: string;
}
}
declare module "@mui/material/Typography" {
interface TypographyPropsVariantOverrides {
eyebrow: true;
}
}
export type PaletteKey = {
[K in keyof Theme["palette"]]: Theme["palette"][K] extends { main: any } ? K : never;
}[keyof Theme["palette"]];
const fontFamilyPrimary = "system-ui, sans-serif";
const fontFamilyMonospace =
'ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace';
const shadow =
"0px 4px 24px -4px rgba(16, 24, 40, 0.08), 0px 3px 3px -3px rgba(16, 24, 40, 0.03)";
@@ -29,6 +49,7 @@ export const theme = (mode: string, palette: any) =>
},
typography: {
fontFamily: fontFamilyPrimary,
fontFamilyMonospace,
fontSize: typographyLevels.base,
h1: {
fontSize: typographyLevels.xl,
@@ -46,6 +67,13 @@ export const theme = (mode: string, palette: any) =>
fontSize: typographyLevels.s,
fontWeight: 400,
},
eyebrow: {
fontSize: 13,
fontWeight: 500,
textTransform: "uppercase",
letterSpacing: "0.08em",
lineHeight: 1.4,
},
},
components: {