{-# LANGUAGE DeriveGeneric #-} module Model.Message.Key ( Key(..) ) where import qualified Data.Aeson as Json import qualified Data.Text as T data Key = -- Title SharedCost -- Sign | Email | SignIn | SendEmailFail | InvalidEmail | UnauthorizedSignIn | Forbidden | EnterValidEmail | SignInUsed | SignInExpired | SignInInvalid | SignInMailTitle | SignInMail | SignInEmailSent -- Dates | January | February | March | April | May | June | July | August | September | October | November | December | ShortDate | ShortMonthAndYear | LongDate -- Search | SearchName | SearchPunctual | SearchMonthly -- Payments | PaymentsAreBalanced | Name | Cost | Payer | Date | Frequency | InvalidFrequency | AddPayment | ClonePayment | EditPayment | PaymentNotDeleted | Punctual | Monthly | PaymentsTitle | Payment | Payments | Worth | NoPayment | PaymentName | PaymentCost | PaymentDate | PaymentCategory | PaymentPunctual | PaymentMonthly | Clone | Edit | Delete | ConfirmPaymentDelete -- Categories | Categories | NoCategories | CategoryNotDeleted | AddCategory | CloneCategory | EditCategory | ConfirmCategoryDelete | CategoryName | CategoryColor | Color | UsedCategory -- Statistics | Statistics | ByMonthsAndMean | By | Total -- Income | CumulativeIncomesSince | NoIncome | Income | MonthlyNetIncomes | AddIncome | CloneIncome | EditIncome | IncomeNotDeleted | IncomeAmount | IncomeDate | ConfirmIncomeDelete | Add -- Form | Empty | InvalidString | InvalidDate | CostMustNotBeNull | InvalidInt | InvalidCategory | InvalidColor | AlreadyExists | SmallerIntThan | GreaterIntThan -- Errors | CreatePaymentError | EditPaymentError | DeletePaymentError | CreateIncomeError | EditIncomeError | DeleteIncomeError | CreateCategoryError | EditCategoryError | DeleteCategoryError | SignOutError -- Dialog | Confirm | Undo -- Page not found | PageNotFound -- Weekly report | WeeklyReport | WeeklyReportEmpty | PaymentCreated | PaymentsCreated | PaymentEdited | PaymentsEdited | PaymentDeleted | PaymentsDeleted | IncomeCreated | IncomesCreated | IncomeEdited | IncomesEdited | IncomeDeleted | IncomesDeleted | PayedFor | DidNotPayFor | IsPayedFrom | IsNotPayedFrom -- Http error | BadUrl | Timeout | NetworkError | BadPayload deriving (Enum, Bounded, Show) instance Json.ToJSON Key where toJSON = Json.String . T.pack . show