- Implemented AutomaticKeepAliveClientMixin in HomeContent to maintain state during navigation. - Modified trip loading logic to trigger after the first frame for better performance. - Updated trip loading events to use LoadTripsByUserId for consistency. - Added temporary success messages for trip creation and operations. - Improved UI elements for better user experience, including updated text styles and spacing. - Refactored trip model to support Firestore timestamps and improved error handling during parsing. - Streamlined trip repository methods for better clarity and performance. - Enhanced trip service methods to ensure correct mapping from Firestore documents. - Removed unnecessary trip reset logic on logout.
45 lines
887 B
Dart
45 lines
887 B
Dart
import 'package:equatable/equatable.dart';
|
|
import '../../data/models/trip.dart';
|
|
|
|
abstract class TripEvent extends Equatable {
|
|
const TripEvent();
|
|
|
|
@override
|
|
List<Object?> get props => [];
|
|
}
|
|
|
|
class LoadTripsByUserId extends TripEvent {
|
|
final String userId;
|
|
|
|
const LoadTripsByUserId({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];
|
|
} |