mirror of
https://github.com/immich-app/immich.git
synced 2024-12-04 10:34:56 +02:00
69 lines
1.9 KiB
Dart
69 lines
1.9 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(() {
|
|
searchFocusNode = FocusNode();
|
|
return () {
|
|
searchFocusNode.dispose();
|
|
};
|
|
}, []);
|
|
|
|
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(),
|
|
],
|
|
),
|
|
),
|
|
);
|
|
}
|
|
}
|