module Mensam.Client.UI.Brick.Events where
import Mensam.API.Data.Space
import Mensam.API.Route.Api.Reservation qualified as Route.Reservation
import Mensam.API.Route.Api.Space qualified as Route.Space
import Mensam.API.Route.Api.User qualified as Route.User
import Mensam.Client.OrphanInstances (Credentials)
import Data.Kind
type ClientEvent :: Type
data ClientEvent
= ClientEventExit
| ClientEventSwitchToScreenLogin
| ClientEventSwitchToScreenRegister
| ClientEventSwitchToScreenSpaces
| ClientEventSwitchToScreenDesks Space
|
| ClientEventSendRequestLogin Credentials
| ClientEventSendRequestLogout
| ClientEventSendRequestRegister Route.User.RequestRegister
| ClientEventSendRequestCreateSpace Route.Space.RequestSpaceCreate
| ClientEventSendRequestCreateDesk Space Route.Space.RequestDeskCreate
| ClientEventSendRequestCreateReservation Space Route.Reservation.RequestReservationCreate
deriving stock (ClientEvent -> ClientEvent -> Bool
(ClientEvent -> ClientEvent -> Bool)
-> (ClientEvent -> ClientEvent -> Bool) -> Eq ClientEvent
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: ClientEvent -> ClientEvent -> Bool
== :: ClientEvent -> ClientEvent -> Bool
$c/= :: ClientEvent -> ClientEvent -> Bool
/= :: ClientEvent -> ClientEvent -> Bool
Eq, Eq ClientEvent
Eq ClientEvent =>
(ClientEvent -> ClientEvent -> Ordering)
-> (ClientEvent -> ClientEvent -> Bool)
-> (ClientEvent -> ClientEvent -> Bool)
-> (ClientEvent -> ClientEvent -> Bool)
-> (ClientEvent -> ClientEvent -> Bool)
-> (ClientEvent -> ClientEvent -> ClientEvent)
-> (ClientEvent -> ClientEvent -> ClientEvent)
-> Ord ClientEvent
ClientEvent -> ClientEvent -> Bool
ClientEvent -> ClientEvent -> Ordering
ClientEvent -> ClientEvent -> ClientEvent
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
$ccompare :: ClientEvent -> ClientEvent -> Ordering
compare :: ClientEvent -> ClientEvent -> Ordering
$c< :: ClientEvent -> ClientEvent -> Bool
< :: ClientEvent -> ClientEvent -> Bool
$c<= :: ClientEvent -> ClientEvent -> Bool
<= :: ClientEvent -> ClientEvent -> Bool
$c> :: ClientEvent -> ClientEvent -> Bool
> :: ClientEvent -> ClientEvent -> Bool
$c>= :: ClientEvent -> ClientEvent -> Bool
>= :: ClientEvent -> ClientEvent -> Bool
$cmax :: ClientEvent -> ClientEvent -> ClientEvent
max :: ClientEvent -> ClientEvent -> ClientEvent
$cmin :: ClientEvent -> ClientEvent -> ClientEvent
min :: ClientEvent -> ClientEvent -> ClientEvent
Ord, Int -> ClientEvent -> ShowS
[ClientEvent] -> ShowS
ClientEvent -> String
(Int -> ClientEvent -> ShowS)
-> (ClientEvent -> String)
-> ([ClientEvent] -> ShowS)
-> Show ClientEvent
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> ClientEvent -> ShowS
showsPrec :: Int -> ClientEvent -> ShowS
$cshow :: ClientEvent -> String
show :: ClientEvent -> String
$cshowList :: [ClientEvent] -> ShowS
showList :: [ClientEvent] -> ShowS
Show)