Refactor user and theme management to use BLoC pattern; remove provider classes and integrate new services for user and group functionalities

This commit is contained in:
Dayron
2025-10-14 12:10:42 +02:00
parent c4588a65c0
commit 72ddb58a11
27 changed files with 1864 additions and 791 deletions

View File

@@ -0,0 +1,71 @@
import 'package:equatable/equatable.dart';
import '../../data/models/group.dart';
abstract class GroupEvent extends Equatable {
const GroupEvent();
@override
List<Object?> get props => [];
}
class GroupLoadRequested extends GroupEvent {
final String userId;
const GroupLoadRequested({required this.userId});
@override
List<Object?> get props => [userId];
}
class GroupCreateRequested extends GroupEvent {
final Group group;
const GroupCreateRequested({required this.group});
@override
List<Object?> get props => [group];
}
class GroupUpdateRequested extends GroupEvent {
final Group group;
const GroupUpdateRequested({required this.group});
@override
List<Object?> get props => [group];
}
class GroupDeleteRequested extends GroupEvent {
final String groupId;
const GroupDeleteRequested({required this.groupId});
@override
List<Object?> get props => [groupId];
}
class GroupMemberAddRequested extends GroupEvent {
final String groupId;
final String memberId;
const GroupMemberAddRequested({
required this.groupId,
required this.memberId,
});
@override
List<Object?> get props => [groupId, memberId];
}
class GroupMemberRemoveRequested extends GroupEvent {
final String groupId;
final String memberId;
const GroupMemberRemoveRequested({
required this.groupId,
required this.memberId,
});
@override
List<Object?> get props => [groupId, memberId];
}