import 'package:comwell_key_app/domain/models/app_error.dart';
import 'package:comwell_key_app/domain/models/notification_permission.dart';
import 'package:freezed_annotation/freezed_annotation.dart';

part '../../../../.generated/presentation/screens/notifications/bloc/notifications_state.freezed.dart';

@freezed
abstract class NotificationsState with _$NotificationsState {
  const factory NotificationsState({
    @Default(false) bool isLoading,
    @Default(AppError.none) AppError error,
    @Default([]) List<NotificationPermission> allNotifications
  }) = _NotificationsState;

  const NotificationsState._();
  
  NotificationsState loading() => copyWith(isLoading: true, error: AppError.none); 
}