diff --git a/raw_package/index.template.html b/raw_package/index.template.html index af9a6cd8..dc3f3a46 100644 --- a/raw_package/index.template.html +++ b/raw_package/index.template.html @@ -8,6 +8,7 @@ {% end %} diff --git a/src/components/remote-process.ts b/src/components/remote-process.ts index 60f6d221..2af496e7 100644 --- a/src/components/remote-process.ts +++ b/src/components/remote-process.ts @@ -3,6 +3,10 @@ import { StreamError, streamLogs } from "../api"; import { ColoredConsole, coloredConsoleStyles } from "../util/console-color"; import { fireEvent } from "../util/fire-event"; +export class ESPHomeBlurSecrets { + public static enabled = false; +} + @customElement("esphome-remote-process") class ESPHomeRemoteProcess extends HTMLElement { public type!: "validate" | "logs" | "upload" | "clean-mqtt" | "clean"; @@ -28,7 +32,9 @@ class ESPHomeRemoteProcess extends HTMLElement { } ${coloredConsoleStyles} -
+
`; const coloredConsole = new ColoredConsole(shadowRoot.querySelector("div")!); diff --git a/src/editor/esphome-editor.ts b/src/editor/esphome-editor.ts index 97baa164..aac8dc0b 100644 --- a/src/editor/esphome-editor.ts +++ b/src/editor/esphome-editor.ts @@ -1,6 +1,6 @@ import * as monaco from "monaco-editor/esm/vs/editor/editor.api"; import { LitElement, html } from "lit"; -import { customElement, property, query } from "lit/decorators.js"; +import { customElement, property, query, state } from "lit/decorators.js"; import "@material/mwc-dialog"; import "@material/mwc-button"; import "@material/mwc-snackbar"; @@ -12,6 +12,7 @@ import type { Snackbar } from "@material/mwc-snackbar"; import { fireEvent } from "../util/fire-event"; import { debounce } from "../util/debounce"; import "./monaco-provider"; +import "./streamer-warning"; // WebSocket URL Helper const loc = window.location; @@ -25,6 +26,33 @@ const darkQuery: MediaQueryList = window.matchMedia( "(prefers-color-scheme: dark)" ); +const commonStyle = html` + +`; + @customElement("esphome-editor") class ESPHomeEditor extends LitElement { private editor?: monaco.editor.IStandaloneCodeEditor; @@ -34,42 +62,25 @@ class ESPHomeEditor extends LitElement { private editorActiveSecrets = false; @property() public fileName!: string; + @property({ type: Boolean }) streamerMode = false; @query("mwc-snackbar", true) private _snackbar!: Snackbar; @query("main", true) private container!: HTMLElement; @query(".esphome-header", true) private editor_header!: HTMLElement; + @state() private _showSecrets = false; createRenderRoot() { return this; } - protected render() { - const isSecrets = - this.fileName === "secrets.yaml" || this.fileName === "secrets.yml"; + private _isSecrets() { + return this.fileName === "secrets.yaml" || this.fileName === "secrets.yml"; + } + protected render() { + const isSecrets = this._isSecrets(); return html` + ${commonStyle}