| 8820 | }); |
| 8821 | window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change", () => { |
| 8822 | term.options.theme = getTheme(); |
| 8823 | }); |
| 8824 | } |
| 8825 | function getWsUrl() { |
| 8826 | const proto = location.protocol === "https:" ? "wss:" : "ws:"; |
| 8827 | const url = new URL(`${proto}//${location.host}/ws`); |
| 8828 | const params = new URLSearchParams(location.search); |
| 8829 | const token = params.get("token") ?? localStorage.getItem("claude-terminal-token"); |
| 8830 | if (token) { |
| 8831 | url.searchParams.set("token", token); |
| 8832 | localStorage.setItem("claude-terminal-token", token); |
| 8833 | } |
| 8834 | url.searchParams.set("cols", String(term.cols)); |
| 8835 | url.searchParams.set("rows", String(term.rows)); |
| 8836 | return url.toString(); |
| 8837 | } |