Skip to content

fix(web): scope dashboard loading skeletons to their own pages - #3540

Open
MinitJain wants to merge 5 commits into
CapSoftware:mainfrom
MinitJain:fix/scope-loading-skeletons
Open

MinitJain wants to merge 5 commits into
CapSoftware:mainfrom
MinitJain:fix/scope-loading-skeletons

Conversation

@MinitJain

@MinitJain MinitJain commented Oct 29, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Follow-up to #3080. That PR gave /dashboard/caps/record its own loading.tsx, but navigating there still briefly shows the caps grid skeleton first. Next prefetches a dynamic route only down to the first loading.tsx on its path, and caps/loading.tsx sits above caps/record, so the router shows the parent skeleton until the response arrives with the child's.

The same thing happens elsewhere:

Route Showed first Now
/dashboard/caps/record caps grid skeleton record skeleton only
/dashboard/settings/organization/{content,billing} General form skeleton own skeletons matching their layout
/dashboard/settings/organization/{security,integrations,preferences} General form skeleton (inherited) same skeleton, declared per route
/dashboard/spaces/[spaceId]/folder/[folderId] space grid skeleton (stat cards etc.) no parent skeleton, same as personal folders

Change

  • Route groups (no URL changes) so each skeleton only covers its own page:
    • caps/(list)/{page,loading}.tsx
    • settings/organization/(general)/{page,GeneralPage,loading}.tsx
    • spaces/[spaceId]/(space)/{page,loading}.tsx
  • security, integrations, preferences re-export the General skeleton as their own loading.tsx, so they look the same as before without inheriting it.
  • New content/loading.tsx (card with source/destination columns) and billing/loading.tsx (summary card + members list).
  • Updated relative imports in the moved files and the page import paths in dashboard-video-count.test.ts and space-page-round-trips.test.ts.

Test plan

  • vitest run for dashboard-video-count, space-page-round-trips, sso-settings: 71 passed
  • biome check clean on touched files
  • next build --debug-prerender succeeds locally (a plain local build fails prerendering /embed, /admin/retry-recordings and /_global-error, which this PR does not touch)
  • Production build on Slow 4G: Record a Cap from My Caps shows only the record skeleton
  • Org settings Content / Billing show their own skeletons; Security / Integrations / Preferences unchanged
  • Folder inside a space no longer flashes the space grid skeleton

RetriggerView in GreptileConfidence Score: 5/5

The changes since the last review appear safe to merge.

Summary

The PR moves dashboard loading screens into page-specific route groups and adds separate Content and Billing skeletons.

  • The recording page gets its own loading screen while the My Caps list keeps its grid skeleton.
  • Organization settings pages show loading screens shaped for their own layouts.
  • Folders inside a space no longer inherit the space grid's loading screen.

Reviews (2) · Last reviewed commit: "fix(web): keep settings skeleton bars in..." · Reviewed by Greptile

Next prefetches a dynamic route down to the first loading.tsx on its
path, so child routes flashed their parent's skeleton (caps grid on
/caps/record, General form on org settings tabs, space grid on space
folders) before their own. Move those pages and skeletons into route
groups so each loading.tsx covers only its page, and give the Content
and Billing settings tabs skeletons that match their layout.
@vercel

vercel Bot commented Oct 29, 2026 •

Copy link
Copy Markdown
Contributor

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated
cap-status Skipped Skipped Oct 29, 2026 11:16am UTC

@vercel
vercel Bot temporarily deployed to Preview – cap-status October 29, 2026 11:01 Inactive
Comment thread apps/web/app/(org)/dashboard/settings/organization/content/loading.tsx Outdated
@vercel
vercel Bot temporarily deployed to Preview – cap-status October 29, 2026 11:05 Inactive
@MinitJain

Copy link
Copy Markdown
Contributor Author

@greptileai review

@vercel
vercel Bot temporarily deployed to Preview – cap-status October 29, 2026 11:10 Inactive
@vercel
vercel Bot temporarily deployed to Preview – cap-status October 29, 2026 11:13 Inactive
@vercel
vercel Bot temporarily deployed to Preview – cap-status October 29, 2026 11:16 Inactive

This branch was previously deployed

1 inactive deployment
Preview – cap-status — db5f7f73 Deployed Oct 29, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant