module Panda.Type.Theme where import Prelude hiding ((.)) import Panda.Helper.Env hiding (name, header) data Theme = Theme { name :: String , container :: String , header :: String , navigation :: String , main :: String , sidebar :: String , footer :: String , css :: [String] , js :: [String] } deriving (Show, Read) to_theme xs = Theme { name = at "name" , container = at "container" , header = at "header" , navigation = at "navigation" , main = at "main" , sidebar = at "sidebar" , footer = at "footer" , css = at "css" .css_list , js = at "js" .js_list } where at s = xs.lookup s .fromJust css_list s = s.parse_config.map (\x -> "/theme/" ++ at "name" ++ "/css/" ++ x ++ ".css") js_list s = s.parse_config.map (\x -> "/theme/" ++ at "name" ++ "/js/" ++ x ++ ".js") blank_theme = Theme { name = "" , container = "" , header = "" , navigation = "" , main = "" , sidebar = "" , footer = "" , css = [""] , js = [""] }