From ec816b9bb1e12b5695c087dbfa5bccf3c043e16a Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Sun, 7 Feb 2021 08:40:01 +1100 Subject: [PATCH] tap on part image to launch full screen view --- lib/widget/full_screen_image.dart | 26 ++++++++++++++++++++++++++ lib/widget/part_detail.dart | 10 +++++++++- 2 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 lib/widget/full_screen_image.dart diff --git a/lib/widget/full_screen_image.dart b/lib/widget/full_screen_image.dart new file mode 100644 index 00000000..85f36269 --- /dev/null +++ b/lib/widget/full_screen_image.dart @@ -0,0 +1,26 @@ + +import 'package:InvenTree/api.dart'; + +import 'package:flutter/material.dart'; +import 'package:flutter/cupertino.dart'; + +class FullScreenWidget extends StatelessWidget { + + // Remote URL for image + String _url; + + // App bar title + String _title; + + FullScreenWidget(this._title, this._url); + + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: AppBar( + title: Text(_title), + ), + body: InvenTreeAPI().getImage(_url), + ); + } +} \ No newline at end of file diff --git a/lib/widget/part_detail.dart b/lib/widget/part_detail.dart index 372e4e1f..76d7d729 100644 --- a/lib/widget/part_detail.dart +++ b/lib/widget/part_detail.dart @@ -7,6 +7,7 @@ import 'package:font_awesome_flutter/font_awesome_flutter.dart'; import 'package:url_launcher/url_launcher.dart'; import 'package:InvenTree/inventree/part.dart'; +import 'package:InvenTree/widget/full_screen_image.dart'; import 'package:InvenTree/widget/category_display.dart'; import 'package:InvenTree/widget/dialogs.dart'; import 'package:InvenTree/widget/fields.dart'; @@ -147,7 +148,14 @@ class _PartDisplayState extends RefreshableState { child: ListTile( title: Text("${part.fullname}"), subtitle: Text("${part.description}"), - leading: InvenTreeAPI().getImage(part.thumbnail), + leading: GestureDetector( + child: InvenTreeAPI().getImage(part.thumbnail), + onTap: () { + Navigator.push( + context, + MaterialPageRoute(builder: (context) => FullScreenWidget(part.name, part.image)) + ); + }), ) ); }