module Common.Message.Key
  ( Key(..)
  ) where

import           Data.Text

data Key =

  App_Title

  | Category_Add
  | Category_Clone
  | Category_Color
  | Category_DeleteConfirm
  | Category_Edit
  | Category_Empty
  | Category_Name
  | Category_NotDeleted
  | Category_Title
  | Category_Used

  | Date_Long Int Text Int
  | Date_Short Int Int Int
  | Date_ShortMonthAndYear Int Int

  | Dialog_Confirm
  | Dialog_Undo

  | Error_CategoryCreate
  | Error_CategoryDelete
  | Error_CategoryEdit
  | Error_IncomeCreate
  | Error_IncomeDelete
  | Error_IncomeEdit
  | Error_PaymentCreate
  | Error_PaymentDelete
  | Error_PaymentEdit
  | Error_SignOut

  | Form_AlreadyExists
  | Form_NonEmpty
  | Form_MinChars Int
  | Form_NonNullNumber
  | Form_GreaterIntThan Int
  | Form_InvalidCategory
  | Form_InvalidColor
  | Form_InvalidDate
  | Form_InvalidInt
  | Form_InvalidString
  | Form_SmallerIntThan Int

  | HttpError_BadPayload
  | HttpError_BadUrl
  | HttpError_NetworkError
  | HttpError_Timeout

  | Income_AddLong
  | Income_AddShort
  | Income_Name
  | Income_Amount
  | Income_Clone
  | Income_CumulativeSince Text
  | Income_Date
  | Income_DeleteConfirm
  | Income_Edit
  | Income_Empty
  | Income_MonthlyNet
  | Income_Title

  | Month_January
  | Month_February
  | Month_March
  | Month_April
  | Month_May
  | Month_June
  | Month_July
  | Month_August
  | Month_September
  | Month_October
  | Month_November
  | Month_December

  | PageNotFound_Title

  | Payment_Add
  | Payment_Balanced
  | Payment_By Text Text
  | Payment_Category
  | Payment_CloneLong
  | Payment_CloneShort
  | Payment_Cost
  | Payment_Date
  | Payment_Delete
  | Payment_DeleteConfirm
  | Payment_EditLong
  | Payment_EditShort
  | Payment_Empty
  | Payment_Frequency
  | Payment_InvalidFrequency
  | Payment_Many
  | Payment_MonthlyFemale
  | Payment_MonthlyMale
  | Payment_Name
  | Payment_NotDeleted
  | Payment_One
  | Payment_PunctualFemale
  | Payment_PunctualMale
  | Payment_Title
  | Payment_User
  | Payment_Worth Text Text

  | Search_Monthly
  | Search_Name
  | Search_Punctual

  | Secure_Forbidden
  | Secure_Unauthorized

  | SignIn_Button
  | SignIn_DisconnectSuccess
  | SignIn_EmailInvalid
  | SignIn_EmailLabel
  | SignIn_EmailSendFail
  | SignIn_EmailSent
  | SignIn_LinkExpired
  | SignIn_LinkInvalid
  | SignIn_LinkUsed
  | SignIn_MailTitle
  | SignIn_MailBody Text Text
  | SignIn_ParseError

  | Statistic_Title
  | Statistic_ByMonthsAndMean Text
  | Statistic_Total

  | WeeklyReport_Empty
  | WeeklyReport_IncomesCreated Int
  | WeeklyReport_IncomesDeleted Int
  | WeeklyReport_IncomesEdited Int
  | WeeklyReport_IncomeCreated Int
  | WeeklyReport_IncomeDeleted Int
  | WeeklyReport_IncomeEdited Int
  | WeeklyReport_PayedFor Text Text Text Text
  | WeeklyReport_PayedForNot Text Text Text Text
  | WeeklyReport_PayedFrom Text Text Text
  | WeeklyReport_PayedFromNot Text Text Text
  | WeeklyReport_PaymentsCreated Int
  | WeeklyReport_PaymentsDeleted Int
  | WeeklyReport_PaymentsEdited Int
  | WeeklyReport_PaymentCreated Int
  | WeeklyReport_PaymentDeleted Int
  | WeeklyReport_PaymentEdited Int
  | WeeklyReport_Title

  | NotFound_Message
  | NotFound_LinkMessage