HarperFast / HarperFast/studio

Adopt the shared PanelShell in StorageTab

Open
#1,485 0 comments 0 reactions 1 assignee Claimed by @kylebernhardy View on GitHub
Dominant language
TypeScript
Stars
5
Forks
4
Avg merge
1d 8h
Merged PRs (30d)
40

Description

Follow-up from the [PR #1481 — share the panel card/state shell between MetricPanel and ConnectionsPanel](https://github.com/HarperFast/studio/pull/1481) approval review (non-blocking suggestion that merged with the PR).

`StorageTab.tsx` is now the last panel surface hand-rolling its own card/state chrome instead of using `tabs/PanelShell.tsx` (`PanelCard` + `PanelStateOrChart`). It's genuinely bespoke — dual snapshot/trend cards sharing one fetch, distinct empty-cause messaging, no Retry affordance — so this wasn't a mechanical migration and was correctly left out of #1481's scope.

Scope here:
- Adopt `PanelCard` for the card/header/export chrome where it fits (snapshot + trend cards).
- Adopt `PanelStateOrChart` for loading/error/empty, parameterizing the empty-cause copy (its `emptyMessage` prop exists for this).
- Decide whether StorageTab's error state should gain the Retry affordance the shell provides (it currently has none — probably yes, for consistency with every other panel).
- Behavior-preserving otherwise; existing `__tests__/StorageTab.test.tsx` coverage is the regression net.

Filed from merged-PR review follow-ups.

Comment generated by kAIle (Claude Fable 5)

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.