aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/reading/component/widget/Modal.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/scala/reading/component/widget/Modal.scala')
-rw-r--r--src/main/scala/reading/component/widget/Modal.scala59
1 files changed, 0 insertions, 59 deletions
diff --git a/src/main/scala/reading/component/widget/Modal.scala b/src/main/scala/reading/component/widget/Modal.scala
deleted file mode 100644
index db1f7e6..0000000
--- a/src/main/scala/reading/component/widget/Modal.scala
+++ /dev/null
@@ -1,59 +0,0 @@
-package reading.component.widget
-
-import scala.util.Random
-
-import org.scalajs.dom.raw.HTMLElement
-import scalacss.Defaults._
-import scalacss.ScalatagsCss._
-import scalatags.JsDom.all._
-
-import reading.component.widget.style.{ Modal => ModalStyle }
-
-object Modal {
- def apply(onClose: => Unit)(content: Frag): Frag = {
- val modalId = s"modal${Random.nextInt}"
-
- Animate(
- id = modalId,
- duration = 250,
- transition = Transition.easeOut,
- animate =
- (progress, element) => {
- element.style.opacity = s"$progress"
- element.childNodes(2) match {
- case e: HTMLElement => e.style.transform = s"scale(${0.85 + 0.15 * progress})"
- }
- }
- )
-
- div(
- ModalStyle.render,
- ModalStyle.modal,
- id := modalId,
-
- div(
- ModalStyle.curtain,
- onclick := (() => close(modalId, onClose))
- ),
-
- div(
- ModalStyle.content,
- content,
- button(
- ModalStyle.close,
- onclick := (() => close(modalId, onClose)),
- "Fermer"
- )
- )
- )
- }
-
- private def close(modalId: String, onClose: => Unit): Unit =
- Animate(
- id = modalId,
- duration = 300,
- transition = Transition.linear,
- onEnd = onClose,
- animate = (progress, element) => element.style.opacity = s"${1 - progress}"
- )
-}