
import 'package:hl_lieferservice/model/delivery.dart';

abstract class NoteState {}

class NoteInitial extends NoteState {}

class NoteLoading extends NoteState {}

class NoteLoadingFailed extends NoteState {}

class NoteLoadedBase extends NoteState {
  NoteLoadedBase({
    required this.notes,
  });

  List<Note> notes;
}

class NoteLoaded extends NoteLoadedBase {
  NoteLoaded({
    this.templates,
    this.images,
    required super.notes,
  });

  List<NoteTemplate>? templates;
  List<ImageNote>? images;

  NoteLoaded copyWith({
    List<Note>? notes,
    List<NoteTemplate>? templates,
    List<ImageNote>? images,
  }) {
    return NoteLoaded(
      notes: notes ?? this.notes,
      templates: templates ?? this.templates,
      images: images ?? this.images,
    );
  }
}
