aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/reading/component/Index.scala
diff options
context:
space:
mode:
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)
+ )
+ )
+ )
+ }
+}