also looking at this
LSU's own coaching surface, and what auditing the site turned up
#12
86 files
+3943
-1190
Review threads live on the whole diff, not on one commit, so none are shown here - a thread's line means something in the branch's final form, and painting it into an intermediate step would put it on code it is not about.
| @@ -213,16 +213,26 @@ export function auditPage(page: string, raw: string, served: Set<string>): Findi | ||
| 213 | 213 | * nothing errors. Read against the BUILT css, so the generated utilities |
| 214 | 214 | * count as defined. |
| 215 | 215 | * |
| 216 | * The allowlist is a ratchet, not an exemption. Each entry is markup whose | |
| 217 | * class carries no styling today; listing them stops the set growing while | |
| 218 | * leaving what is already there visible. | |
| 216 | * The allowlist is a ratchet, not an exemption: it stops the set growing | |
| 217 | * while leaving what is already there visible. Every entry was opened in a | |
| 218 | * browser and checked to render correctly, with the note saying what carries | |
| 219 | * the styling instead - an unverified allowlist is how the next one of these | |
| 220 | * gets waved through. | |
| 219 | 221 | */ |
| 220 | 222 | const UNSTYLED_ALLOWED = new Set([ |
| 221 | // Structural or scripting hooks with nothing to paint. | |
| 222 | 'race-board', 'lap-link', 'carousel', 'seg-count', 'enter-count', | |
| 223 | 'ls-cmp-yr', 'edon-l', 'ws-soon', | |
| 224 | // Wrappers whose typography comes from the block around them. | |
| 225 | 'sr-lead', 'ws-lead', 'ws-apply', 'tiers-title', 'begin-band', | |
| 223 | // Hooks with nothing of their own to paint: a sibling class or a child | |
| 224 | // carries the look. .seg-count and .enter-count wrap a .seg segment | |
| 225 | // display, .lap-link also carries .btn, .ls-cmp-yr is painted by a rule on | |
| 226 | // .ls-cmp-row, and .race-board and .carousel are scripting targets. | |
| 227 | 'race-board', 'lap-link', 'carousel', 'seg-count', 'enter-count', 'ls-cmp-yr', | |
| 228 | // State modifiers the design does not act on: on /world-series the open | |
| 229 | // event is told apart by its red entry button against the others' "coming | |
| 230 | // soon" pill, not by the list item around it. | |
| 231 | 'ws-soon', 'ws-apply', | |
| 232 | // Blocks whose typography comes from what is around them: the three leads | |
| 233 | // from .phero, .tiers-title from .h2 beside it, .begin-band from .band, | |
| 234 | // and .edon-l is a caption under a stat rather than a label. | |
| 235 | 'sr-lead', 'ws-lead', 'tiers-title', 'begin-band', 'edon-l', | |
| 226 | 236 | // Utilities inside @stacksjs/components' Dialog, generated from that |
| 227 | 237 | // package's own source rather than from this app's markup. |
| 228 | 238 | 'bg-black/25', 'dark:bg-black/50', |