#706 prevent multiple calls to load viewer overlay metadata
This commit is contained in:
parent
58e12d147d
commit
fb5457672a
1 changed files with 5 additions and 5 deletions
|
@ -44,10 +44,9 @@ class ViewerDetailOverlay extends StatefulWidget {
|
||||||
class _ViewerDetailOverlayState extends State<ViewerDetailOverlay> {
|
class _ViewerDetailOverlayState extends State<ViewerDetailOverlay> {
|
||||||
List<AvesEntry> get entries => widget.entries;
|
List<AvesEntry> get entries => widget.entries;
|
||||||
|
|
||||||
AvesEntry? get entry {
|
AvesEntry? get entry => entryForIndex(widget.index);
|
||||||
final index = widget.index;
|
|
||||||
return index < entries.length ? entries[index] : null;
|
AvesEntry? entryForIndex(int index) => index < entries.length ? entries[index] : null;
|
||||||
}
|
|
||||||
|
|
||||||
late Future<List<dynamic>?> _detailLoader;
|
late Future<List<dynamic>?> _detailLoader;
|
||||||
AvesEntry? _lastEntry;
|
AvesEntry? _lastEntry;
|
||||||
|
@ -62,7 +61,8 @@ class _ViewerDetailOverlayState extends State<ViewerDetailOverlay> {
|
||||||
@override
|
@override
|
||||||
void didUpdateWidget(covariant ViewerDetailOverlay oldWidget) {
|
void didUpdateWidget(covariant ViewerDetailOverlay oldWidget) {
|
||||||
super.didUpdateWidget(oldWidget);
|
super.didUpdateWidget(oldWidget);
|
||||||
if (entry != _lastEntry) {
|
final newEntry = entryForIndex(widget.index);
|
||||||
|
if (newEntry != entryForIndex(oldWidget.index) && newEntry != _lastEntry) {
|
||||||
_initDetailLoader();
|
_initDetailLoader();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue