This repository has been archived on 2026-09-03. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
itsthevine/src/main/resources/templates/error.html
T
austinandClaude Opus 5 9e80590687 Everything on the shared names — the copy-paste is gone
The ported markup was written a page at a time, so the same thing was said several ways. Counted before
touching anything: nine variants of the page gutter, seven max-widths, six link styles, two definitions of
an input, and one stray shadow.

Now: `container` (which already centres and pads), `measure`/`measure-wide`, `link`/`link-plain`/
`link-on-dark`, one `field`, `photo`, `page-head`. Nothing in a template writes `bg-white rounded-…
shadow-…` or `underline underline-offset-4` any more — 119 uses of `panel`, 82 of `label`, 52 of
`panel-lift`, 17 of `link`.

TWO REAL FIXES FELL OUT OF IT, not just tidying:

- Every section said `container mx-auto px-4`: `mx-auto` twice, and a px-4 that beat the responsive
  padding inside `container`. The gutter was 16px at every width, including on a 27-inch screen. Removing
  the copy-paste restores sm:px-6 lg:px-8, which is most of why the pages now breathe.
- The public form and the admin had grown two different inputs — cream vs white, ring-2 vs ring-1, py-2.5
  vs py-2, and different text sizes. There is one `field` now, and the same focus ring as everything else.

The admin uses the same names where they are the same thing (`link`, `field`, `h4`, `--radius-*`) and
keeps its own denser buttons, because it is a tool and not a shop front.

53 tests green. Every class used across all nine pages resolves in the compiled stylesheet — that check is
what makes a sweep this size safe to do with a script.

Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
2026-07-26 18:43:40 -05:00

30 lines
1.1 KiB
HTML

<!DOCTYPE html>
<!--/*
Anything that isn't a 404: the site's own page rather than Boot's white error screen, which shows a
stack-trace-shaped block of text to whoever happens to be standing in the shop.
It deliberately says nothing about what broke. The person reading it can't act on that; the phone
number is the thing they can use, and the log has the details.
*/-->
<html lang="en" xmlns:th="http://www.thymeleaf.org"
th:replace="~{fragments/page :: page(
'Something went wrong · The Vine Coffeehouse + Bakery',
'Something went wrong on our side. Call The Vine on (309) 701-0660.',
'/', ~{::content})}">
<body>
<div th:fragment="content" class="bg-bakery-50">
<div class="container py-24 md:py-32 text-center">
<h1 class="h1 text-bakery-900 mb-6">Something went wrong</h1>
<p class="text-bakery-800 mb-10">
That is our fault, not yours. Try again in a moment, or call us on
<a href="tel:+13097010660" class="link-plain">(309) 701-0660</a>.
</p>
<a href="/"
class="pill-sage">
Back home
</a>
</div>
</div>
</body>
</html>