ribosome-0.4.0.0: lib/Ribosome/Menu/Data/Menu.hs
module Ribosome.Menu.Data.Menu where
import Data.DeepLenses (DeepLenses(..))
import Ribosome.Menu.Data.FilteredMenuItem (FilteredMenuItem)
import Ribosome.Menu.Data.MenuItem (MenuItem)
newtype MenuFilter =
MenuFilter Text
deriving (Eq, Show)
instance Default MenuFilter where
def = MenuFilter ""
data Menu a =
Menu {
_items :: [MenuItem a],
_filtered :: [FilteredMenuItem a],
_selected :: Int,
_marked :: [Int],
_currentFilter :: MenuFilter,
_maxItems :: Maybe Int
}
deriving (Eq, Show, Generic, Default)
makeClassy ''Menu
instance DeepLenses (Menu a) (Menu a) where
deepLens = id