Fladder/lib/util/position_provider.dart
PartyDonut d22d340181
feat: Improve library search screen (#477)
Co-authored-by: PartyDonut <PartyDonut@users.noreply.github.com>
2025-08-28 23:26:10 +02:00

22 lines
645 B
Dart

import 'package:flutter/widgets.dart';
enum PositionContext { first, middle, last }
class PositionProvider extends InheritedWidget {
final PositionContext position;
const PositionProvider({
required this.position,
required super.child,
super.key,
});
static PositionContext of(BuildContext context) {
final provider = context.dependOnInheritedWidgetOfExactType<PositionProvider>();
assert(provider != null, 'No PositionProvider found in context');
return provider?.position ?? PositionContext.middle;
}
@override
bool updateShouldNotify(PositionProvider oldWidget) => position != oldWidget.position;
}