feat(notifications): added navigation from different types of notifications

This commit is contained in:
misha
2026-02-18 19:45:32 +03:00
parent bb97c395dd
commit c540cbe6df
13 changed files with 974 additions and 507 deletions

View File

@@ -5,22 +5,30 @@ import 'package:flutter_bloc/flutter_bloc.dart';
class SubCubit extends Cubit<SubState> {
final ProfileRepository profileRepository;
SubCubit({
required this.profileRepository,
}) : super(const SubState());
SubCubit({required this.profileRepository}) : super(const SubState());
Future<void> getSubscriptions(String slug, [String? query]) async {
Future<void> getSubscriptions(String? slug, [String? query]) async {
emit(const SubState.loading());
try {
if (slug == null) {
final myProfile = await profileRepository.getMyProfile();
emit(SubState.loaded(subList: await profileRepository.getSubscriptionsBySlug(myProfile.slug, query)));
return;
}
emit(SubState.loaded(subList: await profileRepository.getSubscriptionsBySlug(slug, query)));
} catch (e) {
emit(SubState.error(errorMessage: e.toString()));
}
}
Future<void> getSubscribers(String slug, [String? query]) async {
Future<void> getSubscribers(String? slug, [String? query]) async {
emit(const SubState.loading());
try {
if (slug == null) {
final myProfile = await profileRepository.getMyProfile();
emit(SubState.loaded(subList: await profileRepository.getSubscribersBySlug(myProfile.slug, query)));
return;
}
emit(SubState.loaded(subList: await profileRepository.getSubscribersBySlug(slug, query)));
} catch (e) {
emit(SubState.error(errorMessage: e.toString()));

View File

@@ -12,7 +12,7 @@ enum SubType { subscribers, subscriptions }
class SubsScreen extends StatefulWidget {
final SubType subType;
final String slug;
final String? slug;
const SubsScreen({
super.key,