- Updated signup.dart to replace Provider with BLoC for state management. - Created AuthRepository to handle authentication logic and Firestore user management. - Added TripRepository and UserRepository for trip and user data management. - Implemented methods for user sign-in, sign-up, and data retrieval in repositories. - Enhanced trip management with create, update, delete, and participant management functionalities. - Updated AuthService to include new methods for sign-in and sign-up. - Removed unnecessary print statements from TripService for cleaner code. - Added dependencies for flutter_bloc and equatable in pubspec.yaml. Not tested yet
71 lines
1.4 KiB
Dart
71 lines
1.4 KiB
Dart
import 'package:equatable/equatable.dart';
|
|
import '../../data/models/trip.dart';
|
|
|
|
abstract class TripEvent extends Equatable {
|
|
const TripEvent();
|
|
|
|
@override
|
|
List<Object?> get props => [];
|
|
}
|
|
|
|
class TripLoadRequested extends TripEvent {
|
|
final String userId;
|
|
|
|
const TripLoadRequested({required this.userId});
|
|
|
|
@override
|
|
List<Object?> get props => [userId];
|
|
}
|
|
|
|
class TripCreateRequested extends TripEvent {
|
|
final Trip trip;
|
|
|
|
const TripCreateRequested({required this.trip});
|
|
|
|
@override
|
|
List<Object?> get props => [trip];
|
|
}
|
|
|
|
class TripUpdateRequested extends TripEvent {
|
|
final Trip trip;
|
|
|
|
const TripUpdateRequested({required this.trip});
|
|
|
|
@override
|
|
List<Object?> get props => [trip];
|
|
}
|
|
|
|
class TripDeleteRequested extends TripEvent {
|
|
final String tripId;
|
|
|
|
const TripDeleteRequested({required this.tripId});
|
|
|
|
@override
|
|
List<Object?> get props => [tripId];
|
|
}
|
|
|
|
class TripParticipantAddRequested extends TripEvent {
|
|
final String tripId;
|
|
final String participantEmail;
|
|
|
|
const TripParticipantAddRequested({
|
|
required this.tripId,
|
|
required this.participantEmail,
|
|
});
|
|
|
|
@override
|
|
List<Object?> get props => [tripId, participantEmail];
|
|
}
|
|
|
|
class TripParticipantRemoveRequested extends TripEvent {
|
|
final String tripId;
|
|
final String participantEmail;
|
|
|
|
const TripParticipantRemoveRequested({
|
|
required this.tripId,
|
|
required this.participantEmail,
|
|
});
|
|
|
|
@override
|
|
List<Object?> get props => [tripId, participantEmail];
|
|
} |