✨ Better attachment fullscreen (support exif meta)
This commit is contained in:
		| @@ -8,6 +8,7 @@ import 'package:flutter_animate/flutter_animate.dart'; | ||||
| import 'package:gal/gal.dart'; | ||||
| import 'package:gap/gap.dart'; | ||||
| import 'package:get/get.dart'; | ||||
| import 'package:google_fonts/google_fonts.dart'; | ||||
| import 'package:solian/exts.dart'; | ||||
| import 'package:solian/models/attachment.dart'; | ||||
| import 'package:solian/platform.dart'; | ||||
| @@ -103,9 +104,10 @@ class _AttachmentFullScreenState extends State<AttachmentFullScreen> { | ||||
|  | ||||
|   @override | ||||
|   Widget build(BuildContext context) { | ||||
|     final metaTextStyle = TextStyle( | ||||
|     final metaTextStyle = GoogleFonts.roboto( | ||||
|       fontSize: 12, | ||||
|       color: _unFocusColor, | ||||
|       height: 1, | ||||
|     ); | ||||
|  | ||||
|     return DismissiblePage( | ||||
| @@ -239,27 +241,43 @@ class _AttachmentFullScreenState extends State<AttachmentFullScreen> { | ||||
|                       child: Wrap( | ||||
|                         spacing: 6, | ||||
|                         children: [ | ||||
|                           Text( | ||||
|                             '#${widget.item.rid}', | ||||
|                             style: metaTextStyle, | ||||
|                           ), | ||||
|                           if (widget.item.metadata?['width'] != null && | ||||
|                               widget.item.metadata?['height'] != null) | ||||
|                           if (widget.item.metadata?['exif'] == null) | ||||
|                             Text( | ||||
|                               '${widget.item.metadata?['width']}x${widget.item.metadata?['height']}', | ||||
|                               '#${widget.item.rid}', | ||||
|                               style: metaTextStyle, | ||||
|                             ), | ||||
|                           if (widget.item.metadata?['ratio'] != null) | ||||
|                           if (widget.item.metadata?['exif']?['Model'] != null) | ||||
|                             Text( | ||||
|                               '${_getRatio().toPrecision(2)}', | ||||
|                               'shotOn'.trParams({ | ||||
|                                 'device': widget.item.metadata?['exif'] | ||||
|                                     ?['Model'] | ||||
|                               }), | ||||
|                               style: metaTextStyle, | ||||
|                             ).paddingOnly(right: 2), | ||||
|                           if (widget.item.metadata?['exif']?['ShutterSpeed'] != | ||||
|                               null) | ||||
|                             Text( | ||||
|                               widget.item.metadata?['exif']?['ShutterSpeed'], | ||||
|                               style: metaTextStyle, | ||||
|                             ).paddingOnly(right: 2), | ||||
|                           if (widget.item.metadata?['exif']?['ISO'] != null) | ||||
|                             Text( | ||||
|                               'ISO${widget.item.metadata?['exif']?['ISO']}', | ||||
|                               style: metaTextStyle, | ||||
|                             ).paddingOnly(right: 2), | ||||
|                           if (widget.item.metadata?['exif']?['Megapixels'] != | ||||
|                               null) | ||||
|                             Text( | ||||
|                               '${widget.item.metadata?['exif']?['Megapixels']}MP', | ||||
|                               style: metaTextStyle, | ||||
|                             ) | ||||
|                           else | ||||
|                             Text( | ||||
|                               widget.item.size.formatBytes(), | ||||
|                               style: metaTextStyle, | ||||
|                             ), | ||||
|                           Text( | ||||
|                             widget.item.size.formatBytes(), | ||||
|                             style: metaTextStyle, | ||||
|                           ), | ||||
|                           Text( | ||||
|                             widget.item.mimetype, | ||||
|                             '${widget.item.metadata?['width']}x${widget.item.metadata?['height']}', | ||||
|                             style: metaTextStyle, | ||||
|                           ), | ||||
|                         ], | ||||
|   | ||||
		Reference in New Issue
	
	Block a user