fix: remove build warnings (unused CSS, a11y labels, npmrc)
All checks were successful
CI / update (push) Successful in 1m30s

- settings: remove unused form p/h4 CSS selectors
- prayers: remove unused .postcommunio-section/links CSS selectors
- RosarySvg: add aria-label to all bead hitbox anchors
- .npmrc: remove pnpm-only resolution-mode setting
This commit is contained in:
2026-02-16 18:53:42 +01:00
parent c53aee7123
commit 2024551e0e
4 changed files with 14 additions and 44 deletions

1
.npmrc
View File

@@ -1,2 +1 @@
engine-strict=true
resolution-mode=highest

View File

@@ -36,8 +36,6 @@ form button:hover, form button:focus-visible {
scale: 1.1;
}
form button:active { background-color: var(--color-accent-active); }
form p { max-width: 400px; margin-top: 0; }
form h4 { margin-bottom: 0; }
@media screen and (max-width: 600px) {
form { margin-top: 0; }
}

View File

@@ -428,33 +428,6 @@ h1{
background-color: var(--nord5);
}
}
.postcommunio-section h2 {
text-align: center;
padding-bottom: 0.5em;
}
.postcommunio-links {
list-style: none;
padding: 0;
margin: 0;
text-align: center;
}
.postcommunio-links li {
margin: 0.75em 0;
}
.postcommunio-links a {
color: var(--nord8);
text-decoration: none;
font-size: 1.15em;
}
.postcommunio-links a:hover {
text-decoration: underline;
}
@media(prefers-color-scheme: light) {
.postcommunio-links a {
color: var(--nord10);
}
}
/* Seasonal badge */
.seasonal-badge {
display: inline-block;

View File

@@ -131,31 +131,31 @@
<!-- Invisible hitboxes for larger tap targets (anchor links for no-JS fallback) -->
<g class="hitboxes">
<!-- Cross hitbox -->
<a href="#cross"><rect x="-15" y="-30" width="80" height="80" data-section="cross" /></a>
<a href="#cross" aria-label="Cross"><rect x="-15" y="-30" width="80" height="80" data-section="cross" /></a>
<!-- Individual bead hitboxes -->
<a href="#lbead1"><circle cx="25" cy={pos.lbead1} r="25" data-section="lbead1" /></a>
<a href="#start1"><circle cx="25" cy={pos.start1} r="20" data-section="start1" /></a>
<a href="#start2"><circle cx="25" cy={pos.start2} r="20" data-section="start2" /></a>
<a href="#start3"><circle cx="25" cy={pos.start3} r="20" data-section="start3" /></a>
<a href="#lbead2"><circle cx="25" cy={pos.lbead2} r="25" data-section="lbead2" /></a>
<a href="#lbead1" aria-label="First large bead"><circle cx="25" cy={pos.lbead1} r="25" data-section="lbead1" /></a>
<a href="#start1" aria-label="First small bead"><circle cx="25" cy={pos.start1} r="20" data-section="start1" /></a>
<a href="#start2" aria-label="Second small bead"><circle cx="25" cy={pos.start2} r="20" data-section="start2" /></a>
<a href="#start3" aria-label="Third small bead"><circle cx="25" cy={pos.start3} r="20" data-section="start3" /></a>
<a href="#lbead2" aria-label="Second large bead"><circle cx="25" cy={pos.lbead2} r="25" data-section="lbead2" /></a>
<!-- Decade hitboxes -->
{#each [1, 2, 3, 4, 5] as d (d)}
{@const decadePos = pos[`secret${d}`]}
<a href={`#secret${d}`}><rect x="-15" y={decadePos - 2} width="80" height={DECADE_OFFSET + 9 * BEAD_SPACING + 12} data-section={`secret${d}`} /></a>
<a href={`#secret${d}`} aria-label={`Decade ${d}`}><rect x="-15" y={decadePos - 2} width="80" height={DECADE_OFFSET + 9 * BEAD_SPACING + 12} data-section={`secret${d}`} /></a>
{/each}
<!-- Transition bead hitboxes -->
{#each [1, 2, 3, 4] as d (d)}
<a href={`#secret${d}_transition`}><circle cx="25" cy={pos[`secret${d}_transition`]} r="25" data-section={`secret${d}_transition`} /></a>
<a href={`#secret${d}_transition`} aria-label={`Transition after decade ${d}`}><circle cx="25" cy={pos[`secret${d}_transition`]} r="25" data-section={`secret${d}_transition`} /></a>
{/each}
<a href="#final_transition"><circle cx="25" cy={pos.final_transition} r="25" data-section="final_transition" /></a>
<a href="#final_salve"><circle cx="25" cy={pos.final_salve} r="20" data-section="final_salve" /></a>
<a href="#final_schlussgebet"><circle cx="25" cy={pos.final_schlussgebet} r="20" data-section="final_schlussgebet" /></a>
<a href="#final_michael"><circle cx="25" cy={pos.final_michael} r="20" data-section="final_michael" /></a>
<a href="#final_paternoster"><circle cx="25" cy={pos.final_paternoster} r="25" data-section="final_paternoster" /></a>
<a href="#final_cross"><rect x="-15" y={pos.final_cross - 50} width="80" height="80" data-section="final_cross" /></a>
<a href="#final_transition" aria-label="Final transition"><circle cx="25" cy={pos.final_transition} r="25" data-section="final_transition" /></a>
<a href="#final_salve" aria-label="Salve Regina"><circle cx="25" cy={pos.final_salve} r="20" data-section="final_salve" /></a>
<a href="#final_schlussgebet" aria-label="Closing prayer"><circle cx="25" cy={pos.final_schlussgebet} r="20" data-section="final_schlussgebet" /></a>
<a href="#final_michael" aria-label="St. Michael prayer"><circle cx="25" cy={pos.final_michael} r="20" data-section="final_michael" /></a>
<a href="#final_paternoster" aria-label="Final Our Father"><circle cx="25" cy={pos.final_paternoster} r="25" data-section="final_paternoster" /></a>
<a href="#final_cross" aria-label="Final cross"><rect x="-15" y={pos.final_cross - 50} width="80" height="80" data-section="final_cross" /></a>
</g>
</svg>