1
0
mirror of https://gitlab.com/comunic/comunicmobile synced 2024-11-22 12:59:21 +00:00
comunicmobile/lib/ui/routes/full_screen_image.dart

41 lines
1.1 KiB
Dart
Raw Normal View History

2020-04-25 13:36:07 +00:00
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';
2022-06-11 13:04:11 +00:00
import 'package:url_launcher/url_launcher_string.dart';
2020-04-25 13:36:07 +00:00
/// Full screen image details
///
/// @author Pierre Hubert
class FullScreenImageRoute extends StatefulWidget {
final String url;
2022-03-12 09:57:11 +00:00
final String? cacheKey;
2020-04-25 13:36:07 +00:00
2022-03-12 09:57:11 +00:00
FullScreenImageRoute({required this.url, this.cacheKey});
2020-04-25 13:36:07 +00:00
@override
_FullScreenImageRouteState createState() => _FullScreenImageRouteState();
}
class _FullScreenImageRouteState extends State<FullScreenImageRoute> {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text(tr("Image")!),
2021-03-10 23:02:41 +00:00
actions: [
IconButton(
2022-06-11 13:04:11 +00:00
icon: Icon(Icons.launch), onPressed: () => launchUrlString(widget.url))
2021-03-10 23:02:41 +00:00
],
2020-04-25 13:36:07 +00:00
),
2022-03-12 09:57:11 +00:00
body: PhotoView(
loadingBuilder: (c, i) => Center(child: CircularProgressIndicator()),
imageProvider: CachedNetworkImageProvider(
widget.url,
cacheKey: widget.cacheKey,
)),
2020-04-25 13:36:07 +00:00
);
}
}