part of 'server_logs_bloc.dart'; sealed class ServerLogsState extends Equatable { const ServerLogsState(); } final class ServerLogsInitial extends ServerLogsState { @override List get props => []; } final class ServerLogsLoading extends ServerLogsState { @override List get props => []; } final class ServerLogsLoaded extends ServerLogsState { ServerLogsLoaded({ required this.oldEntries, required this.newEntries, required this.meta, required this.loadingMore, this.slice, }) : _lastCursor = newEntries.isEmpty ? '' : newEntries.first.cursor; final List oldEntries; final List newEntries; final ServerLogsPageMeta meta; final bool loadingMore; final String _lastCursor; final String? slice; List get systemdUnits => oldEntries .map((final entry) => entry.systemdUnit ?? 'kernel') .toSet() .toList(); List oldEntriesForUnit(final String unit) { if (unit == 'kernel') { final filteredEntries = oldEntries.where((final entry) => entry.systemdUnit == null).toList(); return filteredEntries; } final filteredEntries = oldEntries.where((final entry) => entry.systemdUnit == unit).toList(); return filteredEntries; } List newEntriesForUnit(final String unit) { if (unit == 'kernel') { final filteredEntries = newEntries.where((final entry) => entry.systemdUnit == null).toList(); return filteredEntries; } final filteredEntries = newEntries.where((final entry) => entry.systemdUnit == unit).toList(); return filteredEntries; } @override List get props => [oldEntries, newEntries, meta, _lastCursor, slice]; } final class ServerLogsError extends ServerLogsState { const ServerLogsError(this.error); final Object error; @override List get props => [error]; }