diff --git a/src/front/pages/Leads.jsx b/src/front/pages/Leads.jsx index 4428c54..60b4c71 100644 --- a/src/front/pages/Leads.jsx +++ b/src/front/pages/Leads.jsx @@ -601,7 +601,7 @@ export const Leads = () => {
| Nombre | Origen | diff --git a/src/front/styles/leads.css b/src/front/styles/leads.css index af1b6ce..d693e44 100644 --- a/src/front/styles/leads.css +++ b/src/front/styles/leads.css @@ -40,6 +40,17 @@ box-shadow: 0 -8px 20px rgb(15 23 42 / 6%); } +:root[data-bs-theme="dark"] .leads-table-header { + --bs-table-bg: var(--cf-surface-muted); + --bs-table-color: var(--cf-text); + --bs-table-border-color: var(--cf-border); +} + +:root[data-bs-theme="dark"] .leads-table-header > tr > th { + color: var(--cf-text) !important; + background-color: var(--cf-surface-muted) !important; +} + @media (max-width: 767.98px) { .lead-form-modal { padding: 0; diff --git a/tests/frontend/productionQa.test.mjs b/tests/frontend/productionQa.test.mjs index d1784b5..9e1d193 100644 --- a/tests/frontend/productionQa.test.mjs +++ b/tests/frontend/productionQa.test.mjs @@ -44,6 +44,15 @@ test("lead search icon has a centered fixed hit area", () => { assert.match(leads, /minWidth: "2\.75rem"/); }); +test("lead table header remains readable in dark mode", () => { + const leads = source("src/front/pages/Leads.jsx"); + const css = source("src/front/styles/leads.css"); + assert.match(leads, /leads-table-header/); + assert.match(css, /data-bs-theme="dark"[^}]*\.leads-table-header/); + assert.match(css, /--bs-table-bg:\s*var\(--cf-surface-muted\)/); + assert.match(css, /--bs-table-color:\s*var\(--cf-text\)/); +}); + test("job scheduling uses API field names without timezone shifts", () => { const jobs = source("src/front/pages/Jobs.jsx"); const jobDetail = source("src/front/pages/JobDetail.jsx");
|---|