2024-02-27 10:51:19 -05:00
|
|
|
import 'package:flutter/foundation.dart';
|
|
|
|
|
import 'package:flutter/material.dart';
|
2024-05-06 23:04:21 -05:00
|
|
|
import 'package:immich_mobile/widgets/asset_grid/thumbnail_placeholder.dart';
|
|
|
|
|
import 'package:immich_mobile/widgets/common/fade_in_placeholder_image.dart';
|
2024-02-27 10:51:19 -05:00
|
|
|
import 'package:octo_image/octo_image.dart';
|
|
|
|
|
|
2025-07-29 00:34:03 +05:30
|
|
|
OctoPlaceholderBuilder blurHashPlaceholderBuilder(Uint8List? blurhash, {BoxFit? fit}) {
|
2024-02-27 10:51:19 -05:00
|
|
|
return (context) => blurhash == null
|
|
|
|
|
? const ThumbnailPlaceholder()
|
|
|
|
|
: FadeInPlaceholderImage(
|
|
|
|
|
placeholder: const ThumbnailPlaceholder(),
|
|
|
|
|
image: MemoryImage(blurhash),
|
|
|
|
|
fit: fit ?? BoxFit.cover,
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
OctoErrorBuilder blurHashErrorBuilder(
|
|
|
|
|
Uint8List? blurhash, {
|
|
|
|
|
BoxFit? fit,
|
|
|
|
|
Text? message,
|
|
|
|
|
IconData? icon,
|
|
|
|
|
Color? iconColor,
|
|
|
|
|
double? iconSize,
|
|
|
|
|
}) {
|
|
|
|
|
return OctoError.placeholderWithErrorIcon(
|
|
|
|
|
blurHashPlaceholderBuilder(blurhash, fit: fit),
|
|
|
|
|
message: message,
|
|
|
|
|
icon: icon,
|
|
|
|
|
iconColor: iconColor,
|
|
|
|
|
iconSize: iconSize,
|
|
|
|
|
);
|
|
|
|
|
}
|