module Model.Message.Key
  ( Key(..)
  ) where

data Key =

  -- Mail

  NoReplyMail

  -- Sign in

  | SharedCost
  | SignIn
  | SendEmailFail
  | Unauthorized
  | EnterValidEmail
  | SignInUsed
  | SignInExpired
  | SignInInvalid
  | SignInMailTitle
  | HiMail
  | SignInLinkMail
  | SignInEmailSent

  -- Dates

  | January
  | February
  | March
  | April
  | May
  | June
  | July
  | August
  | September
  | October
  | November
  | December

  | ShortDate
  | LongDate

  -- Validation

  | CategoryRequired
  | CostRequired
  | CostMustBeNonNullNumber

  -- Payments

  | Add
  | PaymentNotDeleted
  | MoneySymbol
  | Punctual
  | Monthly
  | SingularMonthlyCount
  | PluralMonthlyCount

  deriving (Enum, Bounded, Show)