module Villefort.Config  (defaultConfig) where

import Villefort.Definitions (VConfig(..)
                             , daily
                             , monthly
                             , yearly
                             , weekly
                             , port
                             , noCustom
                             , showDatabase
                             , colors
                             , database
                             , Weekly(..)
                             , monday
                             , tuesday
                             , wednesday
                             , thursday
                             , friday
                             , saturday
                             , sunday)

-- | Default configuration of VConfig
defaultConfig :: VConfig
defaultConfig = VConfig {
  daily =  [return []], -- tasks that get added daily
  monthly =[return []], -- tasks that get added on the first of each month
  yearly  =[return []], -- taksks that get added on the first of the year
  weekly = defWeekly, -- tasks to run on a given week day
  port = 3002, -- port number
  noCustom = False, -- flag for debugging stops launching custom executable
  showDatabase = False, -- optionally prints database path
  colors = defColors, -- Colors to use first is closest task
  database = [] -- sets path to database useful to have database in your custom path
              }
-- | Default weekly schedule by default is empty
defWeekly :: Weekly
defWeekly = Weekly {
  monday = [return []],
  tuesday =[return[]],
  wednesday = [return[]],
  thursday = [return[]],
  friday  = [return[]],
  saturday = [return[]],
  sunday  = [return []]
                   }
-- | Default colors for Villefort
defColors :: [String]
defColors = ["#0d47a1" -- tasks due today and earlier
            ,"#1565c0" -- tasks due tomorrow
            ,"#1976d2" -- tasks due in 2 days
            ,"#1e88e5" -- tasks due in 3 days
            ,"#2196f3" -- tasks due in 4 days
            ,"#42a5f5" -- tasks due in 5 days
            ,"#64b5f6" -- tasks due in 6 days
            ,"#90caf9"]