Update search interface

This commit is contained in:
Vishnu Mohandas 2020-06-02 17:02:35 +05:30
parent e0d6c831bc
commit 60d7079e77
3 changed files with 28 additions and 17 deletions

View file

@ -4,6 +4,7 @@ import 'package:photos/face_search_manager.dart';
import 'package:photos/models/face.dart'; import 'package:photos/models/face.dart';
import 'package:photos/models/photo.dart'; import 'package:photos/models/photo.dart';
import 'package:photos/ui/circular_network_image_widget.dart'; import 'package:photos/ui/circular_network_image_widget.dart';
import 'package:photos/ui/loading_widget.dart';
import 'package:photos/ui/thumbnail_widget.dart'; import 'package:photos/ui/thumbnail_widget.dart';
import 'package:photos/ui/detail_page.dart'; import 'package:photos/ui/detail_page.dart';
@ -50,7 +51,7 @@ class FaceSearchResultsPage extends StatelessWidget {
crossAxisCount: 4, crossAxisCount: 4,
)); ));
} else { } else {
return Text("Loading..."); return Center(child: loadWidget);
} }
}, },
); );

View file

@ -14,6 +14,7 @@ import 'package:photos/ui/gallery.dart';
import 'package:photos/ui/gallery_app_bar_widget.dart'; import 'package:photos/ui/gallery_app_bar_widget.dart';
import 'package:photos/ui/loading_widget.dart'; import 'package:photos/ui/loading_widget.dart';
import 'package:photos/ui/remote_folder_gallery_widget.dart'; import 'package:photos/ui/remote_folder_gallery_widget.dart';
import 'package:photos/ui/search_page.dart';
import 'package:photos/utils/logging_util.dart'; import 'package:photos/utils/logging_util.dart';
import 'package:shake/shake.dart'; import 'package:shake/shake.dart';
import 'package:logging/logging.dart'; import 'package:logging/logging.dart';
@ -89,6 +90,21 @@ class _HomeWidgetState extends State<HomeWidget> {
} }
}, },
), ),
floatingActionButton: FloatingActionButton(
onPressed: () {
Navigator.of(context).push(
MaterialPageRoute(
builder: (BuildContext context) {
return SearchPage();
},
),
);
},
child: Icon(Icons.search),
elevation: 1,
backgroundColor: Colors.white30,
foregroundColor: Colors.amber,
),
); );
} }

View file

@ -4,6 +4,7 @@ import 'package:photos/face_search_manager.dart';
import 'package:photos/models/face.dart'; import 'package:photos/models/face.dart';
import 'package:photos/ui/circular_network_image_widget.dart'; import 'package:photos/ui/circular_network_image_widget.dart';
import 'package:photos/ui/face_search_results_page.dart'; import 'package:photos/ui/face_search_results_page.dart';
import 'package:photos/ui/loading_widget.dart';
class SearchPage extends StatelessWidget { class SearchPage extends StatelessWidget {
final FaceSearchManager _faceSearchManager = FaceSearchManager.instance; final FaceSearchManager _faceSearchManager = FaceSearchManager.instance;
@ -11,21 +12,12 @@ class SearchPage extends StatelessWidget {
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return Scaffold(
appBar: AppBar( appBar: AppBar(
title: Hero( title: TextField(
tag: "search", autofocus: true,
flightShuttleBuilder: (BuildContext flightContext, decoration: InputDecoration(
Animation<double> animation, border: InputBorder.none,
HeroFlightDirection flightDirection, hintText: 'Search your photos',
BuildContext fromHeroContext, contentPadding: const EdgeInsets.all(0.0),
BuildContext toHeroContext) =>
Material(child: toHeroContext.widget),
child: TextField(
autofocus: true,
decoration: InputDecoration(
border: InputBorder.none,
hintText: 'Search your photos',
contentPadding: const EdgeInsets.all(0.0),
),
), ),
), ),
actions: <Widget>[ actions: <Widget>[
@ -57,8 +49,10 @@ class SearchPage extends StatelessWidget {
return _buildItem(context, snapshot.data[index]); return _buildItem(context, snapshot.data[index]);
}), }),
); );
} else if (snapshot.hasError) {
return Center(child: Text("Error: " + snapshot.error.toString()));
} else { } else {
return Text("Loading..."); return Center(child: loadWidget);
} }
}, },
); );