import { faFaceSmile } from '@fortawesome/pro-duotone-svg-icons/faFaceSmile'
import { faFaceFrown } from '@fortawesome/pro-duotone-svg-icons/faFaceFrown'
import { faFacePouting } from '@fortawesome/pro-duotone-svg-icons/faFacePouting'
import { faFaceDisappointed } from '@fortawesome/pro-duotone-svg-icons/faFaceDisappointed'
import { faFaceMeh } from '@fortawesome/pro-duotone-svg-icons/faFaceMeh'
import { faFaceThermometer } from '@fortawesome/pro-duotone-svg-icons/faFaceThermometer'
import { faFaceDowncastSweat } from '@fortawesome/pro-duotone-svg-icons/faFaceDowncastSweat'
import { faFaceAnxiousSweat } from '@fortawesome/pro-duotone-svg-icons/faFaceAnxiousSweat'
import { IconDefinition } from '@fortawesome/fontawesome-svg-core'

export type Mood = {
  label: string,
  color: string,
  icon: IconDefinition,
}

export type PossibleMood = 'happy' | 'sad' | 'angry' | 'disappointed' | 'empty' | 'sick' | 'scared' | 'pissed'

const happy = {
  label: 'Glücklich',
  color: 'happy',
  icon: faFaceSmile,
}

const sad = {
  label: 'Traurig',
  color: 'sad',
  icon: faFaceFrown,
}

const angry = {
  label: 'Wütend',
  color: 'angry',
  icon: faFacePouting,
}

const disappointed = {
  label: 'Enttäuscht',
  color: 'disappointed',
  icon: faFaceDisappointed,
}

const empty = {
  label: 'Leer',
  color: 'empty',
  icon: faFaceMeh,
}

const sick = {
  label: 'Krank',
  color: 'sick',
  icon: faFaceThermometer,
}

const scared = {
  label: 'Ängstlich',
  color: 'scared',
  icon: faFaceAnxiousSweat,
}

const pissed = {
  label: 'Genervt',
  color: 'pissed',
  icon: faFaceDowncastSweat,
}

export const moods : Record<PossibleMood, Mood> = {
  happy,
  sad,
  angry,
  disappointed,
  empty,
  sick,
  scared,
  pissed,
}