refactor(blog_post): Refactoring blog post create and conflict resolve

This commit is contained in:
2024-07-01 16:57:43 +03:00
parent beaaecad3c
commit a022d87adb
13 changed files with 23 additions and 56 deletions

View File

@@ -5,7 +5,7 @@ import 'package:eatvio_app/presentation/auth/auth_screen/auth_screen.dart';
import 'package:eatvio_app/presentation/diary/diary_edit_screen/diary_edit_screen.dart';
import 'package:eatvio_app/presentation/diets/diet_create_screen/diet_create_screen.dart';
import 'package:eatvio_app/presentation/diets/diet_select_screen/diet_select_screen.dart';
import 'package:eatvio_app/presentation/feed/blog_post_create_screen/blog_post_create_screen.dart';
import 'package:eatvio_app/features/blog_post_create/presentation/pages/blog_post_create_screen.dart';
import 'package:eatvio_app/presentation/feed/blog_post_edit_screen/blog_post_edit_screen.dart';
import 'package:eatvio_app/features/blog_post/presentation/pages/blog_post_screen.dart';
import 'package:eatvio_app/features/feed/presentation/pages/feed_screen.dart';

View File

@@ -15,37 +15,6 @@ class InitializationCubit extends Cubit<InitializationState> {
final wsUrl = await chatRepository.getWebsocket();
PusherOptions options = PusherOptions(
host: 'socket.mobile-stage.eatvio.ru',
wsPort: 443,
encrypted: true,
auth: PusherAuth(
'wss://' + wsUrl.host + '/app/' + wsUrl.key,
headers: {
'Authorization': 'Bearer ${TokenStorage.getTokenFromStorage()}',
},
),
);
PusherClient pusherClient = PusherClient(
wsUrl.key,
options,
autoConnect: true,
enableLogging: true,
);
await pusherClient.connect();
emit(const InitializationState.success());
Channel channel = pusherClient.subscribe('private-direct-chat.' + '7909ea56-7822-4d5f-8892-134bc937127f');
channel.bind("pusher_internal:subscription_succeeded", (PusherEvent? event) {
channel.trigger("pusher_internal:subscription_succeeded", {});
});
channel.registerListener('pusher:subscribe', (data) => print(data.toString()));
} catch (e) {
print(e);
emit(InitializationState.error(errorMessage: e.toString()));

View File

@@ -18,14 +18,12 @@ abstract class TokenStorage {
}
}
static Future<String> getTokenFromStorage() async =>
(await Hive.openBox('token')).get('token');
static Future<String> getTokenFromStorage() async => (await Hive.openBox('token')).get('token');
static saveTokenInStorage(String token) async {
(await Hive.openBox('token')).put('token', token);
_addTokenToDioHeader(token);
}
static removeTokenInStorage() async =>
(await Hive.openBox('token')).delete('token');
static removeTokenInStorage() async => (await Hive.openBox('token')).delete('token');
}

View File

