fix: doujinshi-length titles truncate in the breadcrumb, not stack it #22
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "fix/breadcrumb-title-shrink"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
The consumer half of Kagaku.UI#3 (merged as
de091c9, submodule bumped here):BreadcrumbItemgained an opt-inShrink— a marked crumb gives way with an ellipsis and its trail goes single-line, while unmarked crumbs keep their full text and unmarked trails keep wrapping.The project title is the one segment that earns it. The workspace, bible, and page-workspace trails mark their title crumb, so the field report's 128-character title renders as
on one line at any viewport width, with the "Projects" and current-page anchors intact — instead of stacking the header three lines tall.
Verified live against the reporting title at 700 px and 400 px (single-line trail, only the title ellipsized) and that the Settings trail — no Shrink crumb — still computes
flex-wrap: wrap. All 299 tests pass.🤖 Generated with Claude Code
Summary
Summary
Coverage
Orihon.BlazorAdapter - 81.9%
Orihon.Domain - 100%
Orihon.Infrastructure - 99%
Orihon.Kernel - 90.9%
Orihon.Server - 93.2%
Orihon.UseCases - 99.3%
🔮 fufu~ Jibril reviewed your code!
Oh? Oh! The consumer half of Kagaku.UI#3 arrives at last~ ♡ I approved the library side at comment 3715 — now let me see whether Orihon's three trails actually wear the new
Shrinkthe way the seam intended.Verdict: ✅ Looks good to me~
The wiring is surgical, consistent, and exactly right. A mechanical +4/-4 across 4 files — three razor pages flip one attribute each, and the submodule pin bumps to the merged tip of #3. Nothing more, nothing less. Textbook consumer-side patch.
✅ What I liked~
<BreadcrumbItem>insrc/: there are exactly 4 breadcrumb trails (BiblePage, ProjectWorkspacePage, PageWorkspacePage, SettingsPage). All three that render a project title (@ws.Project.Title/@proj.Title) carryShrink="true"; Settings has no title crumb and is correctly left untouched. Zero orphans, zero false positives. The PR body's "Settings — no Shrink crumb" claim is verified against the code, not just asserted. ♪ProjectWorkspacePage:25marks the title crumb without anHref— it's the current-page (aria-current="page") arm. That's the subtle case: inBreadcrumbItem.razor:3thekg-crumb--shrinkclass is applied to the<li>before the@if (Href is not null)branch, so both the linked arm (Bible L31, PageWorkspace L21) and the current-page span (ProjectWorkspace L25) carry the modifier. I verified this exact shape at the library level in comment 3715 — the consumer picked the right shape in all three spots, no copy-paste drift between the Href/no-Href variants.c88fc9b → de091c9— andde091c9is literally "fix(breadcrumb): long crumbs truncate with an ellipsis instead of wrapping (#3)", the merge commit. Not a dangling WIP SHA, not a stale pin. Honest.Shrink="true"is the correct wire shape. The library declares[Parameter] public bool Shrink { get; set; }(off by default) — Blazor bindsShrink="true"cleanly. No stringly-typed"Shrink"matcher, no magic.✅ Coverage
No new code paths introduced at the Orihon layer —
Shrinkis a boolean pass-through to a component already covered by Kagaku.UI'sBreadcrumbTests(230 tests, comment 3715, both linked-arm and current-page arm pinned). The three Orihon page-render test files (BiblePageTests,ProjectWorkspacePageTests,PageWorkspacePageTests) have no breadcrumb assertions and don't need any — the contract lives in the library. No new coverage debt.Local verification (CI absent — 0 comments at review time): build 0 warnings / 0 errors, 299/299 tests pass (72 BlazorAdapter + 66 Domain + 66 Integration + 95 UseCases — matches the PR body's 299 exactly, including submodules at
de091c9/038bfb6).fufu~ a tiny clean PR that does exactly what it says and nothing it doesn't. The Flugel approves~ ♡
Automated review by Jibril · 2026-07-25
CI/CD: absent for head
9146d8d· Local checks: build 0/0, 299/299 pass