immich/mobile/lib/modules/search/views/search_page.dart
2022-02-27 12:46:19 -06:00

75 lines
2.1 KiB
Dart

import 'package:flutter/material.dart';
import 'package:flutter_hooks/flutter_hooks.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:immich_mobile/modules/search/providers/search_page_state.provider.dart';
import 'package:immich_mobile/modules/search/ui/search_bar.dart';
import 'package:immich_mobile/modules/search/ui/search_suggestion_list.dart';
// ignore: must_be_immutable
class SearchPage extends HookConsumerWidget {
SearchPage({Key? key}) : super(key: key);
late FocusNode searchFocusNode;
@override
Widget build(BuildContext context, WidgetRef ref) {
final isSearchEnabled = ref.watch(searchPageStateProvider).isSearchEnabled;
useEffect(() {
<<<<<<< HEAD
searchFocusNode = FocusNode();
return () {
searchFocusNode.dispose();
};
=======
print("search");
searchFocusNode = FocusNode();
return () => searchFocusNode.dispose();
>>>>>>> bfde3084924e247bc8f7004babf38605fe341a18
}, []);
return Scaffold(
appBar: SearchBar(searchFocusNode: searchFocusNode),
body: GestureDetector(
onTap: () {
searchFocusNode.unfocus();
ref.watch(searchPageStateProvider.notifier).disableSearch();
},
child: Stack(
children: [
ListView(
children: [
Container(
height: 300,
color: Colors.blue,
),
Container(
height: 300,
color: Colors.red,
),
Container(
height: 300,
color: Colors.green,
),
Container(
height: 300,
color: Colors.blue,
),
Container(
height: 300,
color: Colors.red,
),
Container(
height: 300,
color: Colors.green,
),
],
),
isSearchEnabled ? const SearchSuggestionList() : Container(),
],
),
),
);
}
}