import { Socket } from "phoenix"; import { LiveSocket } from "phoenix_live_view"; import topbar from "topbar"; let csrfToken = document .querySelector("meta[name='csrf-token']") .getAttribute("content"); let liveSocket = new LiveSocket("/live", Socket, { params: { _csrf_token: csrfToken }, }); // Show progress bar on live navigation and form submits topbar.config({ barColors: { 0: "#3B82F6" }, shadowColor: "rgba(0, 0, 0, .3)", }); window.addEventListener("phx:page-loading-start", (info) => topbar.show()); 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) // The latency simulator is enabled for the duration of the browser session. // Call disableLatencySim() to disable: // >> liveSocket.disableLatencySim() window.liveSocket = liveSocket;