Skip to content

Improve the month calendar and page navigation on phones - #282

Merged
brianglass merged 4 commits into
mainfrom
mobile-calendar-list
Nov 6, 2026
Merged

brianglass merged 4 commits into
mainfrom
mobile-calendar-list

Conversation

@brianglass

@brianglass brianglass commented Nov 6, 2026 •

Copy link
Copy Markdown
Owner

GoatCounter shows about two thirds of human page views come from phones. Everything here applies below 600px only. It is CSS only apart from the bottom navigation row.

Calendar. On phones the month table kept seven vw-sized columns: 40px cells with 4–7px text. It now becomes a list, one row per day:

  • the date and weekday;
  • then the fast, the Sunday titles, feasts and saints, at 15–18px.

The whole row is still a link, and fast days keep their shading.

Day and month navigation.

  • Previous / today / next: these were 26px-tall links 4px apart. They are now full-width bordered buttons at least 44px tall, Apple's minimum tap target. The calendar's month links get the same.
  • Tradition and calendar selects: these were 24px tall with 12px text. Below 16px, iOS Safari zooms the page when a select is tapped. They now fill the row at 44px with 16px text.
  • Width: the nav uses the full width with a 16px gutter instead of 75%.
  • Title row: the site title, the hamburger and its open menu share that 16px gutter, so they line up with the buttons' edges.

Readings.

  • Text: the scripture and lives are left-aligned instead of justified, which opened wide gaps between words. Hyphenation stays on.
  • Width: the content area takes the same 16px gutter instead of 75% of the screen. On a 390px phone the text goes from about 280px to 343px wide, and a day's page is about 13% shorter.
  • Bottom navigation: the page ends with the same previous / today / next buttons, since a day runs to several screens. They swap in the new day like the top ones, then scroll to its start (show:window:top). This row is hidden on wider screens. This is the only template change.

Scope. render_calendar_html also feeds the oEmbed API, whose HTML other sites style themselves, so the markup is unchanged. calendar_embed.html has its own inline styles. The weekday names come from the cells' sun…sat classes and are in English, like the header row they replace.

Testing. Checked at 390px and 320px: no horizontal scroll. At 320px the "next day" button wraps onto its own row. At 1200px the table and nav are unchanged. All 300 tests pass.

🤖 Generated with Claude Code

brianglass and others added 2 commits November 6, 2026 07:51
On a phone, the month table kept its seven columns, sized in vw, so each
day was a 40px cell with 4-7px text. Below 600px it now lays out as one
row per day: the date and weekday, then the fast, titles, feasts and
saints in readable type, with the whole row still a link. CSS only, so
the oEmbed HTML that other sites style themselves is unchanged.

Also left-align the readings text on phones, where justifying a narrow
column opens wide gaps between words.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Below 600px the previous/today/next links (and the month links) become
full-width buttons at least 44px tall, the tradition and calendar selects
fill the row at 44px with 16px text, and the nav uses the full width
with a 16px gutter. They were 26px links 4px apart, and 24px selects
with 12px text, which iOS Safari zooms the page on when tapped.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@brianglass brianglass changed the title Show the month calendar as a list of days on phones Improve the month calendar and page navigation on phones Nov 6, 2026
brianglass and others added 2 commits November 6, 2026 08:07
The title row kept its 75% width while the buttons below it span the
screen with a 16px gutter. It now shares that gutter, and the hamburger
and its menu end on the same edge. The row's column gap and the nav's
negative margin were both 1.5em but at different font sizes, which left
the hamburger 3px past the edge, so both are dropped on phones.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A day's readings run to several screens on a phone, so changing days
meant scrolling back to the top. Below 600px the readings page now ends
with the same previous/today/next buttons; they swap in the new day and
scroll to its start. Hidden on wider screens.

The content area also takes the 16px gutter on phones instead of 75% of
the screen, widening the text from about 280px to 343px on a 390px phone.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@brianglass
brianglass merged commit 05e1eb2 into main Nov 6, 2026
4 checks passed
@brianglass
brianglass deleted the mobile-calendar-list branch November 6, 2026 13:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant