Theme Datatype complete

This commit is contained in:
SJost 2018-06-19 10:09:37 +02:00
parent cc9d0a7b9a
commit 171f62ad8a

View File

@ -12,6 +12,8 @@ module Model.Types where
import ClassyPrelude import ClassyPrelude
import Utils import Utils
import Data.Map (Map)
import qualified Data.Map as Map
import Data.Fixed import Data.Fixed
import Database.Persist.TH import Database.Persist.TH
@ -23,7 +25,7 @@ import Web.HttpApiData
import Data.Text (Text) import Data.Text (Text)
import qualified Data.Text as Text import qualified Data.Text as Text
import Text.Read (readMaybe) import Text.Read (readMaybe,readsPrec)
-- import Data.CaseInsensitive (CI) -- import Data.CaseInsensitive (CI)
import qualified Data.CaseInsensitive as CI import qualified Data.CaseInsensitive as CI
@ -183,6 +185,7 @@ data StudyFieldType = FieldPrimary | FieldSecondary
derivePersistField "StudyFieldType" derivePersistField "StudyFieldType"
-- Skins / Themes
data Theme data Theme
= Default = Default
| NeutralBlue | NeutralBlue
@ -190,17 +193,21 @@ data Theme
| MintGreen | MintGreen
| SkyLove | SkyLove
deriving (Eq,Ord,Bounded,Enum) deriving (Eq,Ord,Bounded,Enum)
$(deriveShowTheme ''Theme) $(deriveShowTheme ''Theme)
allThemes :: [Theme] allThemes :: [Theme]
allThemes = [minBound..maxBound] allThemes = [minBound..maxBound]
-- instance Show Theme where readTheme :: Map String Theme
-- show Default = "default" readTheme = Map.fromList [ (show t,t) | t <- allThemes ]
--
instance Read Theme where
-- readPrec = undefined
readsPrec _ s
-- derivePersistField "Theme" | (Just t) <- (Map.lookup s readTheme) = [(t,"")]
| otherwise = []
derivePersistField "Theme"