ui: show the "day being celebrated" label
Deploy / deploy (push) Successful in 38s

Adds a real label under each hour's heading — "Monday in the 10th week
after Trinity", "The 1st Sunday of Advent" — computed from whichever
LiturgicalDay the hour actually resolved against, which can differ from
the nav date for Compline's evening anticipation.

calendar/day-label.ts combines two things: an ordinal week-within-season
label (pure date arithmetic on the season anchors from calendar/temporal.ts
and calendar/easter.ts — Trinity-counted, not Divinum Officium's own
Pentecost-counted convention; meant to become configurable later via the
same day->id indirection already used for the sanctoral calendar, not
hardcoded forever), and a feast name from calendar/commemorations.ts's
occurrence decision — shown alone if the feast displaces the day outright,
prefixed onto the temporal label if merely commemorated, or omitted
entirely if nothing's occurring.
This commit is contained in:
2026-08-10 07:07:10 -04:00
parent eaaca05ad8
commit 226fff2ce6
8 changed files with 243 additions and 3 deletions
+1
View File
@@ -130,6 +130,7 @@ export function renderHourView(container: HTMLElement): void {
container.innerHTML = `
<div class="hour-view">
<h2>${hourLabel(selectedHour)}</h2>
${ordo.dayLabel ? `<p class="day-label">${escapeHtml(ordo.dayLabel)}</p>` : ''}
${ordo.parts.map((part) => renderPart(part, languages)).join('')}
</div>
`;
+8
View File
@@ -261,6 +261,14 @@ button:focus-visible {
margin: 0 0 var(--space-1);
}
.day-label {
font-family: var(--font-ui);
font-size: 0.9em;
font-style: italic;
color: var(--color-brass);
margin: 0 0 var(--space-2);
}
.ordo-part-citation {
font-family: var(--font-ui);
font-size: 0.85em;