module Villefort.Definitions (VConfig (..),Weekly(..),Task(..),Date(..),defTask) where -- | Villefort Configuration data data VConfig = VConfig { daily :: [IO Task], monthly :: [IO Task], yearly :: [IO Task], weekly :: Weekly, colors :: [String], port :: Int, noCustom :: Bool, showDatabase :: Bool, database :: String, dailyPollFrequency :: Integer } -- | Villefort Weekly task datatype data Weekly = Weekly { monday :: [IO Task], tuesday :: [IO Task], wednesday :: [IO Task], thursday :: [IO Task], friday :: [IO Task], saturday :: [IO Task], sunday ::[IO Task] } data Date = Date {year :: String, -- | The specific date you want a task to be on month :: String, day :: String } | Offset {offset :: Int} -- | The number of days in the future you want the task to be due on | Today -- | Make the task due today deriving (Show,Eq) -- | Villefort's internal representation of Tasks data Task = Task {title :: String, description :: String, subject :: String, due :: Date} deriving (Show,Eq) defTask :: Task defTask = Task "" "" "" Today