From 58874b2ff1743d55b353741c19c874cc5a10794d Mon Sep 17 00:00:00 2001 From: Elizabet Oliveira Date: Fri, 7 Nov 2025 16:05:20 +0000 Subject: [PATCH 01/49] refactor: Update styles to use Mantine color variables for consistency --- .../app/src/components/PageHeader.module.scss | 4 +- packages/app/src/components/Table.module.scss | 20 ++++---- packages/app/styles/AlertsPage.module.scss | 10 ++-- packages/app/styles/AppNav.module.scss | 30 ++++++------ .../app/styles/EndpointSubpanel.module.scss | 2 +- packages/app/styles/HDXLineChart.module.scss | 12 ++--- packages/app/styles/LogSidePanel.module.scss | 40 ++++++++-------- packages/app/styles/LogTable.module.scss | 2 +- packages/app/styles/SearchPage.module.scss | 21 +++++---- .../app/styles/SessionSubpanelV2.module.scss | 32 ++++++------- packages/app/styles/app.scss | 29 ++++++------ .../design-tokens/_semantic-colors.scss | 46 +++++++++++++++++++ packages/app/styles/variables.scss | 14 +----- 13 files changed, 149 insertions(+), 113 deletions(-) create mode 100644 packages/app/styles/design-tokens/_semantic-colors.scss diff --git a/packages/app/src/components/PageHeader.module.scss b/packages/app/src/components/PageHeader.module.scss index 7a557e2bd..f12fd625f 100644 --- a/packages/app/src/components/PageHeader.module.scss +++ b/packages/app/src/components/PageHeader.module.scss @@ -3,8 +3,8 @@ .header { align-items: center; background-color: $body-bg; - border-bottom: 1px solid $slate-950; - color: $slate-200; + border-bottom: 1px solid var(--mantine-color-dark-9); + color: var(--mantine-color-dark-2); display: flex; font-weight: 500; height: 60px; diff --git a/packages/app/src/components/Table.module.scss b/packages/app/src/components/Table.module.scss index 09a7193c3..e7be363d7 100644 --- a/packages/app/src/components/Table.module.scss +++ b/packages/app/src/components/Table.module.scss @@ -22,7 +22,7 @@ $horizontalPadding: 12px; } tr { - border-bottom: 1px solid $slate-950; + border-bottom: 1px solid var(--mantine-color-dark-9); } tbody { @@ -32,7 +32,7 @@ $horizontalPadding: 12px; } th { - color: $slate-300; + color: var(--mantine-color-dark-3); text-transform: uppercase; font-size: 9px; font-weight: 500; @@ -103,7 +103,7 @@ $horizontalPadding: 12px; } .emptyMessage { - color: $slate-500; + color: var(--mantine-color-dark-5); text-align: center; padding: 10px; } @@ -112,19 +112,19 @@ $horizontalPadding: 12px; display: flex; gap: 4px; border-radius: 4px; - background-color: $slate-950; - border: 1px solid $slate-900; - color: $slate-300; + background-color: var(--mantine-color-dark-9); + border: 1px solid var(--mantine-color-dark-9); + color: var(--mantine-color-dark-3); text-align: center; font-size: 11px; &:hover { - background-color: $slate-900; - border-color: $slate-800; + background-color: var(--mantine-color-dark-9); + border-color: var(--mantine-color-dark-8); } &:active { - background-color: $slate-950; - border-color: $slate-950; + background-color: var(--mantine-color-dark-9); + border-color: var(--mantine-color-dark-9); } } diff --git a/packages/app/styles/AlertsPage.module.scss b/packages/app/styles/AlertsPage.module.scss index 375fc2244..5ddfd87f3 100644 --- a/packages/app/styles/AlertsPage.module.scss +++ b/packages/app/styles/AlertsPage.module.scss @@ -1,11 +1,11 @@ @import './variables'; .sectionHeader { - border-bottom: 1px solid $slate-950; + border-bottom: 1px solid var(--mantine-color-dark-9); margin-top: 30px; padding-bottom: 10px; font-size: 14px; - color: $slate-400; + color: var(--mantine-color-dark-4); } .historyCardWrapper { @@ -22,7 +22,7 @@ .historyCard { width: 4px; height: 16px; - background-color: $slate-950; + background-color: var(--mantine-color-dark-9); border-radius: 2px; margin: 0 1px; cursor: pointer; @@ -48,12 +48,12 @@ justify-content: space-between; gap: 16px; padding: 12px 0; - border-bottom: 1px solid $slate-950; + border-bottom: 1px solid var(--mantine-color-dark-9); } .alertLink { font-weight: 500; - color: $slate-200; + color: var(--mantine-color-dark-2); text-decoration: none; &:hover { diff --git a/packages/app/styles/AppNav.module.scss b/packages/app/styles/AppNav.module.scss index cbd4c0943..bf54b69f5 100644 --- a/packages/app/styles/AppNav.module.scss +++ b/packages/app/styles/AppNav.module.scss @@ -6,13 +6,13 @@ display: flex; flex-flow: column nowrap; justify-content: space-between; - border-right: 1px solid $slate-950; + border-right: 1px solid var(--mantine-color-dark-9); } .list { - // background-color: #00000030; - // border-bottom: 1px solid $slate-950; - border-top: 1px solid $slate-950; + // background-color: #00000030;background-color + // border-bottom: 1px solid var(--mantine-color-dark-9);border-bottom + border-top: 1px solid var(--mantine-color-dark-9); overflow-x: hidden; max-width: 100%; padding: 4px 16px; @@ -32,7 +32,7 @@ } .listGroupName { - color: $slate-400; + color: var(--mantine-color-dark-4); text-transform: uppercase; font-size: 11px; letter-spacing: 1px; @@ -42,11 +42,11 @@ display: flex; align-items: center; - // justify-content: space-between; + // justify-content: space-between;justify-content gap: 6px; &:hover { - color: $slate-300; + color: var(--mantine-color-dark-3); cursor: pointer; } } @@ -55,7 +55,7 @@ display: flex; justify-content: space-between; text-decoration: none; - color: $slate-200; + color: var(--mantine-color-dark-2); font-size: 13px; margin-bottom: 4px; max-width: 100%; @@ -67,7 +67,7 @@ gap: 10px; &:hover { - color: $slate-100; + color: var(--mantine-color-dark-1); } &:focus-visible { @@ -81,7 +81,7 @@ } .listEmptyMsg { - color: $slate-400; + color: var(--mantine-color-dark-4); font-size: 12px; margin: 8px 16px; overflow: hidden; @@ -89,12 +89,12 @@ } .listLinkActive { - // color: $green; + // color: $green;color color: var(--mantine-color-green-3); font-weight: 500; &:hover { - // color: $green; + // color: $green;color color: var(--mantine-color-green-3); } } @@ -102,8 +102,8 @@ .kbd { white-space: nowrap; letter-spacing: -1px; - color: $slate-400; - background: $slate-950; + color: var(--mantine-color-dark-4); + background: var(--mantine-color-dark-9); border-radius: 4px; padding: 0 4px; font-size: 10px; @@ -129,7 +129,7 @@ } &:active { - // background: var(--mantine-color-gray-9); + // background: var(--mantine-color-gray-9);background transform: translate(0, 1px); } } diff --git a/packages/app/styles/EndpointSubpanel.module.scss b/packages/app/styles/EndpointSubpanel.module.scss index 0a0af3926..7a2cc99a1 100644 --- a/packages/app/styles/EndpointSubpanel.module.scss +++ b/packages/app/styles/EndpointSubpanel.module.scss @@ -7,5 +7,5 @@ height: 100%; background-color: $body-bg; box-shadow: 0 0 100px 40px rgb(0 0 0 / 70%); - border-left: 1px solid $slate-900; + border-left: 1px solid var(--mantine-color-dark-9); } diff --git a/packages/app/styles/HDXLineChart.module.scss b/packages/app/styles/HDXLineChart.module.scss index 99ebea253..b01a8f8aa 100644 --- a/packages/app/styles/HDXLineChart.module.scss +++ b/packages/app/styles/HDXLineChart.module.scss @@ -22,10 +22,10 @@ } .legendMoreLink { - color: $slate-400; + color: var(--mantine-color-dark-4); cursor: pointer; text-decoration: underline; - text-decoration-color: $slate-700; + text-decoration-color: var(--mantine-color-dark-7); } .legendTooltipContent { @@ -43,15 +43,15 @@ border: 1px solid #5f6776; border-radius: 2px; - // background-color: rgb(0 0 0 / 80%); - // backdrop-filter: blur(2px); - // border-radius: 4px; + // background-color: rgb(0 0 0 / 80%);background-color + // backdrop-filter: blur(2px);backdrop-filter + // border-radius: 4px;border-radius font-size: 11px; } .chartTooltipHeader { padding: 2px 12px; - color: $slate-200; + color: var(--mantine-color-dark-2); border-bottom: 1px solid var(--mantine-color-dark-4); } diff --git a/packages/app/styles/LogSidePanel.module.scss b/packages/app/styles/LogSidePanel.module.scss index 3e000c436..1b2e33ffc 100644 --- a/packages/app/styles/LogSidePanel.module.scss +++ b/packages/app/styles/LogSidePanel.module.scss @@ -1,6 +1,6 @@ @import './variables'; -// TODO: Use variables for spacings; +// TODO: Use variables for spacings;TODO $padding-x: 24px; .panel { @@ -10,7 +10,7 @@ $padding-x: 24px; height: 100%; background-color: $body-bg; box-shadow: 0 0 100px 40px rgb(0 0 0 / 70%); - border-left: 1px solid $slate-900; + border-left: 1px solid var(--mantine-color-dark-9); } .panelDragBar { @@ -21,7 +21,7 @@ $padding-x: 24px; background-color: transparent; &:hover { - background-color: $slate-900; + background-color: var(--mantine-color-dark-9); transition: background-color 0.2s ease-in-out; } } @@ -30,7 +30,7 @@ $padding-x: 24px; display: flex; justify-content: space-between; align-items: center; - border-bottom: 1px solid $slate-900; + border-bottom: 1px solid var(--mantine-color-dark-9); padding: 12px $padding-x; } @@ -47,14 +47,14 @@ $padding-x: 24px; } .severityChip { - background: $slate-800; + background: var(--mantine-color-dark-8); padding: 4px 12px; border-radius: 16px; margin-right: 8px; } .loadingState { - color: $slate-600; + color: var(--mantine-color-dark-6); width: 100%; margin: $padding-x; font-size: 16px; @@ -70,22 +70,22 @@ $padding-x: 24px; .panelSectionWrapperTitle { padding: 18px 24px; - border-bottom: 1px solid $slate-950; + border-bottom: 1px solid var(--mantine-color-dark-9); } .kbdShortcuts { - background: $slate-950; - border-top: 1px solid $slate-900; + background: var(--mantine-color-dark-9); + border-top: 1px solid var(--mantine-color-dark-9); padding: 12px $padding-x; - color: $slate-300; + color: var(--mantine-color-dark-3); font-size: 11px; } .kbd { display: inline-block; - background: $slate-900; + background: var(--mantine-color-dark-9); letter-spacing: 0.5px; - border: 1px solid $slate-500; + border: 1px solid var(--mantine-color-dark-5); border-radius: 4px; padding: 1px 6px; margin: 0 2px; @@ -94,11 +94,11 @@ $padding-x: 24px; .kbdDivider { height: 21px; width: 1px; - background: $slate-800; + background: var(--mantine-color-dark-8); } .lineContext { - color: $slate-300; + color: var(--mantine-color-dark-3); background-color: #ffffff08; padding: 8px 0; border-radius: 4px; @@ -106,13 +106,13 @@ $padding-x: 24px; } .lineContextCurrentLine { - background-color: $slate-800; - color: $slate-100; + background-color: var(--mantine-color-dark-8); + color: var(--mantine-color-dark-1); font-weight: 600; .lineContextLineNo { - color: $slate-100; - border-right-color: $slate-600; + color: var(--mantine-color-dark-1); + border-right-color: var(--mantine-color-dark-6); } } @@ -120,13 +120,13 @@ $padding-x: 24px; display: inline-block; width: 60px; text-align: right; - border-right: 1px solid $slate-950; + border-right: 1px solid var(--mantine-color-dark-9); padding-right: 12px; margin-right: 12px; } .emptyMessage { - color: $slate-500; + color: var(--mantine-color-dark-5); text-align: center; padding: 10px; } diff --git a/packages/app/styles/LogTable.module.scss b/packages/app/styles/LogTable.module.scss index 177b7d60a..15160bce6 100644 --- a/packages/app/styles/LogTable.module.scss +++ b/packages/app/styles/LogTable.module.scss @@ -44,7 +44,7 @@ $button-height: 18px; .expandedRowContent { max-height: 400px; overflow: auto; - background-color: $slate-950; + background-color: var(--mantine-color-dark-9); padding: 12px; } diff --git a/packages/app/styles/SearchPage.module.scss b/packages/app/styles/SearchPage.module.scss index 3ae43cf25..5350c2451 100644 --- a/packages/app/styles/SearchPage.module.scss +++ b/packages/app/styles/SearchPage.module.scss @@ -48,11 +48,11 @@ &:hover { cursor: pointer; - color: $slate-300 !important; + color: var(--mantine-color-dark-3) !important; } &:active { - color: $slate-500 !important; + color: var(--mantine-color-dark-5) !important; } } @@ -83,20 +83,20 @@ align-items: center; padding: 0 4px; gap: 4px; - background-color: $slate-950; + background-color: var(--mantine-color-dark-9); .textButton { padding: 2px 4px; border-radius: 3px; &:hover { - background-color: $slate-800; - color: $slate-200; + background-color: var(--mantine-color-dark-8); + color: var(--mantine-color-dark-2); } &:active { - background-color: $slate-700; - color: $slate-100; + background-color: var(--mantine-color-dark-7); + color: var(--mantine-color-dark-1); } } } @@ -106,7 +106,8 @@ opacity: 1; } - background-color: $slate-950; + /* TODO COLOR BG */ + background-color: var(--mantine-color-dark-1); .filterActions { display: flex; @@ -137,12 +138,12 @@ @keyframes highlight { 0% { - background-color: $slate-950; + background-color: var(--mantine-color-dark-9); transform: scale(1.02); } 50% { - background-color: $slate-900; + background-color: var(--mantine-color-dark-9); transform: scale(1.01); } diff --git a/packages/app/styles/SessionSubpanelV2.module.scss b/packages/app/styles/SessionSubpanelV2.module.scss index 1abf3b4fe..0408767ee 100644 --- a/packages/app/styles/SessionSubpanelV2.module.scss +++ b/packages/app/styles/SessionSubpanelV2.module.scss @@ -10,7 +10,7 @@ .eventList { width: 300px; - border-right: 1px solid $slate-950; + border-right: 1px solid var(--mantine-color-dark-9); display: flex; flex-direction: column; flex-shrink: 0; @@ -22,7 +22,7 @@ flex-direction: column; gap: 6px; padding: 8px; - border-bottom: 1px solid $slate-950; + border-bottom: 1px solid var(--mantine-color-dark-9); } .eventListContainer { @@ -32,7 +32,7 @@ .eventRow { padding: 6px 12px; - border-bottom: 1px solid $slate-950; + border-bottom: 1px solid var(--mantine-color-dark-9); cursor: pointer; font-size: 12px; display: flex; @@ -71,7 +71,7 @@ } .eventRowIcon { - background: $slate-800; + background: var(--mantine-color-dark-8); width: 26px; height: 26px; display: flex; @@ -108,7 +108,7 @@ padding: 2px; margin: -2px; border-radius: 2px; - color: $slate-300; + color: var(--mantine-color-dark-3); font-size: 11px; align-self: center; @@ -120,10 +120,10 @@ .eventRowTitle { font-size: 12px; font-weight: bold; - color: $slate-200; + color: var(--mantine-color-dark-2); span { - color: $slate-400 !important; + color: var(--mantine-color-dark-4) !important; font-size: 11px; font-weight: normal; @@ -137,7 +137,7 @@ .eventRowDescription { font-size: 11px; - color: $slate-300; + color: var(--mantine-color-dark-3); max-width: 100%; overflow: hidden; white-space: nowrap; @@ -160,8 +160,8 @@ justify-content: space-between; align-items: center; padding: 6px 12px; - background-color: $slate-950; - border-bottom: 1px solid $slate-900; + background-color: var(--mantine-color-dark-9); + border-bottom: 1px solid var(--mantine-color-dark-9); width: 100%; max-width: 100%; gap: 12px; @@ -169,7 +169,7 @@ .playerHeaderUrl { font-size: 11px; - color: $slate-200; + color: var(--mantine-color-dark-2); width: 100%; max-width: 100%; overflow: hidden; @@ -184,14 +184,14 @@ 45deg, #ffffff10, #ffffff10 15px, - $slate-950 15px, - $slate-950 30px + var(--mantine-color-dark-9) 15px, + var(--mantine-color-dark-9) 30px ); display: flex; justify-content: center; align-items: center; position: relative; - color: $slate-300; + color: var(--mantine-color-dark-3); } .domPlayerWrapper { @@ -219,7 +219,7 @@ display: flex; padding: 6px 12px; align-items: center; - border-top: 1px solid $slate-950; + border-top: 1px solid var(--mantine-color-dark-9); } .playerToolbar { @@ -227,7 +227,7 @@ justify-content: space-between; align-items: center; padding: 14px 20px; - border-top: 1px solid $slate-950; + border-top: 1px solid var(--mantine-color-dark-9); > div { flex: 1; diff --git a/packages/app/styles/app.scss b/packages/app/styles/app.scss index 061ad7d55..420e1b5f4 100644 --- a/packages/app/styles/app.scss +++ b/packages/app/styles/app.scss @@ -1,6 +1,7 @@ /* stylelint-disable */ @import './variables'; +@import './design-tokens/_semantic-colors'; @import '~bootstrap/scss/bootstrap'; @import url('https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.0/font/bootstrap-icons.css'); @import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@300;400;500;600;700&display=swap'); @@ -24,10 +25,10 @@ html, body, html[class~='dark'] body { - background-color: $body-bg; + background-color: var(--color-bg-body); } .bg-body { - background-color: $body-bg; + background-color: var(--color-bg-body); } .bg-hdx-dark { background-color: $bg-hdx-dark; @@ -90,27 +91,27 @@ html[class~='dark'] body { } .text-slate-700 { - color: $slate-700; + color: var(--mantine-color-dark-7); } .text-slate-600 { - color: $slate-600; + color: var(--mantine-color-dark-6); } .text-slate-500 { - color: $slate-500; + color: var(--mantine-color-dark-5); } .text-slate-400 { - color: $slate-400; + color: var(--mantine-color-dark-4); } .text-slate-300 { - color: $slate-300; + color: var(--mantine-color-dark-3); } .text-slate-200 { - color: $slate-200; + color: var(--mantine-color-dark-2); } .text-muted-hover { @@ -715,13 +716,13 @@ body { pointer-events: none; } -html.hdx-theme-light { - filter: invert(1) hue-rotate(180deg) brightness(1.05); -} +// html.hdx-theme-light { +// filter: invert(1) hue-rotate(180deg) brightness(1.05); +// } -html.hdx-theme-light .hdx-background-image { - display: none; -} +// html.hdx-theme-light .hdx-background-image { +// display: none; +// } a.mantine-focus-auto:hover { color: inherit; diff --git a/packages/app/styles/design-tokens/_semantic-colors.scss b/packages/app/styles/design-tokens/_semantic-colors.scss new file mode 100644 index 000000000..c88089936 --- /dev/null +++ b/packages/app/styles/design-tokens/_semantic-colors.scss @@ -0,0 +1,46 @@ +:root { + /* Backgrounds */ + --color-bg-body: var(--mantine-color-dark-9); + --color-bg-surface: var(--mantine-color-dark-8); + --color-bg-subtle: var(--mantine-color-dark-7); + --color-bg-sidebar: var(--mantine-color-dark-8); + --color-bg-header: var(--mantine-color-dark-8); + --color-bg-modal: var(--mantine-color-dark-7); + --color-bg-hover: var(--mantine-color-dark-6); + --color-bg-active: var(--mantine-color-dark-5); + + /* Borders & Dividers */ + --color-border: var(--mantine-color-dark-6); + --color-border-subtle: var(--mantine-color-dark-7); + --color-border-strong: var(--mantine-color-dark-4); + + /* Text */ + --color-text-primary: var(--mantine-color-dark-0); + --color-text-secondary: var(--mantine-color-dark-2); + --color-text-muted: var(--mantine-color-dark-3); + --color-text-inverse: var(--mantine-color-dark-9); + + /* Icons */ + --color-icon-primary: var(--mantine-color-dark-1); + --color-icon-muted: var(--mantine-color-dark-4); + + /* Overlay & Backdrop */ + --color-overlay: rgb(0 0 0 / 50%); + --color-backdrop: rgb(0 0 0 / 30%); + + /* States */ + --color-state-hover: var(--mantine-color-dark-6); + --color-state-selected: var(--mantine-color-dark-5); + --color-state-focus: var(--mantine-color-dark-4); + + /* Semantic Highlights (using Mantine's core palette) */ + --color-accent: var(--mantine-color-blue-5); + --color-success: var(--mantine-color-green-5); + --color-warning: var(--mantine-color-yellow-5); + --color-error: var(--mantine-color-red-5); + + /* Code / Misc UI */ + --color-bg-code: var(--mantine-color-dark-8); + --color-border-code: var(--mantine-color-dark-6); + --color-bg-kbd: var(--mantine-color-dark-9); +} diff --git a/packages/app/styles/variables.scss b/packages/app/styles/variables.scss index e0b1219f7..97d0b6524 100644 --- a/packages/app/styles/variables.scss +++ b/packages/app/styles/variables.scss @@ -1,3 +1,4 @@ +/* stylelint-disable */ /** Colors */ @@ -20,19 +21,6 @@ $body-bg: #0f1215; $code-color: #4bb74a; $info: $purple; -// TODO: Adjust contrast ratios -$slate-50: #f6f7f9; -$slate-100: #eceef2; -$slate-200: #d5dae2; -$slate-300: #b1bbc8; -$slate-400: #8695aa; -$slate-500: #677890; -$slate-600: #526077; -$slate-700: #434e61; -$slate-800: #3a4352; -$slate-900: #343a46; -$slate-950: #25292e; - /** Spacing */ From c3bcef75d85f97d5c638c03189a8583853e49973 Mon Sep 17 00:00:00 2001 From: Elizabet Oliveira Date: Fri, 7 Nov 2025 16:12:39 +0000 Subject: [PATCH 02/49] refactor: Enhance theme handling and improve ThemeWrapper for Mantine integration --- packages/app/pages/_app.tsx | 15 ++++++++++----- packages/app/src/ThemeWrapper.tsx | 4 +++- packages/app/styles/app.scss | 10 +++------- 3 files changed, 16 insertions(+), 13 deletions(-) diff --git a/packages/app/pages/_app.tsx b/packages/app/pages/_app.tsx index 5d9086568..9aa27484c 100644 --- a/packages/app/pages/_app.tsx +++ b/packages/app/pages/_app.tsx @@ -96,13 +96,11 @@ export default function MyApp({ Component, pageProps }: AppPropsWithLayout) { }, []); useEffect(() => { - document.documentElement.className = - userPreferences.theme === 'dark' ? 'hdx-theme-dark' : 'hdx-theme-light'; // TODO: Remove after migration to Mantine document.body.style.fontFamily = userPreferences.font ? `"${userPreferences.font}", sans-serif` : '"IBM Plex Mono"'; - }, [userPreferences.theme, userPreferences.font]); + }, [userPreferences.font]); const getLayout = Component.getLayout ?? (page => page); @@ -117,14 +115,21 @@ export default function MyApp({ Component, pageProps }: AppPropsWithLayout) { /> - + - + {getLayout()} {confirmModal} diff --git a/packages/app/src/ThemeWrapper.tsx b/packages/app/src/ThemeWrapper.tsx index 0a700b02f..bfa932684 100644 --- a/packages/app/src/ThemeWrapper.tsx +++ b/packages/app/src/ThemeWrapper.tsx @@ -142,15 +142,17 @@ const makeTheme = ({ export const ThemeWrapper = ({ fontFamily, + colorScheme = 'dark', children, }: { fontFamily?: string; + colorScheme?: 'dark' | 'light'; children: React.ReactNode; }) => { const theme = React.useMemo(() => makeTheme({ fontFamily }), [fontFamily]); return ( - + {children} diff --git a/packages/app/styles/app.scss b/packages/app/styles/app.scss index 420e1b5f4..076db1c65 100644 --- a/packages/app/styles/app.scss +++ b/packages/app/styles/app.scss @@ -716,13 +716,9 @@ body { pointer-events: none; } -// html.hdx-theme-light { -// filter: invert(1) hue-rotate(180deg) brightness(1.05); -// } - -// html.hdx-theme-light .hdx-background-image { -// display: none; -// } +[data-mantine-color-scheme='light'] .hdx-background-image { + display: none; +} a.mantine-focus-auto:hover { color: inherit; From 3b026213a8560ae7e996b8d7f03f13db693554a8 Mon Sep 17 00:00:00 2001 From: Elizabet Oliveira Date: Mon, 10 Nov 2025 12:01:07 +0000 Subject: [PATCH 03/49] Refactor styles and components for improved theming and consistency - Updated button colors and variants across ClickhousePage, DBChartPage, and DBSearchPage for better visual consistency. - Refined ActionIcon styles in ThemeWrapper to enhance default and subtle variants. - Adjusted background and border colors in various components to align with new semantic color variables. - Replaced hardcoded colors with CSS variables for better theme management in stylesheets. - Removed deprecated design tokens and introduced new semantic color definitions for dark and light modes. - Added custom utility classes for layout and spacing to supplement Bootstrap utilities. - Cleaned up unused styles and variables to streamline the codebase. --- packages/app/src/AppNav.components.tsx | 5 +- packages/app/src/AppNav.tsx | 11 +- packages/app/src/AutocompleteInput.tsx | 374 +++++++++--------- packages/app/src/ClickhousePage.tsx | 1 - packages/app/src/DBChartPage.tsx | 2 +- packages/app/src/DBSearchPage.tsx | 16 +- packages/app/src/HDXMultiSeriesTimeChart.tsx | 5 +- packages/app/src/ThemeWrapper.tsx | 48 ++- .../app/src/components/DBRowSidePanel.tsx | 2 +- .../src/components/DBTable/TableHeader.tsx | 2 +- .../app/src/components/PageHeader.module.scss | 8 +- packages/app/src/components/SQLEditor.tsx | 3 +- .../app/src/components/SQLInlineEditor.tsx | 4 +- packages/app/src/components/Table.module.scss | 4 +- packages/app/styles/AppNav.module.scss | 19 +- .../app/styles/EndpointSubpanel.module.scss | 2 +- packages/app/styles/LogSidePanel.module.scss | 9 +- packages/app/styles/LogTable.module.scss | 10 +- packages/app/styles/SearchPage.module.scss | 11 +- packages/app/styles/_bootstrap-utilities.scss | 26 ++ packages/app/styles/_semantic-colors.scss | 126 ++++++ packages/app/styles/_utilities.scss | 201 ++++++++++ packages/app/styles/app.scss | 266 ++----------- .../design-tokens/_semantic-colors.scss | 46 --- packages/app/styles/variables.scss | 7 +- 25 files changed, 664 insertions(+), 544 deletions(-) create mode 100644 packages/app/styles/_bootstrap-utilities.scss create mode 100644 packages/app/styles/_semantic-colors.scss create mode 100644 packages/app/styles/_utilities.scss delete mode 100644 packages/app/styles/design-tokens/_semantic-colors.scss diff --git a/packages/app/src/AppNav.components.tsx b/packages/app/src/AppNav.components.tsx index 620b31d0b..f17d68004 100644 --- a/packages/app/src/AppNav.components.tsx +++ b/packages/app/src/AppNav.components.tsx @@ -320,9 +320,9 @@ export const AppNavLink = ({ data-testid={testId} href={href} className={cx( + styles.listLink, + { [styles.listLinkActive]: pathname?.includes(href) }, className, - 'text-decoration-none d-flex justify-content-between align-items-center fs-7 text-muted-hover', - { 'fw-600 text-success': pathname?.includes(href) }, )} > @@ -350,7 +350,6 @@ export const AppNavLink = ({ diff --git a/packages/app/src/AppNav.tsx b/packages/app/src/AppNav.tsx index 7dbc8977d..956443c52 100644 --- a/packages/app/src/AppNav.tsx +++ b/packages/app/src/AppNav.tsx @@ -69,7 +69,6 @@ function NewDashboardButton() { py="0px" px="sm" fw={400} - color="gray.2" > + Create Dashboard @@ -84,7 +83,6 @@ function NewDashboardButton() { py="0px" px="sm" fw={400} - color="gray.2" onClick={() => createDashboard.mutate( { @@ -619,7 +617,6 @@ export default function AppNav({ fixed = false }: { fixed?: boolean }) {