package com.weEat import com.tflucke.webroutes.Headers import com.weEat.view.View import com.weEat.modules.Navbar import org.querki.jquery.{JQueryStatic => $} import org.scalajs.dom.{document,window} import org.scalajs.dom.raw.HTMLInputElement import scala.concurrent.ExecutionContext.Implicits.global object Main { implicit def headers = Headers(Seq( csrfHeader, OAuthManager.authHeader ).flatten.toMap) /* Get the CSRF token embedded in the HTML page. This token will implicitly * be passed to Rest RPC. */ val csrfSelector = "input[name=\"csrfToken\"]" def csrfHeader = Option(document.querySelector(csrfSelector)).map({ x => ("Csrf-Token" -> x.asInstanceOf[HTMLInputElement].value) }) def main(args: Array[String]): Unit = { import org.scalajs.dom.experimental.URLSearchParams OAuthManager.refreshToken() $("#btn-login").click(OAuthManager.promptLogin _) $("#btn-signup").click(OAuthManager.promptSignup _) $("#btn-logout").click(OAuthManager.logout _) val navbar = Navbar(View.authedIndex) mhtml.mount( document.getElementById("navbarNav"), navbar.render ) val params = new URLSearchParams(window.location.search) navbar.renderView(View.fromTag(params.get("t"))) } }