From 648c314349ef42c466a09b32a25b949babb8ef5a Mon Sep 17 00:00:00 2001 From: Rhys Adey Date: Wed, 15 Oct 2025 16:11:52 +0100 Subject: [PATCH 01/12] RA - changed main colour code to that of the dark hex for colour accessibiblity in dark mode --- src/components/navigation/Footer.tsx | 2 +- src/themes/DiamondTheme.ts | 7 +++---- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/src/components/navigation/Footer.tsx b/src/components/navigation/Footer.tsx index 8aa3832..d1229e8 100644 --- a/src/components/navigation/Footer.tsx +++ b/src/components/navigation/Footer.tsx @@ -88,7 +88,7 @@ const BarStyled = styled(Bar)(({ theme }) => ({ position: "relative", bottom: 0, marginTop: "auto", - backgroundColor: theme.vars.palette.primary.light, + backgroundColor: theme.vars.palette.primary.main, })); interface FooterProps extends BarSlotsProps { diff --git a/src/themes/DiamondTheme.ts b/src/themes/DiamondTheme.ts index c2c16ad..6c64fde 100644 --- a/src/themes/DiamondTheme.ts +++ b/src/themes/DiamondTheme.ts @@ -3,7 +3,6 @@ import { createTheme, Theme } from "@mui/material/styles"; import { mergeThemeOptions } from "./ThemeManager"; -import logoImageDark from "../public/diamond/logo-dark.svg"; import logoImageLight from "../public/diamond/logo-light.svg"; import logoShort from "../public/diamond/logo-short.svg"; @@ -13,7 +12,7 @@ const dlsLogoYellow = "#facf07"; const DiamondThemeOptions = mergeThemeOptions({ logos: { normal: { - src: logoImageDark, // Use the dark image for light backgrounds + src: logoImageLight, srcDark: logoImageLight, // Use the light image for dark backgrounds alt: "Diamond Light Source Logo", width: "100", @@ -48,9 +47,9 @@ const DiamondThemeOptions = mergeThemeOptions({ dark: { palette: { primary: { - main: "#6175bd", //lightened version of {dlsLogoBlue} + main: "#435184", // mid blue light: "#8090CA", // lighter blue - dark: "#435184", // mid blue + dark: "#6175bd", contrastText: "#ffffff", // white }, secondary: { From 7ba659950e950c10c83aaa3126fa317f9ee7b0a7 Mon Sep 17 00:00:00 2001 From: Rhys Adey Date: Thu, 16 Oct 2025 11:52:52 +0100 Subject: [PATCH 02/12] RA dark theme main colour now the same as light theme dark colour. dark theme dark colour made darker to pass accessibility with white text. old diamond theme kept. breadcrumbs and user components updated to use dark colouring --- src/components/controls/User.tsx | 2 +- src/components/navigation/Breadcrumbs.tsx | 6 +- src/themes/DiamondTheme.old | 102 ++++++++++++++++++++++ src/themes/DiamondTheme.ts | 6 +- 4 files changed, 109 insertions(+), 7 deletions(-) create mode 100644 src/themes/DiamondTheme.old diff --git a/src/components/controls/User.tsx b/src/components/controls/User.tsx index 270d613..77cd4cd 100644 --- a/src/components/controls/User.tsx +++ b/src/components/controls/User.tsx @@ -136,7 +136,7 @@ const User = ({ onClick={handleLogin} startIcon={} sx={{ - backgroundColor: theme.palette.primary.light, + backgroundColor: theme.palette.primary.main, color: theme.palette.primary.contrastText, }} > diff --git a/src/components/navigation/Breadcrumbs.tsx b/src/components/navigation/Breadcrumbs.tsx index 22c812c..74ea490 100644 --- a/src/components/navigation/Breadcrumbs.tsx +++ b/src/components/navigation/Breadcrumbs.tsx @@ -22,7 +22,7 @@ interface BreadcrumbsProps extends BarProps { * @param path A single string path, an array of string parts or an array of CustomLink parts */ export function getCrumbs( - path: string | string[] | CustomLink[], + path: string | string[] | CustomLink[] ): CustomLink[] { if (typeof path === "string") { path = path.split("/"); @@ -53,14 +53,14 @@ export function getCrumbs( } const BarStyled = styled(Bar)(({ theme }) => ({ - backgroundColor: theme.vars.palette.primary.light, + backgroundColor: theme.vars.palette.primary.dark, })); const Mui_BreadcrumbsStyled = styled(Mui_Breadcrumbs)( ({ theme }) => ({ color: theme.vars.palette.primary.contrastText, padding: 0, - }), + }) ); const Breadcrumbs = ({ diff --git a/src/themes/DiamondTheme.old b/src/themes/DiamondTheme.old new file mode 100644 index 0000000..c2c16ad --- /dev/null +++ b/src/themes/DiamondTheme.old @@ -0,0 +1,102 @@ +import type {} from "@mui/material/themeCssVarsAugmentation"; +import { createTheme, Theme } from "@mui/material/styles"; + +import { mergeThemeOptions } from "./ThemeManager"; + +import logoImageDark from "../public/diamond/logo-dark.svg"; +import logoImageLight from "../public/diamond/logo-light.svg"; +import logoShort from "../public/diamond/logo-short.svg"; + +const dlsLogoBlue = "#202740"; +const dlsLogoYellow = "#facf07"; + +const DiamondThemeOptions = mergeThemeOptions({ + logos: { + normal: { + src: logoImageDark, // Use the dark image for light backgrounds + srcDark: logoImageLight, // Use the light image for dark backgrounds + alt: "Diamond Light Source Logo", + width: "100", + }, + short: { + src: logoShort, + alt: "Diamond Light Source Logo", + width: "35", + }, + }, + colorSchemes: { + // https://zenoo.github.io/mui-theme-creator/ + light: { + palette: { + primary: { + main: dlsLogoBlue, + light: "#4C5266", // dark grey + dark: "#161B2C", // dark blue + contrastText: "#ffffff", // white + }, + secondary: { + main: dlsLogoYellow, + light: "#FBD838", // light yellow + dark: "#AF9004", // dark yellow + contrastText: "#000000", // black + }, + text: { + secondary: "#161B2C", + }, + }, + }, + dark: { + palette: { + primary: { + main: "#6175bd", //lightened version of {dlsLogoBlue} + light: "#8090CA", // lighter blue + dark: "#435184", // mid blue + contrastText: "#ffffff", // white + }, + secondary: { + main: dlsLogoYellow, + light: "#FBD838", // light yellow + dark: "#AF9004", // dark yellow + contrastText: "#000000", // black + }, + text: { + secondary: "#8090CA", + }, + }, + }, + }, + components: { + MuiButton: { + styleOverrides: { + root: ({ theme }: { theme: Theme }) => ({ + textTransform: "none", + "&.MuiButton-contained": {}, + "&.default": { + color: theme.palette.primary.contrastText, + backgroundColor: theme.palette.primary.dark, + "&:hover": { + backgroundImage: "linear-gradient(rgb(0 0 0/30%) 0 0)", + "&:disabled": { + backgroundColor: theme.palette.primary.light, + }, + }, + }, + "&.onBlue": { + color: theme.palette.secondary.light, + borderColor: theme.palette.secondary.light, + border: "1px solid", + fontSize: "0.875rem", + "&:hover": { + color: theme.palette.primary.dark, + backgroundColor: theme.palette.secondary.light, + }, + }, + }), + }, + }, + }, +}); + +const DiamondTheme: Theme = createTheme(DiamondThemeOptions); + +export { DiamondTheme, DiamondThemeOptions }; diff --git a/src/themes/DiamondTheme.ts b/src/themes/DiamondTheme.ts index 6c64fde..b781270 100644 --- a/src/themes/DiamondTheme.ts +++ b/src/themes/DiamondTheme.ts @@ -13,7 +13,7 @@ const DiamondThemeOptions = mergeThemeOptions({ logos: { normal: { src: logoImageLight, - srcDark: logoImageLight, // Use the light image for dark backgrounds + srcDark: logoImageLight, alt: "Diamond Light Source Logo", width: "100", }, @@ -47,9 +47,9 @@ const DiamondThemeOptions = mergeThemeOptions({ dark: { palette: { primary: { - main: "#435184", // mid blue + main: "#202740", // dark blue light: "#8090CA", // lighter blue - dark: "#6175bd", + dark: "#435184", // mid blue contrastText: "#ffffff", // white }, secondary: { From f70a7f05649c137c478f166b9037035735a2ec23 Mon Sep 17 00:00:00 2001 From: Rhys Adey Date: Thu, 16 Oct 2025 12:15:33 +0100 Subject: [PATCH 03/12] RA lighter blue changed so that breadcrumb has better contrast in light mode --- src/components/navigation/Breadcrumbs.tsx | 2 +- src/themes/DiamondTheme.ts | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/components/navigation/Breadcrumbs.tsx b/src/components/navigation/Breadcrumbs.tsx index 74ea490..383ae6f 100644 --- a/src/components/navigation/Breadcrumbs.tsx +++ b/src/components/navigation/Breadcrumbs.tsx @@ -53,7 +53,7 @@ export function getCrumbs( } const BarStyled = styled(Bar)(({ theme }) => ({ - backgroundColor: theme.vars.palette.primary.dark, + backgroundColor: theme.vars.palette.primary.light, })); const Mui_BreadcrumbsStyled = styled(Mui_Breadcrumbs)( diff --git a/src/themes/DiamondTheme.ts b/src/themes/DiamondTheme.ts index b781270..be9ebc5 100644 --- a/src/themes/DiamondTheme.ts +++ b/src/themes/DiamondTheme.ts @@ -47,8 +47,8 @@ const DiamondThemeOptions = mergeThemeOptions({ dark: { palette: { primary: { - main: "#202740", // dark blue - light: "#8090CA", // lighter blue + main: dlsLogoBlue, + light: "#3b4c8c", // lighter blue dark: "#435184", // mid blue contrastText: "#ffffff", // white }, From f31c698930317ebedf0bbb3a7cb763d9bf93e397 Mon Sep 17 00:00:00 2001 From: Rhys Adey Date: Thu, 16 Oct 2025 12:20:58 +0100 Subject: [PATCH 04/12] RA prettier fix --- src/components/navigation/Breadcrumbs.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/navigation/Breadcrumbs.tsx b/src/components/navigation/Breadcrumbs.tsx index 383ae6f..22c812c 100644 --- a/src/components/navigation/Breadcrumbs.tsx +++ b/src/components/navigation/Breadcrumbs.tsx @@ -22,7 +22,7 @@ interface BreadcrumbsProps extends BarProps { * @param path A single string path, an array of string parts or an array of CustomLink parts */ export function getCrumbs( - path: string | string[] | CustomLink[] + path: string | string[] | CustomLink[], ): CustomLink[] { if (typeof path === "string") { path = path.split("/"); @@ -60,7 +60,7 @@ const Mui_BreadcrumbsStyled = styled(Mui_Breadcrumbs)( ({ theme }) => ({ color: theme.vars.palette.primary.contrastText, padding: 0, - }) + }), ); const Breadcrumbs = ({ From 71c70f9def6bffc2cfe05a7d2d014ad372d2984d Mon Sep 17 00:00:00 2001 From: Rhys Adey Date: Mon, 20 Oct 2025 13:52:13 +0100 Subject: [PATCH 05/12] RA - resolved accessibility errors --- src/components/controls/ScrollableImages.tsx | 3 ++ .../helpers/jsonforms/components/DataBox.tsx | 39 ++++++++++--------- src/components/navigation/Navbar.tsx | 1 - 3 files changed, 24 insertions(+), 19 deletions(-) diff --git a/src/components/controls/ScrollableImages.tsx b/src/components/controls/ScrollableImages.tsx index a35af17..2992336 100644 --- a/src/components/controls/ScrollableImages.tsx +++ b/src/components/controls/ScrollableImages.tsx @@ -169,6 +169,7 @@ const ScrollableImages = ({ > {renderButtons && (