142c1defbb
The page column was the 48rem reading measure, which the send log, the mail queue and the system log widened to 64rem for their tables. The navigation and the page are centred as a pair, so that difference did not only change the page's width: it moved the navigation column and the left edge of every card on the way between two pages. The column is now 64rem throughout and the measure lives inside it — a page's heading, cards, back link and version footer are held to 48rem and centred in the column, and the pages made of data opt out and take the column whole. Which pages those are is declared by the page (a "wide" block in its template, the same mechanism as the section index) rather than derived from the navigation entry: .Active cannot tell the send log from a single delivery's page, which is prose and now keeps the measure instead of inheriting the log's width. Two rules follow from centring the children rather than the cards. The heading takes its margins as longhands, since the shorthand re-zeroed the auto side margins and pinned it a measure's width left of the card under it; and the back link is a block, since auto margins centre a block and do nothing for an inline-block. The scrollbar's width is reserved on every page as well. Without it a short page and a long one are laid out in viewports differing by that width, which moved the same things again, in the same direction, for a second reason. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
31 lines
1.1 KiB
HTML
31 lines
1.1 KiB
HTML
{{/* The send log is six columns of addresses, subjects and timestamps, so this
|
|
page takes the whole column rather than the reading measure (see the "wide"
|
|
block in layout.html). A single delivery's page carries prose and keeps the
|
|
measure, which is why this is declared per page and not per page name. */}}
|
|
{{define "wide"}}wide{{end}}
|
|
|
|
{{define "content"}}
|
|
<h1>Deliveries</h1>
|
|
|
|
<div class="card">
|
|
<h2>Filter</h2>
|
|
<form method="get" action="/deliveries">
|
|
<label for="domain">Domain</label>
|
|
<select id="domain" name="domain">
|
|
<option value="">All domains</option>
|
|
{{range .FilterDomains}}<option value="{{.}}" {{if eq . $.FilterDomain}}selected{{end}}>{{.}}</option>{{end}}
|
|
</select>
|
|
<label for="app">Application</label>
|
|
<select id="app" name="app">
|
|
<option value="">All applications</option>
|
|
{{range .FilterApps}}<option value="{{.}}" {{if eq . $.FilterApp}}selected{{end}}>{{.}}</option>{{end}}
|
|
</select>
|
|
<button type="submit">Filter</button>
|
|
</form>
|
|
</div>
|
|
|
|
<div class="card">
|
|
{{template "deliveries_rows" .}}
|
|
</div>
|
|
{{end}}
|