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:flutter/material.dart";
import "package:flutter_chat_core/flutter_chat_core.dart";
@ -244,11 +246,22 @@ class RoomChat extends HookConsumerWidget {
if (message is ImageMessage) {
showDialog(
context: context,
builder: (_) => Dialog(
builder: (_) => LayoutBuilder(
builder: (context, constraints) => Dialog(
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: Image(
fit: BoxFit.contain,
image: CachedNetworkImage(
message.source,
ref.watch(
@ -259,6 +272,8 @@ class RoomChat extends HookConsumerWidget {
),
),
),
),
),
);
}
},