mirror of
https://github.com/samsonjs/immich.git
synced 2026-04-27 15:07:45 +00:00
feat: Hide/show controls when zoom state changes (#24784)
feat: hide/show controls based on zoom state in asset viewer
This commit is contained in:
parent
363b9276eb
commit
0df618feee
1 changed files with 8 additions and 0 deletions
|
|
@ -92,6 +92,8 @@ class AssetViewer extends ConsumerStatefulWidget {
|
||||||
if (asset.isVideo || asset.isMotionPhoto) {
|
if (asset.isVideo || asset.isMotionPhoto) {
|
||||||
ref.read(videoPlaybackValueProvider.notifier).reset();
|
ref.read(videoPlaybackValueProvider.notifier).reset();
|
||||||
ref.read(videoPlayerControlsProvider.notifier).pause();
|
ref.read(videoPlayerControlsProvider.notifier).pause();
|
||||||
|
// Hide controls by default for videos and motion photos
|
||||||
|
ref.read(assetViewerProvider.notifier).setControls(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -525,7 +527,13 @@ class _AssetViewerState extends ConsumerState<AssetViewer> {
|
||||||
|
|
||||||
void _onScaleStateChanged(PhotoViewScaleState scaleState) {
|
void _onScaleStateChanged(PhotoViewScaleState scaleState) {
|
||||||
if (scaleState != PhotoViewScaleState.initial) {
|
if (scaleState != PhotoViewScaleState.initial) {
|
||||||
|
ref.read(assetViewerProvider.notifier).setControls(false);
|
||||||
ref.read(videoPlayerControlsProvider.notifier).pause();
|
ref.read(videoPlayerControlsProvider.notifier).pause();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!showingBottomSheet) {
|
||||||
|
ref.read(assetViewerProvider.notifier).setControls(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue