babylonlabs-io / babylonlabs-io/babylon-toolkit

Vaults and Activity block the whole page on a spinner instead of a skeleton

Open
#2,425 0 comments 0 reactions 0 assignees View on GitHub
enhancement v3
Dominant language
TypeScript
Stars
14
Forks
11
Avg merge
2d 9h
Merged PRs (30d)
133

Description

## Context

The Vaults and Activity pages hide their whole content behind a spinning loader while data loads.

## Changes

**Now:** both pages gate the entire list on the same core-ui `Loader` — a continuous 1.4s rotate plus stroke-dash animation with no static fallback (`packages/babylon-core-ui/src/components/Loader/Loader.tsx`, `Loader.css:24-32`).

- `services/vault/src/components/pages/VaultsPage.tsx:163-167`
- `services/vault/src/components/pages/Activity.tsx:29-31`

**Expected:** a skeleton that keeps the page shape while loading. No `Skeleton` component exists in core-ui today, so this starts with adding one.
**Where:** `VaultsPage.tsx:163-167`, `Activity.tsx:29-31`, plus a new component in `packages/babylon-core-ui`

Out of scope: the inline `` used for per-row pending states (`VaultsActiveSection.tsx:91`, `VaultsLifecycleSections.tsx:257,435,703`) — those mark a single row, not the page.

Related: the Liquidation Analysis loading state is #2418.

Original report

[Slack thread](https://babylonlabsworkspace.slack.com/archives/C07EG11U45A/p1788267860997369)

> UX complaint about the spinner
> I find it really distracting and doesnt add much value IMO

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with the loading branches in services/vault/src/components/pages/VaultsPage.tsx:163-167 and Activity.tsx:29-31, then review the existing Loader in packages/babylon-core-ui/src/components/Loader. Add the core-ui Skeleton component and use it to preserve each page’s shape while data loads; leave the per-row loaders unchanged. Done means both pages show skeleton content instead of blocking on the spinner.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
frontend
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Clearly specified
Newbie friendliness
72/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.