diff --git a/src/Dodge/Menu.hs b/src/Dodge/Menu.hs index 94e9dea04..011df5199 100644 --- a/src/Dodge/Menu.hs +++ b/src/Dodge/Menu.hs @@ -51,12 +51,12 @@ seedStartOptions = trySeedFromClipboard :: Universe -> IO (Maybe Universe) trySeedFromClipboard u = do mcstr <- getClipboardString - case mcstr of - Nothing -> pushScreen (seedStartMenu "INPUT UNUSABLE") (u & menuLayers %~ tail) - Just str -> do - case readMaybe str of - Nothing -> pushScreen (seedStartMenu "INPUT UNUSABLE") (u & menuLayers %~ tail) - Just i -> return . Just $ startSeedGame i u + case mcstr >>= readMaybe of + Nothing -> sayinputunusable + Just i -> return . Just $ startSeedGame i u + where + sayinputunusable = pushScreen (seedStartMenu "INPUT UNUSABLE, EXPECTING INTEGER") + (u & menuLayers %~ tail) slTitleOptions :: String -> [MenuOption] -> ScreenLayer slTitleOptions title ops = slTitleOptionsEff title ops (popScreen . writeConfig)