module Mensam.Client.UI.Brick.Names where

import Mensam.API.Data.Space

import Data.Kind
import Data.Time.Zones.All qualified as T

type ClientName :: Type
data ClientName
  = ClientNameLoginUsername
  | ClientNameLoginPassword
  | ClientNameRegisterUsername
  | ClientNameRegisterPassword
  | ClientNameRegisterEmail
  | ClientNameRegisterEmailVisible
  | ClientNameSpacesList
  | ClientNameSpacesNewSpaceName
  | ClientNameSpacesNewSpaceTimezone T.TZLabel
  | ClientNameSpacesNewSpaceVisibility VisibilitySpace
  | ClientNameDesksNewDeskName
  | ClientNameDesksReservationsViewport
  | ClientNameDesksNewReservationDesk
  | ClientNameDesksNewReservationTimeBegin
  | ClientNameDesksNewReservationTimeEnd
  | ClientNameMenuList
  | ClientNamePopupButton
  deriving stock (ClientName -> ClientName -> Bool
(ClientName -> ClientName -> Bool)
-> (ClientName -> ClientName -> Bool) -> Eq ClientName
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: ClientName -> ClientName -> Bool
== :: ClientName -> ClientName -> Bool
$c/= :: ClientName -> ClientName -> Bool
/= :: ClientName -> ClientName -> Bool
Eq, Eq ClientName
Eq ClientName =>
(ClientName -> ClientName -> Ordering)
-> (ClientName -> ClientName -> Bool)
-> (ClientName -> ClientName -> Bool)
-> (ClientName -> ClientName -> Bool)
-> (ClientName -> ClientName -> Bool)
-> (ClientName -> ClientName -> ClientName)
-> (ClientName -> ClientName -> ClientName)
-> Ord ClientName
ClientName -> ClientName -> Bool
ClientName -> ClientName -> Ordering
ClientName -> ClientName -> ClientName
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 :: ClientName -> ClientName -> Ordering
compare :: ClientName -> ClientName -> Ordering
$c< :: ClientName -> ClientName -> Bool
< :: ClientName -> ClientName -> Bool
$c<= :: ClientName -> ClientName -> Bool
<= :: ClientName -> ClientName -> Bool
$c> :: ClientName -> ClientName -> Bool
> :: ClientName -> ClientName -> Bool
$c>= :: ClientName -> ClientName -> Bool
>= :: ClientName -> ClientName -> Bool
$cmax :: ClientName -> ClientName -> ClientName
max :: ClientName -> ClientName -> ClientName
$cmin :: ClientName -> ClientName -> ClientName
min :: ClientName -> ClientName -> ClientName
Ord, Int -> ClientName -> ShowS
[ClientName] -> ShowS
ClientName -> String
(Int -> ClientName -> ShowS)
-> (ClientName -> String)
-> ([ClientName] -> ShowS)
-> Show ClientName
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> ClientName -> ShowS
showsPrec :: Int -> ClientName -> ShowS
$cshow :: ClientName -> String
show :: ClientName -> String
$cshowList :: [ClientName] -> ShowS
showList :: [ClientName] -> ShowS
Show)