(defpackage :fwoar.default-layout
(:use :cl )
(:export
#:default-layout
#:border-color
#:background-color
#:text-color
#:link-color))
(in-package :fwoar.default-layout)
(defgeneric border-color (layout)
)
(defgeneric text-color (layout)
)
(defgeneric link-color (layout)
(:method (layout)
(text-color layout)))
(defgeneric background-color (layout)
)
(defclass default-layout ()
((%text-color :reader text-color :initform "#eee")
(%border-color :reader border-color :initform "#eee")
(%background-color :reader background-color :initform "#eee")))
(defmethod araneus:styles append ((layout default-layout))
`((body
:background ,(background-color layout)
:color ,(text-color layout)
:display flex
:flex-direction column
:min-height 100vh)
(a
:color ,(link-color layout))
(h1
:height 3em
:border-bottom 4px double ,(border-color layout)
:text-align center
:line-height 3em)
(div.main
:display flex
:width 100%
:flex-grow 1
:flex-shrink 1
)
(nav
:width 20rem
:display flex
:flex-grow 0
:flex-shrink 0
:flex-direction column)
((nav a)
:font-weight bold
:padding 1.5rem
:text-align right
:text-decoration underline)
((nav (:and a :hover))
:background ,(link-color layout)
:color ,(background-color layout))
(main
:border-left 4px double ,(border-color layout)
:flex-grow 1
:flex-shrink 1
:padding 1.5rem
:max-width 50em)
("#ic-debug-panel"
:background ,(background-color layout) !important
:color ,(text-color layout))
(("#ic-debug-panel" > *)
:background ,(background-color layout) !important
:color ,(text-color layout))))