@@ -1,6 +1,6 @@
import 'package:freezed_annotation/freezed_annotation.dart';
part 'blog_post_create_credentials_model.freezed.dart';
part 'blog_post_create_credentials_model.g.dart';
part '../../../presentation/feed/blog_post_create_screen/models/blog_post_create_credentials_model.freezed.dart';
part '../../../presentation/feed/blog_post_create_screen/models/blog_post_create_credentials_model.g.dart';
@freezed
class BlogPostCreateCredentialsModel with _$BlogPostCreateCredentialsModel {

View File

@@ -1,5 +1,5 @@
import 'bloc/blog_post_create_bloc.dart';
import 'models/blog_post_create_model.dart';
import '../../../../presentation/feed/blog_post_create_screen/bloc/blog_post_create_bloc.dart';
import '../../../../presentation/feed/blog_post_create_screen/models/blog_post_create_model.dart';
import 'package:eatvio_app/core/app_export.dart';
import 'package:flutter/material.dart';
import 'package:image_picker/image_picker.dart';

View File

@@ -1,5 +1,5 @@
import 'package:eatvio_app/presentation/feed/blog_post_create_screen/models/blog_post_create_credentials_model.dart';
import 'package:eatvio_app/presentation/feed/blog_post_create_screen/services/blog_service.dart';
import 'package:eatvio_app/features/blog_post_create/models/blog_post_create_credentials_model.dart';
import 'package:eatvio_app/features/blog_post_create/services/blog_service.dart';
class BlogRepository {
final BlogService blogService;

View File

@@ -1,4 +1,4 @@
import 'package:eatvio_app/presentation/feed/blog_post_create_screen/models/blog_post_create_credentials_model.dart';
import 'package:eatvio_app/features/blog_post_create/models/blog_post_create_credentials_model.dart';
import 'package:dio/dio.dart';
import 'package:retrofit/retrofit.dart';

View File

@@ -190,12 +190,12 @@ class DiaryEditBloc extends Bloc<DiaryEditEvent, DiaryEditState> {
final recommendedChartValues =
jsonDecode(responseChart.body)['dailyNutritionRecommendation']
.values
.map<int>((value) => value as int)
.map<double>((value) => value as double)
.toList();
final consumedChartValues =
jsonDecode(responseChart.body)['dailyNutritionIntake']
.values
.map<int>((value) => value as int)
.map<double>((value) => value as double)
.toList();
return [recommendedChartValues, consumedChartValues];
} else {
@@ -275,10 +275,10 @@ class DiaryEditBloc extends Bloc<DiaryEditEvent, DiaryEditState> {
moderationExpanded: false,
token: token,
recommendedChartValues: recommendedChartValues.values
.map<int>((value) => value as int)
.map<double>((value) => value as double)
.toList(),
consumedChartValues: consumedChartValues.values
.map<int>((value) => value as int)
.map<double>((value) => value as double)
.toList(),
meals: diary['meals'],
portions: diary['meals'][0]['portions'],

View File

@@ -57,8 +57,8 @@ class DiaryEditLoadedState extends DiaryEditState {
List<dynamic>? portions;
List<dynamic>? photos;
List<dynamic>? autocompleteList;
List<int> recommendedChartValues;
List<int> consumedChartValues;
List<double> recommendedChartValues;
List<double> consumedChartValues;
SelectionPopupModel? currentMeal;
SelectionPopupModel? portionController;
TimeOfDay? wakeupController;
@@ -117,8 +117,8 @@ class DiaryEditLoadedState extends DiaryEditState {
SelectionPopupModel? portionController,
String? diaryDate,
String? token,
List<int>? recommendedChartValues,
List<int>? consumedChartValues,
List<double>? recommendedChartValues,
List<double>? consumedChartValues,
List<dynamic>? meals,
List<dynamic>? portions,
List<dynamic>? photos,

View File

@@ -720,8 +720,8 @@ class DiaryEditScreen extends StatelessWidget {
}
_buildNutritionChart(BuildContext context, DiaryEditLoadedState state) {
final List<int> recommendedValues = state.recommendedChartValues; // Рекомендуемые значения: калории, жиры, белки, углеводы
final List<int> consumedValues = state.consumedChartValues; //
final List<double> recommendedValues = state.recommendedChartValues; // Рекомендуемые значения: калории, жиры, белки, углеводы
final List<double> consumedValues = state.consumedChartValues; //
return Container(
margin: EdgeInsets.symmetric(horizontal: 16.h),
padding: EdgeInsets.symmetric(
@@ -1196,7 +1196,7 @@ class DiaryEditScreen extends StatelessWidget {
}
}
bool checkConsumedValues(List<int> recommendedValues, List<int> consumedValues) {
bool checkConsumedValues(List<double> recommendedValues, List<double> consumedValues) {
for (int i = 0; i < recommendedValues.length; i++) {
if (consumedValues[i] > recommendedValues[i]) {
// Если хотя бы одно потребленное значение превышает рекомендованное

View File

@@ -3,7 +3,7 @@
// ignore_for_file: type=lint
// ignore_for_file: unused_element, deprecated_member_use, deprecated_member_use_from_same_package, use_function_type_syntax_for_parameters, unnecessary_const, avoid_init_to_null, invalid_override_different_default_values_named, prefer_expression_function_bodies, annotate_overrides, invalid_annotation_target, unnecessary_question_mark
part of 'blog_post_create_credentials_model.dart';
part of '../../../../features/blog_post_create/models/blog_post_create_credentials_model.dart';
// **************************************************************************
// FreezedGenerator

View File

@@ -1,6 +1,6 @@
// GENERATED CODE - DO NOT MODIFY BY HAND
part of 'blog_post_create_credentials_model.dart';
part of '../../../../features/blog_post_create/models/blog_post_create_credentials_model.dart';
// **************************************************************************
// JsonSerializableGenerator