1
0
Fork 0
forked from Nexus/nexus

Compare commits

..

No commits in common. "2d0f41000ed81194468a41b44e5970eb9fcd487f" and "b4b157c39f5a95acc090a6ef529ebe70ece0cb75" have entirely different histories.

View file

@ -1,7 +1,7 @@
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:hooks_riverpod/hooks_riverpod.dart"; import "package:hooks_riverpod/hooks_riverpod.dart";
import "package:m3e_buttons/m3e_buttons.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/error_dialog.dart"; import "package:nexus/widgets/error_dialog.dart";
@ -17,39 +17,30 @@ class ExpandableImage extends ConsumerWidget {
? null ? null
: () => showDialog( : () => showDialog(
context: context, context: context,
builder: (_) => SafeArea( builder: (_) => LayoutBuilder(
child: Stack( builder: (context, constraints) => Dialog(
children: [ backgroundColor: Colors.transparent,
Positioned.fill( insetPadding: .all(constraints.maxWidth / 100),
child: GestureDetector( child: InteractiveViewer(
onTap: Navigator.of(context).pop, maxScale: 5,
child: InteractiveViewer( child: ConstrainedBox(
maxScale: 10, constraints: .new(
child: Image( minWidth: min(constraints.maxWidth, 1000),
errorBuilder: (_, error, stackTrace) => ErrorDialog( ),
"Loading failed for $source\nError: $error", child: Image(
stackTrace, fit: .contain,
), errorBuilder: (_, error, stackTrace) => ErrorDialog(
image: CachedNetworkImage( "Loading failed for $source\nError: $error",
source!, stackTrace,
ref.watch(CrossCacheController.provider), ),
headers: ref.headers, image: CachedNetworkImage(
), source!,
), ref.watch(CrossCacheController.provider),
headers: ref.headers,
), ),
), ),
), ),
Align( ),
alignment: .topRight,
child: Padding(
padding: .all(32),
child: M3EButton(
onPressed: Navigator.of(context).pop,
child: Icon(Icons.close),
),
),
),
],
), ),
), ),
), ),