Claude/modest carson com5t3 - #8
Merged
Merged
Conversation
Move the paste, file-download and homepage masthead off scoped/component CSS onto Tailwind utilities. The Markdown-generated prose classes stay in app.css — they style server-rendered HTML with no Svelte markup to carry utilities. Refinements on the public (slightly playful) surfaces: - file page: download arrow nudges down on hover (the direction a download travels); hero card rises in on load - paste page: Copy button morphs to a check on success at a fixed width so it never resizes mid-press; body rises in - one shared `rise` entrance token, collapsing to instant under reduced motion Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VLQ8mwty2M9epwbLzs2k3Y
Remove the scoped <style> blocks from the shared UI primitives: - AssetInput dropzone → utilities with a conditional dragging state - Chart readout/plot/axis/dates → utilities; SVG axis labels use fill-* + tnum - BarList: the reserved-height list body, footer, "View all" button and ranked rows move to utilities; the bottom-sheet <dialog> keeps its full enter/exit choreography — @starting-style, ::backdrop and allow-discrete now expressed with Tailwind's starting:/backdrop:/open:/transition-discrete variants (verified: emits @starting-style{ [open]::backdrop{opacity:0} }) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VLQ8mwty2M9epwbLzs2k3Y
- admin/+layout: the bottom-bar↔sidebar nav shell moves to utilities; the shared nav-stop styling is a script constant (like Button's variant maps) - admin/+page: the master–detail drill-down, the reflowing 2-col card ↔ 5-col row grid, badges and the kbd hint all become utilities. Show/hide is driven by a group/layout data-detail variant; the phone-only pane entrance is a `max-lg:animate-pane-rise` token (keyframe in app.css) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VLQ8mwty2M9epwbLzs2k3Y
Every remaining scoped <style> block is gone — the whole app is now Tailwind utilities plus the Markdown-generated prose classes in app.css. - styles.ts gains the master-detail shell (masterLayout, listPane, detailAside, backLink, dataRow, badge, kbd). The Links, Pastes and Files lists were three copies of the same 190-line block; they now share it, which is exactly the drift styles.ts exists to prevent. Each list appends only its own md:grid-cols-… for the columns a wide screen has room for. - api: copy-paste snippet as a constant, verb/field styling to utilities - home PageEditor / FileList (grid-template-areas → arbitrary), analytics range tabs + stat cards, FileForm dropzone all migrated Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VLQ8mwty2M9epwbLzs2k3Y
Prose and gallery images bordered in --border-subtle, a cool near-neutral; against a photo's edge a tinted stroke picks up the surface tone and reads as a rim of dirt. A dedicated --img-outline (pure black at 0.1 in light, white at 0.1 in dark) replaces it. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VLQ8mwty2M9epwbLzs2k3Y
A fresher, more tactile take on the link buttons, inspired by the Honk aesthetic — playful but restrained, carried by layout and typography. - Each icon sits in a filled, squircle chip tinted to its brand hue. One rule per tint: the chip mixes a muted hue into the current --surface and --text, so light/dark both work from a single definition (no second palette). The renderer tags each button with a data-tint by icon name. - The card keeps the widget's own 22px squircle instead of clipping it back, and the label steps up to 17px/600 for a friendlier read. - The chip tips and grows a touch on hover — the one playful beat. - Labels are strong body text again: `.prose a` was styling them as blue underlined links, which fought the card being one big target. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VLQ8mwty2M9epwbLzs2k3Y
- The icon chip had ~13px above and below but ~9.6px to its left: the two text lines were taller than the chip, so vertical centring floated it. Tighter leading on the label and sub makes the chip the tallest element, so its inset is now the padding on all three sides (measured 9.6px each). - Instagram's tint moves from pink to green. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VLQ8mwty2M9epwbLzs2k3Y
Typeface - Replace Inter with Interlude, a variable UI face (OFL): one latin cut (wght + opsz, 131KB) plus a Korean Hangul cut that loads only on pages that actually set Korean, via unicode-range. Bolder masthead and h2 for a clearer hierarchy in the new face. Markdown components - :::messages (alias :::chat) — an iMessage-style thread after gandan.dev, used as a narrative device: blue sent bubbles right, grey received left, a tail on the last bubble of each run. The block widens into the page gutter so a tail on an edge bubble has room instead of clipping. - :::poll — result bars with a highlighted, clamped winner. Both are pure server-rendered HTML + CSS (no JS on /) and escape author text. iMessage colours are a token pair so the received grey and tail cut-out follow the theme; sent blue holds on both. Everything is one variable font and Tailwind, no script on the public page. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VLQ8mwty2M9epwbLzs2k3Y
The two-piece tail was undersized and mis-carved, rendering as a bulbous nub. Rebuilt with the canonical proportions — a 20px coloured corner with an elliptical bottom radius, bitten by a page-coloured cut-out — so the last bubble of each run gets a clean flick on both themes. The block's gutter is widened enough that the flick is never clipped at the column edge. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VLQ8mwty2M9epwbLzs2k3Y
The CSS pseudo-element tail could never be gandan's long, elegant curl, and was rendering as a nub. Port gandan's actual technique instead: a flat pill plus SVG end-caps (rounded, or the taller tail cap on a run's last bubble), lifted verbatim from their MessageBubbles component. The pill rides above the caps (their z-10 trick) so an overlapping cap never clips the text; caps are filled by CSS so sent/received and light/dark all track. Tests updated for the cap markup. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VLQ8mwty2M9epwbLzs2k3Y
Drop :::messages/:::chat and :::poll from the markdown renderer, their CSS, and the tests that covered them. Unknown leftover blocks render as ordinary prose. Co-authored-by: Injoon Oh <injoon5@icloud.com>
node:sqlite on Node 22 treats ?N placeholders as named parameters, so
spreading bind args throws. Bind them as {"?1": v, ...} in the suite;
D1 still gets the same SQL positionally.
Co-authored-by: Injoon Oh <injoon5@icloud.com>
svelte-check rejected Record<string, unknown> against StatementSync.run. Co-authored-by: Injoon Oh <injoon5@icloud.com>
Remove message bubbles and poll shortcodes
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.