Cleanup menu options

This commit is contained in:
2022-05-25 23:06:47 +01:00
parent ba80bfd0ad
commit 34612822ae
3 changed files with 39 additions and 41 deletions
+3 -5
View File
@@ -4,17 +4,15 @@ import Dodge.Data
import Dodge.Menu.PushPop
import Control.Lens
makeBoolOption scode lns t = Toggle
scode
makeBoolOption lns t = Toggle
(return . Just . (config . lns #%~ not))
(\u -> Right (t , show (u ^# config . lns)))
makeEnumOption scode lns str sideeff = Toggle
scode
makeEnumOption lns str sideeff = Toggle
(\u -> Just <$> sideeff (u & config . lns #%~ cycleEnum) )
(\u -> Right (str , show (u ^# config . lns)) )
makeSubmenuOption scode submenu t = Toggle scode (pushScreen submenu) (const t)
makeSubmenuOption submenu t = Toggle (pushScreen submenu) (const t)
cycleEnum :: (Eq a, Enum a,Bounded a) => a -> a
cycleEnum x