From e1efc08a7bcc075fea34758fb13c3e15a24ed03d Mon Sep 17 00:00:00 2001 From: Viet Ngoc Date: Thu, 29 Aug 2024 19:05:33 +0200 Subject: [PATCH] refactor: Update VehicleCardEditor to improve UI rendering and add language selection --- src/editor.ts | 125 +++++++++++++++++++++++++++----------------------- 1 file changed, 67 insertions(+), 58 deletions(-) diff --git a/src/editor.ts b/src/editor.ts index 2f0ba65..99b6cec 100644 --- a/src/editor.ts +++ b/src/editor.ts @@ -144,7 +144,7 @@ export class VehicleCardEditor extends LitElement implements LovelaceCardEditor
${this._renderNameEntityForm()} ${this._renderCardEditorButtons()} ${this._renderMapPopupConfig()} ${this._renderImageConfig()} ${this._renderServicesConfig()} ${this._renderThemesConfig()} - ${this._renderSwitches()} ${this._renderVersionInfo()} + ${this._renderShowOptions()} ${this._renderVersionInfo()}
`; } @@ -336,7 +336,8 @@ export class VehicleCardEditor extends LitElement implements LovelaceCardEditor @click=${() => { this._activeSubcardType = card.type; }} - >${card.name} + ${card.name} ` )} @@ -345,7 +346,7 @@ export class VehicleCardEditor extends LitElement implements LovelaceCardEditor return this.panelTemplate('buttonConfig', 'buttonConfig', 'mdi:view-dashboard', subcardBtns); } - private _renderSwitches(): TemplateResult { + private _renderShowOptions(): TemplateResult { let showOptions = editorShowOpts(this._selectedLanguage); // Filter out the enable_map_popup option @@ -423,38 +424,40 @@ export class VehicleCardEditor extends LitElement implements LovelaceCardEditor ]; const themesConfig = html` - ev.stopPropagation()} - > - ${langOpts.map( - (lang) => - html`${lang.nativeName ? lang.nativeName : lang.name} ` - )} - - - ev.stopPropagation()} - .required=${true} - > +
+ ev.stopPropagation()} + > + ${langOpts.map( + (lang) => + html`${lang.nativeName ? lang.nativeName : lang.name} ` + )} + - ev.stopPropagation()} - > - ${themeMode.map((mode) => html`${mode.name}`)} - + ev.stopPropagation()} + .required=${true} + > + + ev.stopPropagation()} + > + ${themeMode.map((mode) => html`${mode.name}`)} + +
`; return this.panelTemplate('themeLangConfig', 'themeLangConfig', 'mdi:palette', themesConfig); } @@ -559,6 +562,34 @@ export class VehicleCardEditor extends LitElement implements LovelaceCardEditor { key: 'dark', name: 'Dark' }, { key: 'light', name: 'Light' }, ]; + const mapPopupConfig = html` + ${infoAlert} +
+ + + ev.stopPropagation()} + > + ${themeMode.map((mode) => html`${mode.name}`)} + +
+ `; const mapConfig = html` - ${infoAlert} - - - ev.stopPropagation()} - > - ${themeMode.map((mode) => html`${mode.name}`)} - + ${mapPopupConfig} `; + return this.panelTemplate('mapConfig', 'mapConfig', 'mdi:map-search', mapConfig); }