diff -r 1a1347e8c5be -r de7c56ce0654 base/src/sqwl/cms/Layout.scala --- a/base/src/sqwl/cms/Layout.scala Thu Nov 29 12:20:20 2018 +0100 +++ b/base/src/sqwl/cms/Layout.scala Tue Dec 04 12:35:12 2018 +0100 @@ -1,13 +1,31 @@ package sqwl.cms +import BuildInfo.versions +import scalatags.Text.all import scalatags.Text.all._ import scalatags.Text.tags2 import scalatags.Text.TypedTag +import sqwl.cms.layout.Navbar -object Layout { +object Layout extends config { + + lazy val bootstrapCss = s"/${http.prefix}/assets/bootstrap/${versions.bootstrap}/css/bootstrap.min.css" + lazy val bootstrapJs = s"/${http.prefix}/assets/bootstrap/${versions.bootstrap}/js/bootstrap.min.js" + lazy val fontAwesomeCss = s"/${http.prefix}/assets/font-awesome/${versions.fontAwesome}/css/all.min.css" + lazy val siteCss = s"/${http.prefix}/public/css/site.css?${BuildInfo.hgId}" + lazy val jquery = s"/${http.prefix}/assets/jquery/${versions.jquery}/jquery.min.js" + def apply(content: iContent, st: ViewState): TypedTag[String] = { html( head( + tags2.style(""" + |.nav, .pagination, .carousel, .panel-title a, .panel a { cursor: pointer; }""".stripMargin), + meta(charset:="utf-8"), + meta(name:="viewport", all.content:="width=device-width, initial-scale=1"), + link(rel:="stylesheet", href:=bootstrapCss), + link(rel:="stylesheet", href:=fontAwesomeCss), + link(rel:="stylesheet", href:=siteCss), + link(rel:="icon", href:="favicon.ico"), tags2.title(st match { case ViewArticle(v) => v.title case ViewCategory(v) => v.name @@ -15,21 +33,21 @@ case Dashboard => "SQWL" case News => "Novinky" }) - ), - body( - div("foo"), - st match { - case ViewArticle(article) => div( - a(href:=article.pathSegment, article.title), - raw(article.htmlContent) - ) - case _ => "" - }, - div( - content.categories map(c => div(a(href:=c.pathSegment, c.name))) - ) - + body(paddingTop:=120, + Navbar(content, st), + div(role:="main", cls:="container", + st match { + case ViewArticle(article) => div( + a(href:=article.pathSegment, article.title), + raw(article.htmlContent) + ) + case _ => "" + } + ), + footer(id:="footer", p(raw(" "))), + script(src:=jquery), + script(src:=bootstrapJs) ) ) }