added hero animation

This commit is contained in:
Vadim 2025-07-10 16:12:36 +02:00
parent 84e77d0620
commit ca6b921b6b
2 changed files with 21 additions and 15 deletions

View file

@ -18,16 +18,19 @@ class LogbookPhotoGridTile extends StatelessWidget {
Widget build(BuildContext context) { Widget build(BuildContext context) {
return GestureDetector( return GestureDetector(
onTap: onTap, onTap: onTap,
child: Card( child: Hero(
shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(Dimens.borderRadiusM)), tag: photo.id,
child: FadeInImage( child: Card(
placeholder: MemoryImage(Uint8List(0)), // Will be replaced by placeholder widget shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(Dimens.borderRadiusM)),
image: FileImage(File(photo.name)), child: FadeInImage(
fit: BoxFit.cover, placeholder: MemoryImage(Uint8List(0)), // Will be replaced by placeholder widget
fadeInDuration: Dimens.durationS, image: FileImage(File(photo.name)),
fadeOutDuration: Dimens.durationS, fit: BoxFit.cover,
imageErrorBuilder: (_, __, ___) => const Center(child: Icon(Icons.error_outline)), fadeInDuration: Dimens.durationS,
placeholderErrorBuilder: (_, __, ___) => const SizedBox.shrink(), fadeOutDuration: Dimens.durationS,
imageErrorBuilder: (_, __, ___) => const Center(child: Icon(Icons.error_outline)),
placeholderErrorBuilder: (_, __, ___) => const SizedBox.shrink(),
),
), ),
), ),
); );

View file

@ -111,11 +111,14 @@ class _PhotoPreviewBuilder extends StatelessWidget {
buildWhen: (_, __) => false, buildWhen: (_, __) => false,
builder: (context, state) => AspectRatio( builder: (context, state) => AspectRatio(
aspectRatio: PlatformConfig.cameraPreviewAspectRatio, aspectRatio: PlatformConfig.cameraPreviewAspectRatio,
child: ClipRRect( child: Hero(
borderRadius: BorderRadius.circular(Dimens.borderRadiusM), tag: state.id,
child: Image.file( child: ClipRRect(
File(state.name), borderRadius: BorderRadius.circular(Dimens.borderRadiusM),
fit: BoxFit.cover, child: Image.file(
File(state.name),
fit: BoxFit.cover,
),
), ),
), ),
), ),