Theme Datatype complete
This commit is contained in:
parent
cc9d0a7b9a
commit
171f62ad8a
@ -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"
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user