diff options
author | Joris | 2016-11-27 18:38:58 +0100 |
---|---|---|
committer | Joris | 2016-12-20 23:05:43 +0100 |
commit | b780f6f660cc5b2ff2b1ca3884871002823256a1 (patch) | |
tree | c530166206743be1925688f8b3319c630208a695 /src/main/scala/reading/component/Index.scala | |
parent | 0aab7be2cf2cf73c62b305450902cdc3fe77cd4a (diff) | |
download | reading-b780f6f660cc5b2ff2b1ca3884871002823256a1.tar.gz reading-b780f6f660cc5b2ff2b1ca3884871002823256a1.tar.bz2 reading-b780f6f660cc5b2ff2b1ca3884871002823256a1.zip |
Init
Diffstat (limited to 'src/main/scala/reading/component/Index.scala')
-rw-r--r-- | src/main/scala/reading/component/Index.scala | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/src/main/scala/reading/component/Index.scala b/src/main/scala/reading/component/Index.scala new file mode 100644 index 0000000..28d9081 --- /dev/null +++ b/src/main/scala/reading/component/Index.scala @@ -0,0 +1,42 @@ +package reading.component + +import rx._ +import Ctx.Owner.Unsafe._ + +import scalatags.JsDom.all._ +import scalacss.Defaults._ +import scalacss.ScalatagsCss._ + +import reading.component.style.{Index => IndexStyle} +import reading.component.index.{FiltersMenu, Filters, Books} +import reading.models.{Book, Filter} +import reading.utils.RxAttr + +object Index { + def apply(): Frag = { + val filters: Var[Seq[Filter]] = Var(Nil) + val books: Rx[Seq[Book]] = Rx { + if(filters().isEmpty) Book.all else Book.filter(Book.all, filters()) + } + + div( + IndexStyle.render, + + button( + IndexStyle.header, + RxAttr(onclick, Rx(() => filters() = Nil)), + "Conseils de lecture" + ), + + div( + IndexStyle.page, + FiltersMenu(books, filters), + div( + IndexStyle.main, + Filters(filters), + Books(books) + ) + ) + ) + } +} |