diff options
Diffstat (limited to 'src/main/scala/reading/component/widget/Modal.scala')
-rw-r--r-- | src/main/scala/reading/component/widget/Modal.scala | 59 |
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}" - ) -} |