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

data Key =

  -- Title

  SharedCost

  -- Mail

  | NoReplyMail

  -- Sign

  | SignIn
  | InvalidEmail
  | UnauthorizedSignIn
  | ErrorSignIn

  -- Dates

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

  | ShortDate
  | LongDate

  -- Validation

  | CategoryRequired
  | CostRequired
  | IncomeRequired
  | IncomeMustBeNonNullNumber
  | IncomeMustBePositiveNumber

  -- Payments

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

  -- Income

  | Income
  | NoIncome
  | Edit
  | Validate
  | Undo
  | NewIncome

  deriving (Enum, Bounded, Show)