add back custom blurhashing
This commit is contained in:
parent
8bdc1060d3
commit
cee1298b62
3 changed files with 40 additions and 17 deletions
|
|
@ -1,34 +1,48 @@
|
|||
import "package:cross_cache/cross_cache.dart";
|
||||
import "package:flutter/material.dart";
|
||||
import "package:flutter_blurhash/flutter_blurhash.dart";
|
||||
import "package:flutter_riverpod/flutter_riverpod.dart";
|
||||
import "package:flyer_chat_image_message/flyer_chat_image_message.dart";
|
||||
import "package:nexus/controllers/cross_cache_controller.dart";
|
||||
import "package:nexus/helpers/extensions/get_headers.dart";
|
||||
import "package:nexus/widgets/chat_page/expandable_image.dart";
|
||||
import "package:nexus/widgets/loading.dart";
|
||||
|
||||
class ExpandableImageMessage extends ConsumerWidget {
|
||||
final ImageMessage message;
|
||||
final int index;
|
||||
final String url;
|
||||
final double? width;
|
||||
final double? height;
|
||||
final String? blurHash;
|
||||
|
||||
const ExpandableImageMessage(this.message, {required this.index, super.key});
|
||||
const ExpandableImageMessage(
|
||||
this.url, {
|
||||
this.width,
|
||||
this.height,
|
||||
this.blurHash,
|
||||
super.key,
|
||||
});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context, WidgetRef ref) => ExpandableImage(
|
||||
message.source,
|
||||
child: FlyerChatImageMessage(
|
||||
customImageProvider: CachedNetworkImage(
|
||||
message.source,
|
||||
url,
|
||||
child: ClipRRect(
|
||||
borderRadius: BorderRadius.all(Radius.circular(8)),
|
||||
child: Image(
|
||||
image: CachedNetworkImage(
|
||||
url,
|
||||
ref.watch(CrossCacheController.provider),
|
||||
headers: ref.headers,
|
||||
),
|
||||
width: width,
|
||||
height: height,
|
||||
loadingBuilder: (context, child, loadingProgress) =>
|
||||
blurHash == null ? Loading() : BlurHash(hash: blurHash!),
|
||||
errorBuilder: (context, error, stackTrace) => Center(
|
||||
child: Text(
|
||||
"Image Failed to Load",
|
||||
style: TextStyle(color: Theme.of(context).colorScheme.error),
|
||||
),
|
||||
),
|
||||
message: message,
|
||||
index: index,
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -392,6 +392,14 @@ packages:
|
|||
description: flutter
|
||||
source: sdk
|
||||
version: "0.0.0"
|
||||
flutter_blurhash:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: flutter_blurhash
|
||||
sha256: e97b9aff13b9930bbaa74d0d899fec76e3f320aba3190322dcc5d32104e3d25d
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "0.9.1"
|
||||
flutter_hooks:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
|
|
|
|||
|
|
@ -51,6 +51,7 @@ dependencies:
|
|||
emoji_text_field:
|
||||
git:
|
||||
url: https://github.com/Henry-Hiles/emoji_text_field
|
||||
flutter_blurhash: ^0.9.1
|
||||
|
||||
dev_dependencies:
|
||||
build_runner: 2.15.0
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue