import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
import { DictionaryActions, ManualRedactionActions } from '@red/domain';

interface AnnotationActionResponses {
    error: string;
    success: string;
    conflictError?: string;
}

export const dictionaryActionsTranslations: Record<DictionaryActions, AnnotationActionResponses> = {
    add: {
        error: _('annotation-actions.message.dictionary.add.error'),
        conflictError: _('annotation-actions.message.dictionary.add.conflict-error'),
        success: _('annotation-actions.message.dictionary.add.success'),
    },
    remove: {
        error: _('annotation-actions.message.dictionary.remove.error'),
        success: _('annotation-actions.message.dictionary.remove.success'),
    },
    undo: {
        error: _('annotation-actions.message.dictionary.undo.error'),
        success: _('annotation-actions.message.dictionary.undo.success'),
    },
} as const;

export const manualRedactionActionsTranslations: Record<ManualRedactionActions, AnnotationActionResponses> = {
    add: {
        error: _('annotation-actions.message.manual-redaction.add.error'),
        success: _('annotation-actions.message.manual-redaction.add.success'),
    },
    'change-legal-basis': {
        error: _('annotation-actions.message.manual-redaction.change-legal-basis.error'),
        success: _('annotation-actions.message.manual-redaction.change-legal-basis.success'),
    },
    'force-redaction': {
        error: _('annotation-actions.message.manual-redaction.force-redaction.error'),
        success: _('annotation-actions.message.manual-redaction.force-redaction.success'),
    },
    'force-hint': {
        error: _('annotation-actions.message.manual-redaction.force-hint.error'),
        success: _('annotation-actions.message.manual-redaction.force-hint.success'),
    },
    'recategorize-image': {
        error: _('annotation-actions.message.manual-redaction.recategorize-image.error'),
        success: _('annotation-actions.message.manual-redaction.recategorize-image.success'),
    },
    'change-type': {
        error: _('annotation-actions.message.manual-redaction.change-type.error'),
        success: _('annotation-actions.message.manual-redaction.change-type.success'),
    },
    undo: {
        error: _('annotation-actions.message.manual-redaction.undo.error'),
        success: _('annotation-actions.message.manual-redaction.undo.success'),
    },
    remove: {
        error: _('annotation-actions.message.manual-redaction.remove.error'),
        success: _('annotation-actions.message.manual-redaction.remove.success'),
    },
    'remove-hint': {
        error: _('annotation-actions.message.manual-redaction.remove-hint.error'),
        success: _('annotation-actions.message.manual-redaction.remove-hint.success'),
    },
} as const;
