Files
bookshelf/books_flutter/lib/bloc/scanner/scanner_state.dart
2026-02-08 12:05:05 +06:00

40 lines
1.1 KiB
Dart

import '../../models/models.dart';
class ScannerState {
final bool isInitialized;
final bool isCapturing;
final bool isAnalyzing;
final bool hasPermissionError;
final String? errorMessage;
final Book? analyzedBook;
const ScannerState({
this.isInitialized = false,
this.isCapturing = false,
this.isAnalyzing = false,
this.hasPermissionError = false,
this.errorMessage,
this.analyzedBook,
});
ScannerState copyWith({
bool? isInitialized,
bool? isCapturing,
bool? isAnalyzing,
bool? hasPermissionError,
String? errorMessage,
Book? analyzedBook,
bool clearError = false,
bool clearBook = false,
}) {
return ScannerState(
isInitialized: isInitialized ?? this.isInitialized,
isCapturing: isCapturing ?? this.isCapturing,
isAnalyzing: isAnalyzing ?? this.isAnalyzing,
hasPermissionError: hasPermissionError ?? this.hasPermissionError,
errorMessage: clearError ? null : (errorMessage ?? this.errorMessage),
analyzedBook: clearBook ? null : (analyzedBook ?? this.analyzedBook),
);
}
}