flutter_storage_inspector 0.2.0
flutter_storage_inspector: ^0.2.0 copied to clipboard
A debug-only Flutter package for inspecting, searching, editing, exporting, and managing local application storage with a developer-focused UI.
Changelog #
0.2.0 #
Bug fixes #
- FBA (Floating Bubble Action) — root cause fixed. When
StorageInspectorwrapsMaterialAppdirectly (the common pattern inmain.dart), its ownBuildContexthas noNavigatorancestor. All taps on the bubble silently failed becauseshowGeneralDialog/Navigator.pushthrew or returned immediately. Fixed by attaching aGlobalKeyto the child subtree so the widget always obtains aBuildContextthat lives inside the user'sMaterialAppand itsNavigator. - Fixed bubble appearing under the status bar — initial position is now
computed from
MediaQuery.paddingso it always respects safe-area insets. - Fixed
GestureDetectorconflict — the bubble'sGestureDetectornow usesHitTestBehavior.opaqueso tap and pan events are not forwarded to the outerStorageInspectorgesture handler. - Fixed
pumpAndSettletest timeout caused by an infinitely repeatingAnimationControllerinStorageBubble. Replaced with a one-shotTweenAnimationBuilderentrance animation that settles correctly.
Mobile UI / UX improvements #
- Responsive layout — inspector panel switches between a single-column
list (mobile) and a split detail-pane view (≥ 720 px) via
LayoutBuilder. - Storage tab bar — replaced the fixed-height 142 px card strip with a compact horizontally scrollable chip row that works on all screen widths.
- Search toolbar — replaced the hard-coded 340 px
TextFieldwith a flex-width field; sort now uses aPopupMenuButtonicon; filter chips scroll horizontally; clear-storage moved to an icon button. - Item tiles — rebuilt with
Material+InkWellfor correct ink feedback; key name truncates on 1 line; value preview truncates on 2 lines; copy action has a guaranteed 48 × 48 touch target. - Detail pane — now uses
DraggableScrollableSheetin the bottom sheet so the user can expand it to near-fullscreen; value rendered in aSelectableTextmonospace box; buttons adapt for destructive vs. safe actions. - JSON tree — collapsible nodes with coloured depth guide lines; large structures auto-collapse; leaf values are syntax-coloured by type.
- Value editor dialog — renders as a bottom sheet on narrow screens with
viewInsetspadding so the keyboard does not obscure the text field; renders as a centredDialogon wide screens. - Empty / loading / error states — three distinct variants with appropriate icons, colours, and optional action widgets.
- Confirmation dialog — destructive icon + error colour for clear/delete
actions; reusable
showStorageConfirmationhelper. - AppBar (full-screen route) — uses
scrolledUnderElevation: 0for a flat Material 3 look;resizeToAvoidBottomInset: truekeeps the search field above the keyboard. - Bottom sheets — all sheets use
useSafeArea: trueandshowDragHandle: truefor a polished Material 3 appearance. - Bubble — snaps to nearest vertical edge on drag release; shows a
key-count badge; uses a
boxShadowfor depth without performance cost. - Snack bars — all feedback snack bars use
SnackBarBehavior.floating. - Touch targets — all interactive elements meet the 48 × 48 dp minimum.
0.1.1 #
- Added explicit pub.dev platform metadata for Android, iOS, Web, Windows, macOS, and Linux.
- Updated package metadata to point at the live GitHub repository.
- Added repository badges for pub.dev, supported platforms, and the MIT license.
0.1.0 #
- Prepared the package for a pub.dev-ready open-source release.
- Added publish-focused metadata, documentation, CI, and security files.
- Documented the public API and expanded test coverage.
- Verified formatting, analysis, tests, and
dart pub publish --dry-run.