mirror of
				https://gitlab.com/comunic/comunicmobile
				synced 2025-11-04 04:04:18 +00:00 
			
		
		
		
	Create widget for fullscreen image
This commit is contained in:
		
							
								
								
									
										29
									
								
								lib/ui/routes/full_screen_image.dart
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								lib/ui/routes/full_screen_image.dart
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,29 @@
 | 
			
		||||
import 'package:cached_network_image/cached_network_image.dart';
 | 
			
		||||
import 'package:comunic/utils/intl_utils.dart';
 | 
			
		||||
import 'package:flutter/material.dart';
 | 
			
		||||
import 'package:photo_view/photo_view.dart';
 | 
			
		||||
 | 
			
		||||
/// Full screen image details
 | 
			
		||||
///
 | 
			
		||||
/// @author Pierre Hubert
 | 
			
		||||
 | 
			
		||||
class FullScreenImageRoute extends StatefulWidget {
 | 
			
		||||
  final String url;
 | 
			
		||||
 | 
			
		||||
  FullScreenImageRoute(this.url) : assert(url != null);
 | 
			
		||||
 | 
			
		||||
  @override
 | 
			
		||||
  _FullScreenImageRouteState createState() => _FullScreenImageRouteState();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
class _FullScreenImageRouteState extends State<FullScreenImageRoute> {
 | 
			
		||||
  @override
 | 
			
		||||
  Widget build(BuildContext context) {
 | 
			
		||||
    return Scaffold(
 | 
			
		||||
      appBar: AppBar(
 | 
			
		||||
        title: Text(tr("Image")),
 | 
			
		||||
      ),
 | 
			
		||||
      body: PhotoView(imageProvider: CachedNetworkImageProvider(widget.url)),
 | 
			
		||||
    );
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@@ -1,9 +1,8 @@
 | 
			
		||||
import 'package:cached_network_image/cached_network_image.dart';
 | 
			
		||||
import 'package:comunic/helpers/preferences_helper.dart';
 | 
			
		||||
import 'package:comunic/ui/routes/full_screen_image.dart';
 | 
			
		||||
import 'package:comunic/utils/intl_utils.dart';
 | 
			
		||||
import 'package:flutter/material.dart';
 | 
			
		||||
import 'package:html/parser.dart';
 | 
			
		||||
import 'package:photo_view/photo_view.dart';
 | 
			
		||||
 | 
			
		||||
/// User interface utilities
 | 
			
		||||
///
 | 
			
		||||
@@ -69,14 +68,7 @@ Widget buildErrorCard(String message,
 | 
			
		||||
/// Show an image with a given [url] in full screen
 | 
			
		||||
void showImageFullScreen(BuildContext context, String url) {
 | 
			
		||||
  Navigator.of(context).push(MaterialPageRoute(builder: (c) {
 | 
			
		||||
    return Scaffold(
 | 
			
		||||
      appBar: AppBar(
 | 
			
		||||
        title: Text(tr("Image")),
 | 
			
		||||
      ),
 | 
			
		||||
      body: PhotoView(
 | 
			
		||||
        imageProvider: CachedNetworkImageProvider(url),
 | 
			
		||||
      ),
 | 
			
		||||
    );
 | 
			
		||||
    return FullScreenImageRoute(url);
 | 
			
		||||
  }));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user