feat(app): refactoring of sentry using, feat(become_consultant): fixed possible infinite loading, feat(push_notifications): fixed push navigation from paid plan push

This commit is contained in:
misha
2026-04-07 10:05:11 +03:00
parent b6b13b1db5
commit aac085def4
133 changed files with 2344 additions and 2456 deletions

View File

@@ -3,6 +3,7 @@ import 'dart:developer';
import 'package:eatvio_app/features/plans/repositories/plans_repository.dart';
import 'package:eatvio_app/features/profile/presentation/bloc/plans_cubit/plans_state.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:eatvio_app/core/error_reporting/report_from.dart';
class PlansCubit extends Cubit<PlansState> {
final PlansRepository plansRepository;
@@ -15,7 +16,8 @@ class PlansCubit extends Cubit<PlansState> {
emit(const PlansState.loading());
try {
emit(PlansState.loaded(plansList: await plansRepository.getPlansBySlug(slug)));
} catch (e) {
} catch (e, st) {
await reportFrom(e, st, this);
log(e.toString());
emit(PlansState.error(errorMessage: e.toString()));
}

View File

@@ -10,6 +10,7 @@ import 'package:eatvio_app/features/feed/models/feed_blog_post_model.dart';
import 'package:eatvio_app/features/profile/presentation/bloc/profile_cubit/profile_state.dart';
import 'package:eatvio_app/features/profile/repositories/profile_repository.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:eatvio_app/core/error_reporting/report_from.dart';
import 'package:go_router/go_router.dart';
class ProfileCubit extends Cubit<ProfileState> {
@@ -41,9 +42,9 @@ class ProfileCubit extends Cubit<ProfileState> {
certPhotos: certPhotos,
),
);
} catch (e) {
} catch (e, st) {
await reportFrom(e, st, this);
emit(ProfileState.error(errorMessage: e.toString()));
rethrow;
}
}
@@ -67,6 +68,7 @@ class ProfileCubit extends Cubit<ProfileState> {
),
);
} catch (e, stackTrace) {
await reportFrom(e, stackTrace, this);
log(e.toString(), stackTrace: stackTrace);
emit(ProfileState.error(errorMessage: e.toString()));
}
@@ -101,7 +103,8 @@ class ProfileCubit extends Cubit<ProfileState> {
hipCircumference: hipCircumference,
);
await getMyProfile(period: _currentPeriod);
} catch (e) {
} catch (e, st) {
await reportFrom(e, st, this);
emit(ProfileState.error(errorMessage: e.toString()));
}
}
@@ -110,7 +113,8 @@ class ProfileCubit extends Cubit<ProfileState> {
try {
await profileRepository.addWeight(weight: weight);
await getMyProfile(period: _currentPeriod);
} catch (e) {
} catch (e, st) {
await reportFrom(e, st, this);
emit(ProfileState.error(errorMessage: e.toString()));
}
}
@@ -121,27 +125,37 @@ class ProfileCubit extends Cubit<ProfileState> {
final userProfile = await profileRepository.getProfileBySlug(slug);
if (chatIdOrError == '404') {
AppRouter.navigatorKey.currentContext?.pushNamed('emptyChatScreen', extra: userProfile);
} else if (chatIdOrError == 'error') {
showErrorToast('Ошибка создания чата');
} else {
AppRouter.navigatorKey.currentContext?.pushNamed('chatScreen', extra: {'uuid': chatIdOrError});
return chatIdOrError;
}
} catch (e, st) {
await reportFrom(e, st, this);
log(e.toString(), stackTrace: st);
showErrorToast('Ошибка создания чата');
return '';
}
return null;
}
Future<void> uploadPhoto(File file) async {
await profileRepository.uploadPhoto(await ImageCompressUtility.compressFile(file));
return await getMyProfile();
try {
await profileRepository.uploadPhoto(await ImageCompressUtility.compressFile(file));
await getMyProfile();
} catch (e, st) {
await reportFrom(e, st, this);
emit(ProfileState.error(errorMessage: e.toString()));
}
}
Future<void> deletePhoto() async {
await profileRepository.deletePhoto();
return await getMyProfile();
try {
await profileRepository.deletePhoto();
await getMyProfile();
} catch (e, st) {
await reportFrom(e, st, this);
emit(ProfileState.error(errorMessage: e.toString()));
}
}
Future<void> hideCertPhoto(int id) async {
@@ -153,7 +167,8 @@ class ProfileCubit extends Cubit<ProfileState> {
if (currentState is ProfileStateLoaded) {
emit(currentState.copyWith(certPhotos: certPhotos));
}
} catch (e) {
} catch (e, st) {
await reportFrom(e, st, this);
log(e.toString());
}
}
@@ -167,7 +182,8 @@ class ProfileCubit extends Cubit<ProfileState> {
if (currentState is ProfileStateLoaded) {
emit(currentState.copyWith(certPhotos: certPhotos));
}
} catch (e) {
} catch (e, st) {
await reportFrom(e, st, this);
log(e.toString());
}
}

View File

@@ -1,6 +1,7 @@
import 'package:eatvio_app/features/profile/presentation/bloc/sub_cubit/sub_state.dart';
import 'package:eatvio_app/features/profile/repositories/profile_repository.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:eatvio_app/core/error_reporting/report_from.dart';
class SubCubit extends Cubit<SubState> {
final ProfileRepository profileRepository;
@@ -16,7 +17,8 @@ class SubCubit extends Cubit<SubState> {
return;
}
emit(SubState.loaded(subList: await profileRepository.getSubscriptionsBySlug(slug, query)));
} catch (e) {
} catch (e, st) {
await reportFrom(e, st, this);
emit(SubState.error(errorMessage: e.toString()));
}
}
@@ -30,16 +32,25 @@ class SubCubit extends Cubit<SubState> {
return;
}
emit(SubState.loaded(subList: await profileRepository.getSubscribersBySlug(slug, query)));
} catch (e) {
} catch (e, st) {
await reportFrom(e, st, this);
emit(SubState.error(errorMessage: e.toString()));
}
}
Future<void> subscribe(String slug) async {
return await profileRepository.subscribe(slug);
try {
await profileRepository.subscribe(slug);
} catch (e, st) {
await reportFrom(e, st, this);
}
}
Future<void> unsubscribe(String slug) async {
return await profileRepository.unsubscribe(slug);
try {
await profileRepository.unsubscribe(slug);
} catch (e, st) {
await reportFrom(e, st, this);
}
}
}