File tree Expand file tree Collapse file tree 3 files changed +68
-2
lines changed Expand file tree Collapse file tree 3 files changed +68
-2
lines changed Original file line number Diff line number Diff line change @@ -40,12 +40,44 @@ class IngredientImage {
40
40
@JsonKey (required : true )
41
41
final int size;
42
42
43
+ // License information
44
+
45
+ /// License ID
46
+ @JsonKey (required : true , name: 'license' )
47
+ final int licenseId;
48
+
49
+ /// Author(s)
50
+ @JsonKey (required : true , name: 'license_author' )
51
+ final String author;
52
+
53
+ /// Author profile, if available
54
+ @JsonKey (required : true , name: 'license_author_url' )
55
+ final String authorUrl;
56
+
57
+ /// The title of the image
58
+ @JsonKey (required : true , name: 'license_title' )
59
+ final String title;
60
+
61
+ /// The URL of the original image
62
+ @JsonKey (required : true , name: 'license_object_url' )
63
+ final String objectUrl;
64
+
65
+ /// The URL of the original image if this is a derivative object
66
+ @JsonKey (required : true , name: 'license_derivative_source_url' )
67
+ final String derivativeSourceUrl;
68
+
43
69
const IngredientImage ({
44
70
required this .id,
45
71
required this .uuid,
46
72
required this .ingredientId,
47
73
required this .image,
48
74
required this .size,
75
+ required this .licenseId,
76
+ required this .author,
77
+ required this .authorUrl,
78
+ required this .title,
79
+ required this .objectUrl,
80
+ required this .derivativeSourceUrl,
49
81
});
50
82
51
83
// Boilerplate
Original file line number Diff line number Diff line change @@ -20,6 +20,7 @@ import 'package:flutter/material.dart';
20
20
import 'package:flutter_gen/gen_l10n/app_localizations.dart' ;
21
21
import 'package:provider/provider.dart' ;
22
22
import 'package:wger/helpers/consts.dart' ;
23
+ import 'package:wger/helpers/misc.dart' ;
23
24
import 'package:wger/models/nutrition/meal.dart' ;
24
25
import 'package:wger/models/nutrition/meal_item.dart' ;
25
26
import 'package:wger/providers/nutrition.dart' ;
@@ -163,7 +164,16 @@ class MealItemWidget extends StatelessWidget {
163
164
164
165
return ListTile (
165
166
leading: _item.ingredientObj.image != null
166
- ? CircleAvatar (backgroundImage: NetworkImage (_item.ingredientObj.image! .image))
167
+ ? GestureDetector (
168
+ child: CircleAvatar (backgroundImage: NetworkImage (_item.ingredientObj.image! .image)),
169
+ onTap: () async {
170
+ if (_item.ingredientObj.image! .objectUrl != '' ) {
171
+ return launchURL (_item.ingredientObj.image! .objectUrl, context);
172
+ } else {
173
+ return ;
174
+ }
175
+ },
176
+ )
167
177
: const CircleIconAvatar (Icon (Icons .image, color: Colors .grey)),
168
178
title: Text (
169
179
'${_item .amount .toStringAsFixed (0 )}$unit ${_item .ingredientObj .name }' ,
You can’t perform that action at this time.
0 commit comments