Add updateTagTranslation display

This commit is contained in:
2024-10-03 12:34:08 +00:00
committed by GitHub
parent ec4d3859f2
commit f7a000b806
8 changed files with 1080 additions and 772 deletions

View File

File diff suppressed because it is too large Load Diff

View File

@@ -15,7 +15,9 @@ enum TaskType {
@JsonValue(3)
fixGalleryPage,
@JsonValue(4)
import;
import,
@JsonValue(5)
updateTagTranslation;
String text(BuildContext context) {
final i18n = AppLocalizations.of(context)!;
@@ -30,6 +32,8 @@ enum TaskType {
return i18n.fixGalleryPageTask;
case TaskType.import:
return i18n.importTask;
case TaskType.updateTagTranslation:
return i18n.updateTagTranslation;
}
}
}
@@ -183,6 +187,23 @@ class TaskImportProgress implements TaskProgressBasicType {
Map<String, dynamic> toJson() => _$TaskImportProgressToJson(this);
}
@JsonSerializable()
class TaskUpdateTagTranslationProgress implements TaskProgressBasicType {
const TaskUpdateTagTranslationProgress({
required this.addedTag,
required this.totalTag,
});
@JsonKey(name: 'added_tag')
final int addedTag;
@JsonKey(name: 'total_tag')
final int totalTag;
factory TaskUpdateTagTranslationProgress.fromJson(
Map<String, dynamic> json) =>
_$TaskUpdateTagTranslationProgressFromJson(json);
Map<String, dynamic> toJson() =>
_$TaskUpdateTagTranslationProgressToJson(this);
}
class TaskProgress {
const TaskProgress({
required this.type,
@@ -231,6 +252,13 @@ class TaskProgress {
detail: TaskImportProgress.fromJson(
json['detail'] as Map<String, dynamic>),
);
case 5:
return TaskProgress(
type: TaskType.updateTagTranslation,
taskId: taskId,
detail: TaskUpdateTagTranslationProgress.fromJson(
json['detail'] as Map<String, dynamic>),
);
default:
throw ArgumentError.value(type, 'type', 'Invalid task type');
}

View File

@@ -30,6 +30,7 @@ const _$TaskTypeEnumMap = {
TaskType.updateMeiliSearchData: 2,
TaskType.fixGalleryPage: 3,
TaskType.import: 4,
TaskType.updateTagTranslation: 5,
};
TaskDownloadSingleProgress _$TaskDownloadSingleProgressFromJson(
@@ -146,6 +147,20 @@ Map<String, dynamic> _$TaskImportProgressToJson(TaskImportProgress instance) =>
'total_page': instance.totalPage,
};
TaskUpdateTagTranslationProgress _$TaskUpdateTagTranslationProgressFromJson(
Map<String, dynamic> json) =>
TaskUpdateTagTranslationProgress(
addedTag: (json['added_tag'] as num).toInt(),
totalTag: (json['total_tag'] as num).toInt(),
);
Map<String, dynamic> _$TaskUpdateTagTranslationProgressToJson(
TaskUpdateTagTranslationProgress instance) =>
<String, dynamic>{
'added_tag': instance.addedTag,
'total_tag': instance.totalTag,
};
TaskList _$TaskListFromJson(Map<String, dynamic> json) => TaskList(
tasks: (json['tasks'] as List<dynamic>)
.map((e) => Task.fromJson(e as Map<String, dynamic>))