HarperFast / HarperFast/studio
Adopt the shared PanelShell in StorageTab
- 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
Assessment
This issue has not been assessed yet.