import { Socket } from "phoenix"; import { LiveSocket } from "phoenix_live_view"; import "phoenix_html"; import { Hooks } from "./hooks/index.js"; document.addEventListener("DOMContentLoaded", () => { const csrfToken = document .querySelector("meta[name='csrf-token']") .getAttribute("content"); const liveSocket = new LiveSocket("/live", Socket, { params: { _csrf_token: csrfToken }, hooks: Hooks, metadata: { keydown: (event) => ({ key: event.key, meta: event.metaKey, ctrl: event.ctrlKey, alt: event.altKey, shift: event.shiftKey, tag: event.target?.tagName || null, contentEditable: event.target?.isContentEditable || false }) } }); liveSocket.connect(); window.liveSocket = liveSocket; });