Custom URL placeholder: new.html example now reads my-snippet (was /my-snippet). It was a plain placeholder attribute, so only the text changed.
Styled buttons and selection controls (CSS-only, end of app.css):
Selects: appearance: none, house border/background/radius matching the custom URL box, inline SVG chevron, hover + accent focus-visible states.
Checkboxes/radios: appearance: none, custom drawn boxes (4px radius) and circles, accent fill with white check / inner dot when checked, hover and focus-visible states.
Buttons: bare button[type="submit"] (admin/unlock pages) now get the .btn treatment; .btn gains an accent border and shared focus-visible ring.
All controls use the house palette vars (--surface, --border, --fg, --accent) and radius tokens; behavior unchanged.
Admin link spacing: .admin-link-row now has margin-top: 32px, padding-top: 20px, and a top divider line, so the Admin link reads as its own footer section on the settings page.
Verification
go vet and go test ./... pass.
Rendered screenshots with headless chromium: /new shows slash-free placeholder, custom selects/checkboxes/radios (no default HTML controls), styled buttons; /settings shows the Admin link clearly separated below a divider.
Screenshots: /tmp/shots123/new.png, /tmp/shots123/settings.png (attached to this PR).
Fixes #123
## Changes
1. **Custom URL placeholder**: `new.html` example now reads `my-snippet` (was `/my-snippet`). It was a plain placeholder attribute, so only the text changed.
2. **Styled buttons and selection controls** (CSS-only, end of `app.css`):
- **Selects**: `appearance: none`, house border/background/radius matching the custom URL box, inline SVG chevron, hover + accent focus-visible states.
- **Checkboxes/radios**: `appearance: none`, custom drawn boxes (4px radius) and circles, accent fill with white check / inner dot when checked, hover and focus-visible states.
- **Buttons**: bare `button[type="submit"]` (admin/unlock pages) now get the `.btn` treatment; `.btn` gains an accent border and shared focus-visible ring.
- All controls use the house palette vars (--surface, --border, --fg, --accent) and radius tokens; behavior unchanged.
3. **Admin link spacing**: `.admin-link-row` now has `margin-top: 32px`, `padding-top: 20px`, and a top divider line, so the Admin link reads as its own footer section on the settings page.
## Verification
- `go vet` and `go test ./...` pass.
- Rendered screenshots with headless chromium: `/new` shows slash-free placeholder, custom selects/checkboxes/radios (no default HTML controls), styled buttons; `/settings` shows the Admin link clearly separated below a divider.
- Screenshots: /tmp/shots123/new.png, /tmp/shots123/settings.png (attached to this PR).
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Fixes #123
Changes
Custom URL placeholder:
new.htmlexample now readsmy-snippet(was/my-snippet). It was a plain placeholder attribute, so only the text changed.Styled buttons and selection controls (CSS-only, end of
app.css):appearance: none, house border/background/radius matching the custom URL box, inline SVG chevron, hover + accent focus-visible states.appearance: none, custom drawn boxes (4px radius) and circles, accent fill with white check / inner dot when checked, hover and focus-visible states.button[type="submit"](admin/unlock pages) now get the.btntreatment;.btngains an accent border and shared focus-visible ring.Admin link spacing:
.admin-link-rownow hasmargin-top: 32px,padding-top: 20px, and a top divider line, so the Admin link reads as its own footer section on the settings page.Verification
go vetandgo test ./...pass./newshows slash-free placeholder, custom selects/checkboxes/radios (no default HTML controls), styled buttons;/settingsshows the Admin link clearly separated below a divider.