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:cross_cache/cross_cache.dart";
|
||||||
import "package:flutter/material.dart";
|
import "package:flutter/material.dart";
|
||||||
|
import "package:flutter_blurhash/flutter_blurhash.dart";
|
||||||
import "package:flutter_riverpod/flutter_riverpod.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/controllers/cross_cache_controller.dart";
|
||||||
import "package:nexus/helpers/extensions/get_headers.dart";
|
import "package:nexus/helpers/extensions/get_headers.dart";
|
||||||
import "package:nexus/widgets/chat_page/expandable_image.dart";
|
import "package:nexus/widgets/chat_page/expandable_image.dart";
|
||||||
|
import "package:nexus/widgets/loading.dart";
|
||||||
|
|
||||||
class ExpandableImageMessage extends ConsumerWidget {
|
class ExpandableImageMessage extends ConsumerWidget {
|
||||||
final ImageMessage message;
|
final String url;
|
||||||
final int index;
|
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
|
@override
|
||||||
Widget build(BuildContext context, WidgetRef ref) => ExpandableImage(
|
Widget build(BuildContext context, WidgetRef ref) => ExpandableImage(
|
||||||
message.source,
|
url,
|
||||||
child: FlyerChatImageMessage(
|
child: ClipRRect(
|
||||||
customImageProvider: CachedNetworkImage(
|
borderRadius: BorderRadius.all(Radius.circular(8)),
|
||||||
message.source,
|
child: Image(
|
||||||
|
image: CachedNetworkImage(
|
||||||
|
url,
|
||||||
ref.watch(CrossCacheController.provider),
|
ref.watch(CrossCacheController.provider),
|
||||||
headers: ref.headers,
|
headers: ref.headers,
|
||||||
),
|
),
|
||||||
|
width: width,
|
||||||
|
height: height,
|
||||||
|
loadingBuilder: (context, child, loadingProgress) =>
|
||||||
|
blurHash == null ? Loading() : BlurHash(hash: blurHash!),
|
||||||
errorBuilder: (context, error, stackTrace) => Center(
|
errorBuilder: (context, error, stackTrace) => Center(
|
||||||
child: Text(
|
child: Text(
|
||||||
"Image Failed to Load",
|
"Image Failed to Load",
|
||||||
style: TextStyle(color: Theme.of(context).colorScheme.error),
|
style: TextStyle(color: Theme.of(context).colorScheme.error),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
message: message,
|
),
|
||||||
index: index,
|
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -392,6 +392,14 @@ packages:
|
||||||
description: flutter
|
description: flutter
|
||||||
source: sdk
|
source: sdk
|
||||||
version: "0.0.0"
|
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:
|
flutter_hooks:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
|
|
|
||||||
|
|
@ -51,6 +51,7 @@ dependencies:
|
||||||
emoji_text_field:
|
emoji_text_field:
|
||||||
git:
|
git:
|
||||||
url: https://github.com/Henry-Hiles/emoji_text_field
|
url: https://github.com/Henry-Hiles/emoji_text_field
|
||||||
|
flutter_blurhash: ^0.9.1
|
||||||
|
|
||||||
dev_dependencies:
|
dev_dependencies:
|
||||||
build_runner: 2.15.0
|
build_runner: 2.15.0
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue