chore(ui): remove dead Breadcrumbs and ScrollFlow components - #6450
Conversation
Both components under components/site/ are fully implemented but have zero import sites anywhere in apps/loopover-ui/src. A repo-wide search for `Breadcrumbs`, `ScrollFlow`, and their `Crumb`/`FlowStep` types finds only the definitions themselves; the other hits are Sentry's own error "breadcrumbs" (src/selfhost/sentry.ts, browser-sentry.ts), an unrelated concept. Neither has a dedicated test, a barrel re-export, or a reference in a generated file or docs page. breadcrumbs.tsx's doc comment claims it is the "breadcrumb rail used on /app, /docs, /api headers", but none of those pages import it -- the component was written and never wired in. Per the issue, this was the point to check before deleting: no current page renders a breadcrumb rail today, so there is no genuine gap to wire it into. components/ui/breadcrumb.tsx is a separate shadcn primitive and is untouched. Removing both drops nothing anything else depends on. It also clears two react-refresh/only-export-components warnings, since each file exported an interface (Crumb / FlowStep) alongside its component. Verified: ui:typecheck clean, ui:build clean (121 modules, neither file was in the graph), and ui:lint gains no new violation (the only errors are the repo-wide CRLF prettier noise, absent on CI's LF checkout). Closes JSONbored#6182
|
Superagent didn't find any vulnerabilities or security issues in this PR. |
|
Tip ✅ LoopOver review result - approve/merge recommendedReview updated: 2026-07-16 08:45:28 UTC
Review summary Nits — 3 non-blocking
Decision drivers
Context & advisory signals — never blocks the verdict
Review context
Contributor next steps
Signal definitions
🧪 Chat with LoopOverAsk LoopOver a question about this PR directly in a comment — grounded only in the same cached, public-safe facts shown above, never a new claim.
Full command reference: https://loopover.ai/docs/loopover-commands 🧪 Experimental — new and may change. Visual preview
Click any thumbnail to open the full-size screenshot. Before = production · After = this PR's preview deploy · Diff highlights exactly what changed. 🟩 Safe / merged · 🟦 Advisory · 🟨 Held for review · 🟥 Blocked / closed 💰 Earn for open-source contributions like this. Gittensor lets GitHub contributors earn for the work they already do — register to start earning →. Checked by LoopOver, a quiet PR intelligence layer for OSS maintainers.
|






Summary
components/site/breadcrumbs.tsxandcomponents/site/scroll-flow.tsxare fully implemented but have zero import sites anywhere inapps/loopover-ui/src. This removes both.Verified dead, not assumed
I searched the whole repo for
Breadcrumbs,ScrollFlow, and their exportedCrumb/FlowSteptypes before deleting:src/selfhost/sentry.ts,apps/loopover-ui/src/lib/browser-sentry.ts) — an unrelated use of the word.importstatement referencescomponents/site/breadcrumbsorcomponents/site/scroll-flowanywhere inapps/,src/, ortest/.routeTree.gen.tsor any docs content.breadcrumbs.tsx's own doc comment claims it is the "breadcrumb rail used on /app, /docs, /api headers." The issue flagged this as the thing to check before deleting — so I checked: none of those pages import it. The component was written and never wired in, and no page renders a breadcrumb rail today, so there is no genuine gap to wire it into rather than delete.components/ui/breadcrumb.tsxis a separate shadcn primitive (different path, singular) and is untouched.Why this is safe
react-refresh/only-export-componentswarnings: each file exported an interface (Crumb/FlowStep) alongside its component.Validation
npm run ui:typecheck— clean (both@loopover/uiand@loopover/ui-miner). Nothing references the deleted symbols.npm run ui:build— clean: 121 modules transformed, neither file was in the build graph.npm run ui:lint— introduces no new violation. The only errors are the repo-wide CRLFprettier/prettiernoise from a Windows checkout (0 non-prettier errors), which is absent on CI's LF checkout; my change is a pure deletion and cannot add a lint error to a surviving file.routeTree.gen.ts,openapi.json) references the components; the working tree contains only the two deletions.main— no base conflict.Coverage
No patch surface:
apps/**is in Codecov's ignore list, and this is a deletion regardless.Scope
apps/loopover-ui/). Maintainer-authored issue, so this is approved maintenance rather than speculative cosmetic churn.site/,CNAME, orlovablechanges.Safety
Closes #6182