import { CircleDate } from './CircleDate'
import { FlatDate } from './FlatDate'
import { TextCalendarDate } from './TextCalendarDate'
import { TextDate } from './TextDate'
import { OutlineDate } from './OutlineDate'

const itemStyles = {
  calendarFlat: FlatDate,
  calendarText: TextCalendarDate,
  circle: CircleDate,
  text: TextDate,
  outlines: OutlineDate
}

interface Props {
  style: keyof typeof itemStyles,
  day: number,
  month: number,
  data: VixonicData
}

export const AnniversaryDate = ({ style, day, month, data }: Props) => {
  const StyledItem = itemStyles.hasOwnProperty(style) ? itemStyles[style] : itemStyles.text
  return (
    <StyledItem day={day} month={month} data={data} />
  )
}
