class home

pull/5932/head
Thibault Duplessis 2020-01-17 20:44:08 -06:00
parent 0ff2435307
commit 98d55472bf
4 changed files with 52 additions and 6 deletions

View File

@ -6,13 +6,23 @@ import lila.app._
import views._
final class Clas(
env: Env
env: Env,
prismicC: Prismic
) extends LilaController(env) {
def index = Secure(_.Teacher) { implicit ctx => me =>
WithTeacher(me) { t =>
env.clas.api.clas.of(t.teacher) map { classes =>
Ok(views.html.clas.clas.index(classes))
def index = Open { implicit ctx =>
ctx.me.ifTrue(isGranted(_.Teacher)).ifFalse(getBool("home")).map { me =>
WithTeacher(me) { t =>
env.clas.api.clas.of(t.teacher) map { classes =>
Ok(views.html.clas.clas.index(classes))
}
}
} | {
pageHit
prismicC getBookmark "class" map {
_ ?? {
case (doc, resolver) => Ok(views.html.clas.clas.home(doc, resolver))
}
}
}
}

View File

@ -11,6 +11,28 @@ import controllers.routes
object clas {
def home(doc: io.prismic.Document, resolver: io.prismic.DocumentLinkResolver)(implicit ctx: Context) =
views.html.base.layout(
moreCss = frag(
cssTag("page"),
cssTag("clas")
),
title = ~doc.getText("doc.title")
) {
main(cls := "page-small box box-pad page clas-home")(
h1(doc.getText("doc.title")),
div(cls := "clas-home__doc")(
raw(~doc.getHtml("doc.content", resolver))
),
div(cls := "clas-home__onboard")(
button(cls := "button button-fat disabled", disabled)(
"Apply for Lichess Teacher now"
),
p("Only on invitation for now! We will take applications soon.")
)
)
}
def index(classes: List[Clas])(implicit ctx: Context) =
bits.layout("Lichess Classes", Right("classes"))(
cls := "clas-index",

View File

@ -9,7 +9,7 @@ object page {
def apply(doc: io.prismic.Document, resolver: io.prismic.DocumentLinkResolver)(implicit ctx: Context) =
views.html.base.layout(
moreCss = cssTag("page"),
title = s"${~doc.getText("doc.title")}"
title = ~doc.getText("doc.title")
) {
main(cls := "page-small box box-pad page")(
h1(doc.getText("doc.title")),

View File

@ -222,3 +222,17 @@ $clas-color: rgb(127, 90, 240);
}
}
}
.clas-home {
&__doc {
margin-bottom: 4em;
}
&__onboard {
text-align: center;
.button {
margin-bottom: 1em;
}
}
}