From 4c96240ff6329306ce500e7459f03fc5da67dfe4 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Sat, 9 Sep 2017 19:47:07 -0700 Subject: [PATCH] Finish cloud login flow (#420) * Finish cloud login flow * Address comments * Fix cache travis --- .eslintrc | 1 + .travis.yml | 2 +- .../config/cloud/ha-config-cloud-account.html | 46 +++- .../ha-config-cloud-forgot-password.html | 236 ++++++++++++++++ .../config/cloud/ha-config-cloud-login.html | 165 +++++++++--- .../cloud/ha-config-cloud-register.html | 252 ++++++++++++++++++ panels/config/cloud/ha-config-cloud.html | 115 ++++---- .../dashboard/ha-config-cloud-menu.html | 2 +- .../config/dashboard/ha-config-dashboard.html | 13 +- panels/config/ha-panel-config.html | 8 +- .../buttons/ha-progress-button.html | 13 - src/layouts/hass-subpage.html | 42 +++ src/resources/ha-style.html | 12 + src/util/hass-mixins.html | 8 +- 14 files changed, 795 insertions(+), 120 deletions(-) create mode 100644 panels/config/cloud/ha-config-cloud-forgot-password.html create mode 100644 panels/config/cloud/ha-config-cloud-register.html create mode 100644 src/layouts/hass-subpage.html diff --git a/.eslintrc b/.eslintrc index a4113b98fb..452fbe9d41 100644 --- a/.eslintrc +++ b/.eslintrc @@ -39,6 +39,7 @@ "no-param-reassign": 0, "no-multi-assign": 0, "radix": 0, + "no-alert": 0, "import/prefer-default-export": 0, "react/jsx-no-bind": [2, { "ignoreRefs": true }], "react/jsx-no-duplicate-props": 2, diff --git a/.travis.yml b/.travis.yml index 22d870d277..4997bfd8c5 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,8 +1,8 @@ sudo: false language: node_js cache: + yarn: true directories: - - node_modules - bower_components install: - yarn install diff --git a/panels/config/cloud/ha-config-cloud-account.html b/panels/config/cloud/ha-config-cloud-account.html index 46c5beceab..72bbd1ed14 100644 --- a/panels/config/cloud/ha-config-cloud-account.html +++ b/panels/config/cloud/ha-config-cloud-account.html @@ -3,12 +3,16 @@ + diff --git a/panels/config/cloud/ha-config-cloud-forgot-password.html b/panels/config/cloud/ha-config-cloud-forgot-password.html new file mode 100644 index 0000000000..33febe1ff8 --- /dev/null +++ b/panels/config/cloud/ha-config-cloud-forgot-password.html @@ -0,0 +1,236 @@ + + + + + + + + + + + + + + + diff --git a/panels/config/cloud/ha-config-cloud-login.html b/panels/config/cloud/ha-config-cloud-login.html index 37c9c6b10a..d59970b996 100644 --- a/panels/config/cloud/ha-config-cloud-login.html +++ b/panels/config/cloud/ha-config-cloud-login.html @@ -3,61 +3,130 @@ + + diff --git a/panels/config/cloud/ha-config-cloud.html b/panels/config/cloud/ha-config-cloud.html index f6f279ca82..cad81194e4 100644 --- a/panels/config/cloud/ha-config-cloud.html +++ b/panels/config/cloud/ha-config-cloud.html @@ -1,66 +1,68 @@ - - - - + + + diff --git a/src/resources/ha-style.html b/src/resources/ha-style.html index 9049d3af90..88e5c36e6a 100644 --- a/src/resources/ha-style.html +++ b/src/resources/ha-style.html @@ -103,7 +103,19 @@ @apply(--paper-font-title); } + button.link { + background: none; + color: inherit; + border: none; + padding: 0; + font: inherit; + text-align: left; + text-decoration: underline; + cursor: pointer; + } + .card-actions paper-button:not([disabled]), + .card-actions ha-progress-button:not([disabled]), .card-actions ha-call-api-button:not([disabled]), .card-actions ha-call-service-button:not([disabled]) { color: var(--primary-color); diff --git a/src/util/hass-mixins.html b/src/util/hass-mixins.html index a46661e115..24647f1e2c 100644 --- a/src/util/hass-mixins.html +++ b/src/util/hass-mixins.html @@ -70,8 +70,12 @@ window.hassMixins.EventsMixin = Polymer.dedupingMixin( /* @polymerMixin */ window.hassMixins.NavigateMixin = Polymer.dedupingMixin( superClass => class extends window.hassMixins.EventsMixin(superClass) { - navigate(path) { - history.pushState(null, null, path); + navigate(path, replace = false) { + if (replace) { + history.replaceState(null, null, path); + } else { + history.pushState(null, null, path); + } this.fire('location-changed'); } });