Files
immich/mobile/lib/widgets/common/thumbhash_placeholder.dart
T
2025-07-10 16:41:53 +03:00

42 lines
1.1 KiB
Dart

import 'package:flutter/material.dart';
import 'package:immich_mobile/widgets/common/thumbhash.dart';
import 'package:octo_image/octo_image.dart';
/// Simple set to show [OctoPlaceholder.circularProgressIndicator] as
/// placeholder and [OctoError.icon] as error.
OctoSet blurHashOrPlaceholder(
String? blurhash, {
BoxFit fit = BoxFit.cover,
Text? errorMessage,
}) {
return OctoSet(
placeholderBuilder: blurHashPlaceholderBuilder(blurhash, fit: fit),
errorBuilder:
blurHashErrorBuilder(blurhash, fit: fit, message: errorMessage),
);
}
OctoPlaceholderBuilder blurHashPlaceholderBuilder(
String? blurhash, {
required BoxFit fit,
}) {
return (context) => Thumbhash(blurhash: blurhash, fit: fit);
}
OctoErrorBuilder blurHashErrorBuilder(
String? blurhash, {
BoxFit fit = BoxFit.cover,
Text? message,
IconData? icon,
Color? iconColor,
double? iconSize,
}) {
return OctoError.placeholderWithErrorIcon(
blurHashPlaceholderBuilder(blurhash, fit: fit),
message: message,
icon: icon,
iconColor: iconColor,
iconSize: iconSize,
);
}