30 lines
1,012 B
JavaScript
30 lines
1,012 B
JavaScript
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;
|