{{ t('title') }}

{{ t('systemTasks.sectionTitle') }}

{{ t('systemTasks.sectionDesc') }}

@if (loading && taskInfos.length === 0) {
{{ t('loading') }}
} @if (!loading && taskInfos.length === 0) {

{{ t('emptyTitle') }}

}
@for (taskInfo of taskInfos; track taskInfo.taskType) {
{{ getTaskLabel(taskInfo.taskType) }} @if (isTaskRunning(taskInfo.taskType)) { {{ t('status.running') }} } @else if (isTaskStale(getTaskHistory(taskInfo.taskType))) { {{ t('status.stale') }} } @else if (getTaskHistory(taskInfo.taskType)?.id) { {{ getLastRunMessage(taskInfo.taskType) }} }

{{ getTaskDescription(taskInfo.taskType) }}

@if (!isTaskRunning(taskInfo.taskType) && isCronSupported(taskInfo.taskType) && getCronConfig(taskInfo.taskType)) {
@if (!isEditingCron(taskInfo.taskType)) { @if (getCronConfig(taskInfo.taskType)?.cronExpression) { {{ getCronConfig(taskInfo.taskType)!.cronExpression }} } @else { {{ t('cron.noSchedule') }} } } @else {
}
@if (isEditingCron(taskInfo.taskType) && cronValidationError) {
{{ cronValidationError }}
}
}
@if (canExecuteTask(taskInfo.taskType) || isTaskStale(getTaskHistory(taskInfo.taskType))) { } @if (canCancelTask(getTaskHistory(taskInfo.taskType)) && !isTaskStale(getTaskHistory(taskInfo.taskType))) { }
@if (!isTaskRunning(taskInfo.taskType) && hasMetadata(taskInfo.taskType)) { } @if (!isTaskRunning(taskInfo.taskType) && taskInfo.taskType === TaskType.REFRESH_LIBRARY_METADATA) {
{{ option.translationKey | transloco }} {{ option.translationKey | transloco }} {{ getMetadataReplaceDescription(selectedMetadataReplaceMode) }}
} @if (isTaskRunning(taskInfo.taskType)) {
@if (isTaskStale(getTaskHistory(taskInfo.taskType))) {
{{ t('progress.staleWarning') }}
} @if (getTaskHistory(taskInfo.taskType)?.message) {
{{ t('progress.statusLabel') }} {{ getTaskStatusMessage(taskInfo.taskType) }}
} @if (getTaskProgressPercentage(taskInfo.taskType) !== null) {
{{ t('progress.progressLabel') }}
{{ getTaskProgressPercentage(taskInfo.taskType) }}%
} @if (getTaskUpdatedAt(taskInfo.taskType)) {
{{ t('progress.startedLabel') }} {{ formatDate(getTaskUpdatedAt(taskInfo.taskType)!) }}
}
}
}