import { SuperType, SuperTypes } from '../files';
import { DefaultColorType } from './default-color-type';

export type DefaultBasedColorType = Exclude<SuperType, typeof SuperTypes.TextHighlight> | 'updated' | 'analysis';

export const annotationDefaultColorConfig: Record<DefaultBasedColorType, DefaultColorType> = {
    [SuperTypes.IgnoredHint]: 'ignoredHintColor',
    [SuperTypes.Skipped]: 'skippedColor',
    [SuperTypes.Redaction]: 'redactionColor',
    [SuperTypes.ManualRedaction]: 'redactionColor',
    [SuperTypes.ManualHint]: 'redactionColor',
    [SuperTypes.Recommendation]: 'recommendationColor',
    [SuperTypes.Hint]: 'hintColor',

    updated: 'updatedColor',
    analysis: 'analysisColor',
} as const;

export const annotationEntityColorConfig: Record<
    Exclude<SuperType, typeof SuperTypes.TextHighlight>,
    'hexColor' | 'recommendationHexColor' | 'skippedHexColor'
> = {
    [SuperTypes.IgnoredHint]: 'skippedHexColor',
    [SuperTypes.Skipped]: 'skippedHexColor',
    [SuperTypes.Redaction]: 'hexColor',
    [SuperTypes.ManualRedaction]: 'hexColor',
    [SuperTypes.ManualHint]: 'hexColor',
    [SuperTypes.Recommendation]: 'recommendationHexColor',
    [SuperTypes.Hint]: 'hexColor',
} as const;
