module CLI ( submitLogInteractive ) where import Control.Monad import Text.Printf import Config import Jira askToConfirm :: [WorkLog] -> IO Bool askToConfirm workLog = do putStrLn "Will log following items:" mapM_ (putStrLn . sitem) workLog putStrLn "OK? (y/n)" r <- getLine return $ r == "y" sitem :: WorkLog -> String sitem workLog = " * " ++ show workLog submitLogInteractive :: Config -> [WorkLog] -> IO () submitLogInteractive config workLog = do confirmed <- askToConfirm workLog when confirmed $ do logWork config workLog printf "Work logged. Find your timesheet at https://%s/secure/TempoUserBoard!timesheet.jspa\n" (getJiraHost config) unless confirmed $ putStrLn "Abort. Nothing logged."