module Panda.Type.Theme where
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)
data ThemeData =
Name
| Container
| Header
| Navigation
| Main
| Sidebar
| Footer
| Css
| Js
deriving (Eq, 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.show_data) .fromJust
css_list s = s.parse_list.map (\x -> "/theme/" ++ at Name ++ "/css/" ++ x ++ ".css")
js_list s = s.parse_list.map (\x -> "/theme/" ++ at Name ++ "/js/" ++ x ++ ".js")
instance Default Theme where
def = Theme def def def def def def def def def