improve interactiveviewer

This commit is contained in:
Henry Hiles 2026-03-11 13:55:52 -04:00
commit d77c89d0a3
No known key found for this signature in database

View file

@ -1,3 +1,5 @@
import "dart:math";
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_chat_core/flutter_chat_core.dart"; import "package:flutter_chat_core/flutter_chat_core.dart";
@ -244,11 +246,22 @@ class RoomChat extends HookConsumerWidget {
if (message is ImageMessage) { if (message is ImageMessage) {
showDialog( showDialog(
context: context, context: context,
builder: (_) => Dialog( builder: (_) => LayoutBuilder(
builder: (context, constraints) => Dialog(
backgroundColor: Colors.transparent, backgroundColor: Colors.transparent,
insetPadding: EdgeInsets.all(64), insetPadding: EdgeInsets.all(
constraints.maxWidth / 100,
),
child: ConstrainedBox(
constraints: BoxConstraints(
minWidth: min(
constraints.maxWidth,
1000,
),
),
child: InteractiveViewer( child: InteractiveViewer(
child: Image( child: Image(
fit: BoxFit.contain,
image: CachedNetworkImage( image: CachedNetworkImage(
message.source, message.source,
ref.watch( ref.watch(
@ -259,6 +272,8 @@ class RoomChat extends HookConsumerWidget {
), ),
), ),
), ),
),
),
); );
} }
}, },