diff --git a/mobile/lib/ui/viewer/gallery/state/inherited_search_filter_data.dart b/mobile/lib/ui/viewer/gallery/state/inherited_search_filter_data.dart new file mode 100644 index 0000000000..77aebfae2f --- /dev/null +++ b/mobile/lib/ui/viewer/gallery/state/inherited_search_filter_data.dart @@ -0,0 +1,27 @@ +import "package:flutter/material.dart"; +import "package:photos/ui/viewer/gallery/state/search_filter_data_provider.dart"; + +class InheritedSearchFilterData extends InheritedWidget { + const InheritedSearchFilterData({ + super.key, + required this.searchFilterDataProvider, + required super.child, + }); + + final SearchFilterDataProvider? searchFilterDataProvider; + + static InheritedSearchFilterData? maybeOf(BuildContext context) { + return context + .dependOnInheritedWidgetOfExactType(); + } + + static InheritedSearchFilterData of(BuildContext context) { + final InheritedSearchFilterData? result = maybeOf(context); + assert(result != null, 'No InheritedSearchFilterData found in context'); + return result!; + } + + @override + bool updateShouldNotify(InheritedSearchFilterData oldWidget) => + searchFilterDataProvider != oldWidget.searchFilterDataProvider; +}