From 9376de223c8016728bd8b6f235a922610b47705d Mon Sep 17 00:00:00 2001 From: Arman Taherian Date: Wed, 17 Jul 2024 20:32:46 +0330 Subject: [PATCH 1/4] Add url to the editor --- src/esphome-main.ts | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/esphome-main.ts b/src/esphome-main.ts index f02411bb..34773b4b 100644 --- a/src/esphome-main.ts +++ b/src/esphome-main.ts @@ -12,7 +12,8 @@ class ESPHomeMainView extends LitElement { @property() logoutUrl?: string; - @state() private editing?: string; + private url = new URL(document.baseURI); + @state() private editing?: string = this.url.searchParams.get("edit") || undefined; protected render() { if (this.editing) { @@ -63,13 +64,25 @@ class ESPHomeMainView extends LitElement { protected firstUpdated(changedProps: PropertyValues): void { super.firstUpdated(changedProps); + document.body.addEventListener("edit-file", (ev) => { + this.url.searchParams.set("edit", ev.detail); + window.history.pushState({}, "", this.url.toString()); this.editing = ev.detail; }); + + window.addEventListener("popstate", () => { + const url = new URL(document.baseURI); + const editing = url.searchParams.get("edit") || undefined; + this.editing = editing; + }) + import("./editor/esphome-editor"); } private _handleEditorClose() { + this.url.searchParams.delete("edit"); + window.history.pushState({}, "", this.url.toString()); this.editing = undefined; } } From f89592f78de74ea0dec03eb9de267675988c8ed0 Mon Sep 17 00:00:00 2001 From: Arman Taherian Date: Thu, 18 Jul 2024 14:39:08 +0330 Subject: [PATCH 2/4] Fix TypeScript errors --- src/api/index.ts | 1 + src/util/console-color.ts | 2 +- src/wizard/wizard-dialog.ts | 4 ++-- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/api/index.ts b/src/api/index.ts index c93ed57c..afae3fa6 100644 --- a/src/api/index.ts +++ b/src/api/index.ts @@ -23,6 +23,7 @@ const fetchApiBase = async ( if (!options.headers) { options.headers = {}; } + // @ts-ignore options.headers["X-CSRFToken"] = csrfCookie; } const resp = await fetch(path, options); diff --git a/src/util/console-color.ts b/src/util/console-color.ts index eb4a19e7..68d5ef5e 100644 --- a/src/util/console-color.ts +++ b/src/util/console-color.ts @@ -28,7 +28,7 @@ export class ColoredConsole { } addLine(line: string) { - const re = /(?:\033|\\033)(?:\[(.*?)[@-~]|\].*?(?:\007|\033\\))/g; + const re = /(?:\x1b|\\033)(?:\[(.*?)[@-~]|\].*?(?:\x07|\x07\\))/g; let i = 0; if (this.state.carriageReturn) { diff --git a/src/wizard/wizard-dialog.ts b/src/wizard/wizard-dialog.ts index 7d19765b..d645314e 100644 --- a/src/wizard/wizard-dialog.ts +++ b/src/wizard/wizard-dialog.ts @@ -326,14 +326,14 @@ export class ESPHomeWizardDialog extends LitElement { ${Object.keys(supportedPlatforms).map((key) => - supportedPlatforms[key].showInDeviceTypePicker + supportedPlatforms[key as SupportedPlatforms].showInDeviceTypePicker ? html` - ${supportedPlatforms[key].label} + ${supportedPlatforms[key as SupportedPlatforms].label} ${metaChevronRight} ` From 67a572a3df22c0c80d390743e65b0bb02176d1c0 Mon Sep 17 00:00:00 2001 From: Arman Taherian Date: Thu, 18 Jul 2024 14:49:47 +0330 Subject: [PATCH 3/4] Fix prettier issue --- src/esphome-main.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/esphome-main.ts b/src/esphome-main.ts index 34773b4b..55bbc5a9 100644 --- a/src/esphome-main.ts +++ b/src/esphome-main.ts @@ -13,7 +13,8 @@ class ESPHomeMainView extends LitElement { @property() logoutUrl?: string; private url = new URL(document.baseURI); - @state() private editing?: string = this.url.searchParams.get("edit") || undefined; + @state() private editing?: string = + this.url.searchParams.get("edit") || undefined; protected render() { if (this.editing) { @@ -75,7 +76,7 @@ class ESPHomeMainView extends LitElement { const url = new URL(document.baseURI); const editing = url.searchParams.get("edit") || undefined; this.editing = editing; - }) + }); import("./editor/esphome-editor"); } From 4536ef4a88aadf966f7cfaebc4fa7d51c0038a0f Mon Sep 17 00:00:00 2001 From: Arman Taherian Date: Thu, 18 Jul 2024 14:51:25 +0330 Subject: [PATCH 4/4] Fix prettier issue --- src/wizard/wizard-dialog.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/wizard/wizard-dialog.ts b/src/wizard/wizard-dialog.ts index d645314e..507f0900 100644 --- a/src/wizard/wizard-dialog.ts +++ b/src/wizard/wizard-dialog.ts @@ -333,7 +333,10 @@ export class ESPHomeWizardDialog extends LitElement { .platform=${key} @click=${this._handlePickPlatformClick} > - ${supportedPlatforms[key as SupportedPlatforms].label} + ${supportedPlatforms[key as SupportedPlatforms] + .label} ${metaChevronRight} `