diff --git a/lib/widget/drawer.dart b/lib/widget/drawer.dart index 871b5112..85a30259 100644 --- a/lib/widget/drawer.dart +++ b/lib/widget/drawer.dart @@ -41,7 +41,7 @@ class InvenTreeDrawer extends StatelessWidget { Navigator.push( context, MaterialPageRoute( - builder: (context) => SearchWidget() + builder: (context) => SearchWidget(true) ) ); } diff --git a/lib/widget/home.dart b/lib/widget/home.dart index f8c4c6d3..04cc0df3 100644 --- a/lib/widget/home.dart +++ b/lib/widget/home.dart @@ -55,7 +55,6 @@ class _InvenTreeHomePageState extends State { // Selected user profile UserProfile? _profile; - void _scan(BuildContext context) { if (!InvenTreeAPI().checkConnection(context)) return; @@ -316,7 +315,7 @@ class _InvenTreeHomePageState extends State { Widget getBody(BuildContext context) { switch (_tabIndex) { case 1: // Search widget - return SearchWidget(); + return SearchWidget(false); case 2: // Notification widget case 0: // Home widget default: diff --git a/lib/widget/refreshable_state.dart b/lib/widget/refreshable_state.dart index fe318caa..35185690 100644 --- a/lib/widget/refreshable_state.dart +++ b/lib/widget/refreshable_state.dart @@ -80,6 +80,14 @@ abstract class RefreshableState extends State { return null; } + AppBar? buildAppBar(BuildContext context) { + return AppBar( + title: Text(getAppBarTitle(context)), + actions: getAppBarActions(context), + leading: backButton(context, refreshableKey), + ); + } + @override Widget build(BuildContext context) { @@ -88,11 +96,7 @@ abstract class RefreshableState extends State { return Scaffold( key: refreshableKey, - appBar: AppBar( - title: Text(getAppBarTitle(context)), - actions: getAppBarActions(context), - leading: backButton(context, refreshableKey), - ), + appBar: buildAppBar(context), drawer: getDrawer(context), floatingActionButton: getFab(context), body: Builder( diff --git a/lib/widget/search.dart b/lib/widget/search.dart index d0fadae4..0705ea5c 100644 --- a/lib/widget/search.dart +++ b/lib/widget/search.dart @@ -21,16 +21,33 @@ import "package:inventree/widget/location_list.dart"; // Widget for performing database-wide search class SearchWidget extends StatefulWidget { + SearchWidget(this.hasAppbar); + + final bool hasAppbar; + @override - _SearchDisplayState createState() => _SearchDisplayState(); + _SearchDisplayState createState() => _SearchDisplayState(hasAppbar); } -class _SearchDisplayState extends State { +class _SearchDisplayState extends RefreshableState { + + _SearchDisplayState(this.hasAppBar) : super(); + + final bool hasAppBar; @override String getAppBarTitle(BuildContext context) => L10().search; + @override + AppBar? buildAppBar(BuildContext context) { + if (hasAppBar) { + return super.buildAppBar(context); + } else { + return null; + } + } + final TextEditingController searchController = TextEditingController(); Timer? debounceTimer; @@ -333,7 +350,7 @@ class _SearchDisplayState extends State { } @override - Widget build(BuildContext context) { + Widget getBody(BuildContext context) { return Center( child: ListView( children: ListTile.divideTiles(