import { TextStyle, ViewStyle } from 'react-native';

import { PresetsWithAccent, color } from '~/theme';

/**
 * All the variations of tag views.
 */
export const viewPresets: Record<PresetsWithAccent, ViewStyle> = {
  primary: {
    backgroundColor: color.palette.mercury2,
  } as ViewStyle,
  'primary-accent': {
    backgroundColor: color.palette.ebony,
  } as ViewStyle,
  secondary: {
    backgroundColor: color.palette.solitude,
  },
  'secondary-accent': {
    backgroundColor: color.palette.toreaBay,
  },
  warning: {
    backgroundColor: color.palette.lemonChiffon,
  } as ViewStyle,
  'warning-accent': {
    backgroundColor: color.palette.olive,
  } as ViewStyle,
  success: {
    backgroundColor: color.palette.hintOfGreen,
  } as ViewStyle,
  'success-accent': {
    backgroundColor: color.palette.greenHaze,
  } as ViewStyle,
  error: {
    backgroundColor: color.palette.cosmos,
  } as ViewStyle,
  'error-accent': {
    backgroundColor: color.palette.guardsmanRed,
  } as ViewStyle,
};

/**
 * All the variations of tag texts.
 */
export const textPresets: Record<PresetsWithAccent, ViewStyle> = {
  primary: {
    color: color.palette.ebony,
  } as TextStyle,
  'primary-accent': {
    color: color.palette.wildSand,
  } as TextStyle,
  secondary: {
    color: color.palette.toreaBay,
  } as TextStyle,
  'secondary-accent': {
    color: color.palette.solitude,
  } as TextStyle,
  warning: {
    color: color.palette.olive,
  } as TextStyle,
  'warning-accent': {
    color: color.palette.lemonChiffon,
  } as TextStyle,
  success: {
    color: color.palette.greenHaze,
  } as TextStyle,
  'success-accent': {
    color: color.palette.hintOfGreen,
  } as TextStyle,
  error: {
    color: color.palette.guardsmanRed,
  } as TextStyle,
  'error-accent': {
    color: color.palette.cosmos,
  } as TextStyle,
};
