aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/reading/component/Index.scala
diff options
context:
space:
mode:
authorJoris2016-11-27 18:38:58 +0100
committerJoris2016-12-20 23:05:43 +0100
commitb780f6f660cc5b2ff2b1ca3884871002823256a1 (patch)
treec530166206743be1925688f8b3319c630208a695 /src/main/scala/reading/component/Index.scala
parent0aab7be2cf2cf73c62b305450902cdc3fe77cd4a (diff)
downloadreading-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.scala42
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)
+ )
+ )
+ )
+ }
+}