Repository navigation
feat(web): shared PR label, media tile, and api-client pieces for Files - #1070
Conversation
|
|
Important Review skippedAuto reviews are limited based on label configuration. 🏷️ Required labels (at least one) (2)
🚫 Excluded labels (none allowed) (1)
Please check the settings in the CodeRabbit UI or the ⚙️ Run configuration
You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
uploads-api | bef581b | Commit Preview URL Branch Preview URL |
Oct 04 2026, 11:42 PM |
Deploying with
|
| Status | Name | Latest Commit | Updated (UTC) |
|---|---|---|---|
| ✅ Deployment successful! View logs |
uploads-auth | bef581b | Oct 04 2026, 11:42 PM |
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
uploads-web | bef581b | Commit Preview URL Branch Preview URL |
Oct 04 2026, 11:43 PM |
…underline on PrLabel
…e broken state per item
c8884c0 to
bef581b
Compare
Stacked on #1069; review and merge that first. Slice 2 of 5 for the Files, Links and Storage tabs: shared web pieces only. No new pages.
What changes
PrLabel: one PR/issue label, rendered as#123 Titlewith a status dot. When the title is unknown it falls back toowner/repo #123.prLabelParts(pure) inpackages/ui/src/lib/pr-label.ts.PrLabelinpackages/ui.https://…or root-relative paths.Where it now appears:
Link targets are unchanged. Captions that showed before still show, including "PR test: scratch PR for uploads E2E (will be closed) #7" when only the number is known.
Media tiles:
mediaTileView(pure) decides how a file renders: image, video, poster, locked, missing, or extension fallback. The public/c/page now renders through it, with no visual change and no framework JS. A ReactMediaTileis added for the Files views in slice 4, but nothing mounts it yet.File types:
shotKindFromKeynow delegates tofileTypeClassFromKeyfrom@uploads/comment-render/scope, so the web app and the API sort files into types the same way.API client: new calls for slice 1's endpoints:
fetchPulls,fetchReposandfetchScopeFileslistWorkspaceFeeds,createWorkspaceFeedanddeleteWorkspaceFeedEach returns an
ApiResult<T>and takes optionalSessionOpts, so pages can call them during server rendering. Responses are parsed inscope-parsers.ts.Testing
pnpm test, the web typecheck (astro check) andpnpm checkpass.prLabelParts,prLabelSrTextand the href guardmediaTileViewPrLabel./c/was compared before and after on the local stack: the markup is byte-identical for real data.