From 229d167f896a0b4686cd0084933ce7484427d999 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Tue, 17 Jul 2018 09:25:46 +0200 Subject: [PATCH] Add current user to hass object (#1451) * Add current user to hass object * Add enter key support to login form --- src/components/ha-sidebar.js | 16 +++-- src/entrypoints/app.js | 13 ++-- src/layouts/partial-panel-resolver.js | 4 ++ .../config/dashboard/ha-config-dashboard.js | 2 +- src/panels/profile/ha-panel-profile.js | 72 +++++++++++++++++++ 5 files changed, 98 insertions(+), 9 deletions(-) create mode 100644 src/panels/profile/ha-panel-profile.js diff --git a/src/components/ha-sidebar.js b/src/components/ha-sidebar.js index 591182daa3..7b734e48c3 100644 --- a/src/components/ha-sidebar.js +++ b/src/components/ha-sidebar.js @@ -118,10 +118,18 @@ class HaSidebar extends - - - [[localize('ui.sidebar.log_out')]] - + +
diff --git a/src/entrypoints/app.js b/src/entrypoints/app.js index e2d20497a5..1c8ebdf801 100644 --- a/src/entrypoints/app.js +++ b/src/entrypoints/app.js @@ -175,6 +175,7 @@ class HomeAssistant extends LocalizeMixin(PolymerElement) { callApi: null, sendWS: null, callWS: null, + user: null, }); return; } @@ -320,18 +321,22 @@ class HomeAssistant extends LocalizeMixin(PolymerElement) { let unsubThemes; - this.hass.connection.sendMessagePromise({ + this.hass.callWS({ type: 'frontend/get_themes', - }).then((resp) => { - this._updateHass({ themes: resp.result }); + }).then((themes) => { + this._updateHass({ themes }); applyThemesOnElement( document.documentElement, - resp.result, + themes, this.hass.selectedTheme, true ); }); + this.hass.callWS({ + type: 'auth/current_user', + }).then(user => this._updateHass({ user }), () => {}); + conn.subscribeEvents((event) => { this._updateHass({ themes: event.data }); applyThemesOnElement( diff --git a/src/layouts/partial-panel-resolver.js b/src/layouts/partial-panel-resolver.js index 295db3db1a..6d7faba84c 100644 --- a/src/layouts/partial-panel-resolver.js +++ b/src/layouts/partial-panel-resolver.js @@ -78,6 +78,10 @@ function ensureLoaded(panel) { imported = import(/* webpackChunkName: "panel-map" */ '../panels/map/ha-panel-map.js'); break; + case 'profile': + imported = import(/* webpackChunkName: "panel-profile" */ '../panels/profile/ha-panel-profile.js'); + break; + case 'shopping-list': imported = import(/* webpackChunkName: "panel-shopping-list" */ '../panels/shopping-list/ha-panel-shopping-list.js'); break; diff --git a/src/panels/config/dashboard/ha-config-dashboard.js b/src/panels/config/dashboard/ha-config-dashboard.js index e426b89677..c2f7dcb1d9 100644 --- a/src/panels/config/dashboard/ha-config-dashboard.js +++ b/src/panels/config/dashboard/ha-config-dashboard.js @@ -48,7 +48,7 @@ class HaConfigDashboard extends LocalizeMixin(PolymerElement) { -