From 0dbf487108f58aa9e75a84928304bfe8b979242d Mon Sep 17 00:00:00 2001 From: maxxkim Date: Fri, 29 Mar 2024 16:22:19 +0300 Subject: [PATCH] feat(diary): Image upload and display works properly --- .../diary_edit_screen/diary_edit_screen.dart | 58 ++++--------------- 1 file changed, 11 insertions(+), 47 deletions(-) diff --git a/lib/presentation/diary/diary_edit_screen/diary_edit_screen.dart b/lib/presentation/diary/diary_edit_screen/diary_edit_screen.dart index 87284d6c..14d48a76 100644 --- a/lib/presentation/diary/diary_edit_screen/diary_edit_screen.dart +++ b/lib/presentation/diary/diary_edit_screen/diary_edit_screen.dart @@ -7,6 +7,7 @@ import 'package:flutter/services.dart'; import 'package:flutter_form_builder/flutter_form_builder.dart'; import 'package:fl_chart/fl_chart.dart'; import 'package:image_picker/image_picker.dart'; +import 'package:flutter_dotenv/flutter_dotenv.dart'; import 'package:eatvio_app/core/app_export.dart'; import 'package:eatvio_app/widgets/custom_edit_text_form_field.dart'; import 'package:eatvio_app/widgets/custom_edit_drop_down.dart'; @@ -394,9 +395,12 @@ class DiaryEditScreen extends StatelessWidget { SizedBox(height: 30.v), _buildAddPhoto(context), SizedBox(height: 30.v), - ...state.photos! - .map((photo) => _buildPhoto(context, photo)) - .toList(), + ...state.photos != null + ? state.photos! + .map((photo) => _buildPhoto(context, photo)) + .toList() + : [], + SizedBox(height: 30.v), Text( "Ваша сытость после приёма пищи", style: CustomTextStyles.bodyMediumBlack900, @@ -631,54 +635,14 @@ class DiaryEditScreen extends StatelessWidget { ); } - _buildP(BuildContext context, Map portion) { + _buildPhoto(BuildContext context, Map photo) { return Container( - margin: EdgeInsets.symmetric(horizontal: 10.h), - padding: EdgeInsets.symmetric( - horizontal: 8.h, - vertical: 6.v, - ), + margin: EdgeInsets.symmetric(horizontal: 10.h, vertical: 10.h), decoration: AppDecoration.fillGray.copyWith( borderRadius: BorderRadiusStyle.roundedBorder5, ), - child: Row( - mainAxisAlignment: MainAxisAlignment.end, - mainAxisSize: MainAxisSize.min, - children: [ - Padding( - padding: EdgeInsets.only( - left: 7.h, - top: 5.v, - ), - child: Text( - portion['product_name'].length > 8 - ? portion['product_name'].substring(0, 8) - : portion['product_name'], - style: CustomTextStyles.titleMedium16, - )), - Padding( - padding: EdgeInsets.only( - left: 20.h, - top: 3.v, - bottom: 3.v, - ), - child: Text( - portion['quantity'].toString() + - ' ' + - portion['portion'].toString(), - ), - ), - Spacer(), - GestureDetector( - onTap: removePortion(context, portion), - child: Padding( - padding: const EdgeInsets.only(right: 10), - child: Icon( - Icons.close, - color: appTheme.blueGray300, - ), - )), - ], + child: Image.network( + dotenv.env['STORAGE_URL']! + photo['path'], ), ); }