import 'package:equatable/equatable.dart';
import '../../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 ResetTrips extends TripEvent {
  const ResetTrips();
}

class TripDeleteRequested extends TripEvent {
  final String tripId;

  const TripDeleteRequested({required this.tripId});

  @override
  List<Object?> get props => [tripId];
}