40 lines
1.1 KiB
Dart
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),
|
|
);
|
|
}
|
|
}
|