thumbhash improvements

This commit is contained in:
mertalev
2025-07-08 16:17:03 +03:00
parent df4a27e8a7
commit 0dadfc52dd
8 changed files with 80 additions and 165 deletions
@@ -1,11 +1,8 @@
import 'dart:typed_data';
import 'package:flutter/material.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:immich_mobile/providers/image/immich_local_thumbnail_provider.dart';
import 'package:immich_mobile/providers/image/immich_remote_thumbnail_provider.dart';
import 'package:immich_mobile/entities/asset.entity.dart';
import 'package:immich_mobile/utils/hooks/blurhash_hook.dart';
import 'package:immich_mobile/utils/thumbnail_utils.dart';
import 'package:immich_mobile/widgets/common/immich_image.dart';
import 'package:immich_mobile/widgets/common/thumbhash_placeholder.dart';
@@ -64,7 +61,6 @@ class ImmichThumbnail extends HookConsumerWidget {
@override
Widget build(BuildContext context, WidgetRef ref) {
Uint8List? blurhash = useBlurHashRef(asset).value;
final userId = ref.watch(currentUserProvider)?.id;
if (asset == null) {
@@ -82,7 +78,7 @@ class ImmichThumbnail extends HookConsumerWidget {
asset!.exifInfo,
asset!.fileCreatedAt,
asset!.type,
[],
const [],
);
final thumbnailProviderInstance = ImmichThumbnail.imageProvider(
@@ -94,7 +90,7 @@ class ImmichThumbnail extends HookConsumerWidget {
thumbnailProviderInstance.evict();
final originalErrorWidgetBuilder =
blurHashErrorBuilder(blurhash, fit: fit);
blurHashErrorBuilder(asset?.thumbhash, fit: fit);
return originalErrorWidgetBuilder(ctx, error, stackTrace);
}
@@ -105,7 +101,8 @@ class ImmichThumbnail extends HookConsumerWidget {
fadeInDuration: Duration.zero,
fadeOutDuration: const Duration(milliseconds: 100),
octoSet: OctoSet(
placeholderBuilder: blurHashPlaceholderBuilder(blurhash, fit: fit),
placeholderBuilder:
blurHashPlaceholderBuilder(asset?.thumbhash, fit: fit),
errorBuilder: customErrorBuilder,
),
image: thumbnailProviderInstance,