diff options
author | miraikumiko <miraikumiko@disroot.org> | 2025-04-21 10:26:21 +0200 |
---|---|---|
committer | miraikumiko <miraikumiko@disroot.org> | 2025-04-21 10:26:21 +0200 |
commit | fb01bbb290d37f491d603bdf015d994a39e153c7 (patch) | |
tree | fb60b98e20ae6896b08fc46fda6643d36a8a8b34 /assets/js | |
download | nulla-fb01bbb290d37f491d603bdf015d994a39e153c7.tar.gz nulla-fb01bbb290d37f491d603bdf015d994a39e153c7.tar.bz2 |
Init
Diffstat (limited to 'assets/js')
-rw-r--r-- | assets/js/app.js | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/assets/js/app.js b/assets/js/app.js new file mode 100644 index 0000000..d5e278a --- /dev/null +++ b/assets/js/app.js @@ -0,0 +1,44 @@ +// If you want to use Phoenix channels, run `mix help phx.gen.channel` +// to get started and then uncomment the line below. +// import "./user_socket.js" + +// You can include dependencies in two ways. +// +// The simplest option is to put them in assets/vendor and +// import them using relative paths: +// +// import "../vendor/some-package.js" +// +// Alternatively, you can `npm install some-package --prefix assets` and import +// them using a path starting with the package name: +// +// import "some-package" +// + +// Include phoenix_html to handle method=PUT/DELETE in forms and buttons. +import "phoenix_html" +// Establish Phoenix Socket and LiveView configuration. +import {Socket} from "phoenix" +import {LiveSocket} from "phoenix_live_view" +import topbar from "../vendor/topbar" + +let csrfToken = document.querySelector("meta[name='csrf-token']").getAttribute("content") +let liveSocket = new LiveSocket("/live", Socket, { + longPollFallbackMs: 2500, + params: {_csrf_token: csrfToken} +}) + +// Show progress bar on live navigation and form submits +topbar.config({barColors: {0: "#29d"}, shadowColor: "rgba(0, 0, 0, .3)"}) +window.addEventListener("phx:page-loading-start", _info => topbar.show(300)) +window.addEventListener("phx:page-loading-stop", _info => topbar.hide()) + +// connect if there are any LiveViews on the page +liveSocket.connect() + +// expose liveSocket on window for web console debug logs and latency simulation: +// >> liveSocket.enableDebug() +// >> liveSocket.enableLatencySim(1000) // enabled for duration of browser session +// >> liveSocket.disableLatencySim() +window.liveSocket = liveSocket + |