Skip to content

Port LoadingState/EmptyState/ErrorState/StateBoundary/Spinner into @loopover/ui-kit proper #6827

Description

@JSONbored

Context

Epic #6504 ("Miner dashboard redesign") requires a shared async-state primitive both the miner-ui visual restyle and the chat message list can consume, so the two tracks never invent two different loading/error/empty implementations. apps/loopover-ui/src/components/site/state-views.tsx already has LoadingState/EmptyState/ErrorState/StateBoundary/Spinner, confirmed reusable as-is by the #6244 audit (apps/loopover-ui/src/chat-ui-primitives-audit.md, merged via #6474). It currently lives app-local to apps/loopover-ui, not in the shared @loopover/ui-kit package apps/loopover-miner-ui can import from.

Requirements

  • Port LoadingState, EmptyState, ErrorState, StateBoundary, and Spinner from apps/loopover-ui/src/components/site/state-views.tsx into packages/loopover-ui-kit/src/components/, preserving their existing API exactly (no behavior change for apps/loopover-ui's own usages).
  • Update apps/loopover-ui to import the ported versions from @loopover/ui-kit instead of its local copy, removing the duplicate.
  • Do not modify the components' behavior as part of this port — this is a relocation, not a redesign.

Deliverables

  • LoadingState/EmptyState/ErrorState/StateBoundary/Spinner added to packages/loopover-ui-kit/src/components/
  • apps/loopover-ui's local copy removed, imports repointed to @loopover/ui-kit
  • Existing apps/loopover-ui tests still pass unchanged

Test Coverage Requirements

99%+ Codecov patch coverage on every changed line and branch, plus a regression test for the new/changed behavior (note: apps/** UI code may fall outside the strict Codecov patch gate — check coverage.include — but a before/after screenshot table per this repo's UI-PR convention is still required for any visual change).

Expected Outcome

Both apps/loopover-ui and apps/loopover-miner-ui can import the same async-state primitives from @loopover/ui-kit, with zero behavior change to existing usages.

Links & Resources

Epic: #6504. apps/loopover-ui/src/components/site/state-views.tsx, apps/loopover-ui/src/chat-ui-primitives-audit.md (#6244, merged via #6474).

Metadata

Metadata

Assignees

No one assigned

    Labels

    gittensor:featureGittensor-scored feature linked to a feature issue — scores a 0.25x multiplier.help wantedExtra attention is needed

    Projects

    Status
    Done

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions