Adjusted typography, styles, and other visual elements to ensure consistent layouts

This commit is contained in:
2026-10-26 19:14:18 -03:00
parent 3229ce9c41
commit 7606643ff4
20 changed files with 498 additions and 30 deletions

View File

@@ -25,7 +25,7 @@ function composeScript(target, { bootstrap = true } = {}) {
const calendarLicense = fs.readFileSync(path.join(root, "src/vendor/fullcalendar/LICENSE.md"), "utf8");
parts.unshift(`function loadOpportunityCalendarLibrary() {\n/* ${calendarLicense} */\n${calendarLibrary}\nreturn FullCalendar;\n}`);
const css = ["src/content/styles/redwood.css", "src/features/debug/styles.css", "src/features/opportunities/styles.css", "src/features/install-base/styles.css", "src/features/service-requests/styles.css", "src/features/consumption/plan-detail.css", "src/features/ratecard/styles.css", "src/features/opportunities/customer-table-search.css", "src/features/opportunities/calendar.css"]
.concat("src/features/manage-time/styles.css", "src/features/products/ramp-projection.css", "src/features/org-chart/styles.css")
.concat("src/features/manage-time/styles.css", "src/features/products/ramp-projection.css", "src/features/org-chart/styles.css", "src/content/styles/tables.css", "src/content/styles/dialogs.css")
.map(file => fs.readFileSync(path.join(root, file), "utf8")).join("\n");
parts.unshift(`const redwoodStyles = ${JSON.stringify(css)};`);
}

View File

@@ -111,6 +111,15 @@ const os = require("node:os");
await page.evaluate(() => { window.fixtureOpportunitiesDelay = 0; });
assert.equal(await page.evaluate(() => window.fixtureContactQueries.length), queriesBeforeOpportunities, "Opportunity lookup must reuse the person's PartyNumber without searching contacts");
assert.equal(await contactOpportunities.locator("tbody tr").count(), 6);
const presentation = await contactOpportunities.locator("table").evaluate(table => ({
marker: table.getAttribute("data-table-layout"),
textHeader: getComputedStyle(table.querySelector("th")).textAlign,
moneyHeader: getComputedStyle(table.querySelector('th[data-align="money"]')).textAlign,
moneyCell: getComputedStyle(table.querySelector('td[data-align="money"]')).textAlign,
nowrap: getComputedStyle(table.querySelector(".opportunities-extension-sort-label")).whiteSpace
}));
assert.deepEqual(presentation,{marker:"standard",textHeader:"left",moneyHeader:"right",moneyCell:"right",nowrap:"nowrap"});
await page.screenshot({path:path.join(output,"shared-table.png")});
assert.equal(await contactOpportunities.getByRole("link", {name:"Contact opportunity 0",exact:true}).getAttribute("target"), "_blank");
assert.ok((await contactOpportunities.getByRole("link", {name:"Contact opportunity 0",exact:true}).getAttribute("href")).endsWith("?puid=CONTACT0"));
assert.deepEqual((await page.evaluate(()=>window.fixtureOpportunitiesByContact)).map(url=>new URL(url).searchParams.get("offset")), ["0","5"]);