diff --git a/cast/public/images/favicon.ico b/cast/public/images/favicon.ico
index 038be624465c..bed404857362 100644
Binary files a/cast/public/images/favicon.ico and b/cast/public/images/favicon.ico differ
diff --git a/demo/public/manifest.json b/demo/public/manifest.json
index 901a8780a1f4..f0bc9c5718f2 100644
--- a/demo/public/manifest.json
+++ b/demo/public/manifest.json
@@ -8,25 +8,67 @@
"src": "/static/icons/favicon-192x192.png",
"sizes": "192x192",
"type": "image/png",
- "purpose": "maskable any"
+ "purpose": "any"
},
{
"src": "/static/icons/favicon-384x384.png",
"sizes": "384x384",
"type": "image/png",
- "purpose": "maskable any"
+ "purpose": "any"
},
{
"src": "/static/icons/favicon-512x512.png",
"sizes": "512x512",
"type": "image/png",
- "purpose": "maskable any"
+ "purpose": "any"
},
{
"src": "/static/icons/favicon-1024x1024.png",
"sizes": "1024x1024",
"type": "image/png",
- "purpose": "maskable any"
+ "purpose": "any"
+ },
+ {
+ "src": "/static/icons/maskable_icon-48x48.png",
+ "sizes": "48x48",
+ "type": "image/png",
+ "purpose": "maskable"
+ },
+ {
+ "src": "/static/icons/maskable_icon-72x72.png",
+ "sizes": "72x72",
+ "type": "image/png",
+ "purpose": "maskable"
+ },
+ {
+ "src": "/static/icons/maskable_icon-96x96.png",
+ "sizes": "96x96",
+ "type": "image/png",
+ "purpose": "maskable"
+ },
+ {
+ "src": "/static/icons/maskable_icon-128x128.png",
+ "sizes": "128x128",
+ "type": "image/png",
+ "purpose": "maskable"
+ },
+ {
+ "src": "/static/icons/maskable_icon-192x192.png",
+ "sizes": "192x192",
+ "type": "image/png",
+ "purpose": "maskable"
+ },
+ {
+ "src": "/static/icons/maskable_icon-384x384.png",
+ "sizes": "384x384",
+ "type": "image/png",
+ "purpose": "maskable"
+ },
+ {
+ "src": "/static/icons/maskable_icon-512x512.png",
+ "sizes": "512x512",
+ "type": "image/png",
+ "purpose": "maskable"
}
],
"lang": "en-US",
diff --git a/demo/src/html/index.html.template b/demo/src/html/index.html.template
index 368dcc08e317..89236790afdb 100644
--- a/demo/src/html/index.html.template
+++ b/demo/src/html/index.html.template
@@ -74,9 +74,19 @@
diff --git a/gallery/src/pages/components/ha-chips.ts b/gallery/src/pages/components/ha-chips.ts
index a81606458a14..43e2e7d6e8ae 100644
--- a/gallery/src/pages/components/ha-chips.ts
+++ b/gallery/src/pages/components/ha-chips.ts
@@ -1,10 +1,10 @@
-import { mdiHomeAssistant } from "@mdi/js";
import { css, html, LitElement, TemplateResult } from "lit";
import { customElement } from "lit/decorators";
import "../../../../src/components/ha-card";
import "../../../../src/components/ha-chip";
import "../../../../src/components/ha-chip-set";
import "../../../../src/components/ha-svg-icon";
+import { mdiHomeAssistant } from "../../../../src/resources/home-assistant-logo-svg";
const chips: {
icon?: string;
diff --git a/hassio/src/addon-view/info/hassio-addon-info.ts b/hassio/src/addon-view/info/hassio-addon-info.ts
index fee934072071..f602ad24d898 100644
--- a/hassio/src/addon-view/info/hassio-addon-info.ts
+++ b/hassio/src/addon-view/info/hassio-addon-info.ts
@@ -7,7 +7,6 @@ import {
mdiDocker,
mdiExclamationThick,
mdiFlask,
- mdiHomeAssistant,
mdiKey,
mdiLinkLock,
mdiNetwork,
@@ -22,7 +21,7 @@ import {
mdiPound,
mdiShield,
} from "@mdi/js";
-import { css, CSSResultGroup, html, LitElement, TemplateResult } from "lit";
+import { CSSResultGroup, LitElement, TemplateResult, css, html } from "lit";
import { customElement, property, state } from "lit/decorators";
import { classMap } from "lit/directives/class-map";
import memoizeOne from "memoize-one";
@@ -40,11 +39,11 @@ import "../../../../src/components/ha-svg-icon";
import "../../../../src/components/ha-switch";
import {
AddonCapability,
- fetchHassioAddonChangelog,
- fetchHassioAddonInfo,
HassioAddonDetails,
HassioAddonSetOptionParams,
HassioAddonSetSecurityParams,
+ fetchHassioAddonChangelog,
+ fetchHassioAddonInfo,
installHassioAddon,
rebuildLocalAddon,
restartHassioAddon,
@@ -56,9 +55,9 @@ import {
validateHassioAddonOption,
} from "../../../../src/data/hassio/addon";
import {
+ HassioStats,
extractApiErrorMessage,
fetchHassioStats,
- HassioStats,
} from "../../../../src/data/hassio/common";
import {
StoreAddon,
@@ -69,6 +68,7 @@ import {
showAlertDialog,
showConfirmationDialog,
} from "../../../../src/dialogs/generic/show-dialog-box";
+import { mdiHomeAssistant } from "../../../../src/resources/home-assistant-logo-svg";
import { haStyle } from "../../../../src/resources/styles";
import { HomeAssistant, Route } from "../../../../src/types";
import { bytesToString } from "../../../../src/util/bytes-to-string";
diff --git a/hassio/src/components/supervisor-backup-content.ts b/hassio/src/components/supervisor-backup-content.ts
index 81b4f6fbf15c..8174debcefc5 100644
--- a/hassio/src/components/supervisor-backup-content.ts
+++ b/hassio/src/components/supervisor-backup-content.ts
@@ -1,13 +1,13 @@
-import { mdiFolder, mdiHomeAssistant, mdiPuzzle } from "@mdi/js";
+import { mdiFolder, mdiPuzzle } from "@mdi/js";
import "@polymer/paper-input/paper-input";
import type { PaperInputElement } from "@polymer/paper-input/paper-input";
import {
- css,
CSSResultGroup,
- html,
LitElement,
- nothing,
TemplateResult,
+ css,
+ html,
+ nothing,
} from "lit";
import { customElement, property, query } from "lit/decorators";
import { atLeastVersion } from "../../../src/common/config/version";
@@ -24,6 +24,7 @@ import {
HassioPartialBackupCreateParams,
} from "../../../src/data/hassio/backup";
import { Supervisor } from "../../../src/data/supervisor/supervisor";
+import { mdiHomeAssistant } from "../../../src/resources/home-assistant-logo-svg";
import {
HomeAssistant,
TranslationDict,
diff --git a/hassio/src/dashboard/hassio-update.ts b/hassio/src/dashboard/hassio-update.ts
index 9ef61c43f30e..80a0f14ebb65 100644
--- a/hassio/src/dashboard/hassio-update.ts
+++ b/hassio/src/dashboard/hassio-update.ts
@@ -1,5 +1,4 @@
import "@material/mwc-button";
-import { mdiHomeAssistant } from "@mdi/js";
import { css, CSSResultGroup, html, LitElement, nothing } from "lit";
import { customElement, property } from "lit/decorators";
import memoizeOne from "memoize-one";
@@ -13,6 +12,7 @@ import {
HassioSupervisorInfo,
} from "../../../src/data/hassio/supervisor";
import { Supervisor } from "../../../src/data/supervisor/supervisor";
+import { mdiHomeAssistant } from "../../../src/resources/home-assistant-logo-svg";
import { haStyle } from "../../../src/resources/styles";
import { HomeAssistant } from "../../../src/types";
import { hassioStyle } from "../resources/hassio-style";
diff --git a/public/static/icons/browserconfig.xml b/public/static/icons/browserconfig.xml
new file mode 100644
index 000000000000..f7668c164730
--- /dev/null
+++ b/public/static/icons/browserconfig.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+ #18bcf2
+
+
+
diff --git a/public/static/icons/favicon-1024x1024.png b/public/static/icons/favicon-1024x1024.png
index d5de81de07ed..50927909999c 100644
Binary files a/public/static/icons/favicon-1024x1024.png and b/public/static/icons/favicon-1024x1024.png differ
diff --git a/public/static/icons/favicon-16x16.png b/public/static/icons/favicon-16x16.png
new file mode 100644
index 000000000000..3e4cded17305
Binary files /dev/null and b/public/static/icons/favicon-16x16.png differ
diff --git a/public/static/icons/favicon-192x192.png b/public/static/icons/favicon-192x192.png
index 1e5da410aca3..5f644d2083c3 100644
Binary files a/public/static/icons/favicon-192x192.png and b/public/static/icons/favicon-192x192.png differ
diff --git a/public/static/icons/favicon-32x32.png b/public/static/icons/favicon-32x32.png
new file mode 100644
index 000000000000..34adbe3e5892
Binary files /dev/null and b/public/static/icons/favicon-32x32.png differ
diff --git a/public/static/icons/favicon-384x384.png b/public/static/icons/favicon-384x384.png
index 728b041f3e8b..8ecdca876ca2 100644
Binary files a/public/static/icons/favicon-384x384.png and b/public/static/icons/favicon-384x384.png differ
diff --git a/public/static/icons/favicon-512x512.png b/public/static/icons/favicon-512x512.png
index 475415713873..a2a45b301218 100644
Binary files a/public/static/icons/favicon-512x512.png and b/public/static/icons/favicon-512x512.png differ
diff --git a/public/static/icons/favicon-apple-180x180.png b/public/static/icons/favicon-apple-180x180.png
index 72d207a25677..8dd156bdae1c 100644
Binary files a/public/static/icons/favicon-apple-180x180.png and b/public/static/icons/favicon-apple-180x180.png differ
diff --git a/public/static/icons/favicon.ico b/public/static/icons/favicon.ico
index 038be624465c..bed404857362 100644
Binary files a/public/static/icons/favicon.ico and b/public/static/icons/favicon.ico differ
diff --git a/public/static/icons/mask-icon.svg b/public/static/icons/mask-icon.svg
index ed1185aae28b..66db74fcc819 100644
--- a/public/static/icons/mask-icon.svg
+++ b/public/static/icons/mask-icon.svg
@@ -1 +1,23 @@
-
\ No newline at end of file
+
+
+
diff --git a/public/static/icons/maskable_icon-128x128.png b/public/static/icons/maskable_icon-128x128.png
new file mode 100644
index 000000000000..9dd3b8b335bd
Binary files /dev/null and b/public/static/icons/maskable_icon-128x128.png differ
diff --git a/public/static/icons/maskable_icon-192x192.png b/public/static/icons/maskable_icon-192x192.png
new file mode 100644
index 000000000000..4160bc541ac6
Binary files /dev/null and b/public/static/icons/maskable_icon-192x192.png differ
diff --git a/public/static/icons/maskable_icon-384x384.png b/public/static/icons/maskable_icon-384x384.png
new file mode 100644
index 000000000000..205303b9c345
Binary files /dev/null and b/public/static/icons/maskable_icon-384x384.png differ
diff --git a/public/static/icons/maskable_icon-48x48.png b/public/static/icons/maskable_icon-48x48.png
new file mode 100644
index 000000000000..5d04f82317f7
Binary files /dev/null and b/public/static/icons/maskable_icon-48x48.png differ
diff --git a/public/static/icons/maskable_icon-512x512.png b/public/static/icons/maskable_icon-512x512.png
new file mode 100644
index 000000000000..3bcfa65b7623
Binary files /dev/null and b/public/static/icons/maskable_icon-512x512.png differ
diff --git a/public/static/icons/maskable_icon-72x72.png b/public/static/icons/maskable_icon-72x72.png
new file mode 100644
index 000000000000..aa3daa53b13c
Binary files /dev/null and b/public/static/icons/maskable_icon-72x72.png differ
diff --git a/public/static/icons/maskable_icon-96x96.png b/public/static/icons/maskable_icon-96x96.png
new file mode 100644
index 000000000000..135ce6516af4
Binary files /dev/null and b/public/static/icons/maskable_icon-96x96.png differ
diff --git a/public/static/icons/tile-win-150x150.png b/public/static/icons/tile-win-150x150.png
index e102cd2017e7..56aadb5630b1 100644
Binary files a/public/static/icons/tile-win-150x150.png and b/public/static/icons/tile-win-150x150.png differ
diff --git a/public/static/icons/tile-win-310x150.png b/public/static/icons/tile-win-310x150.png
index 1002c30cb716..52f423b690c9 100644
Binary files a/public/static/icons/tile-win-310x150.png and b/public/static/icons/tile-win-310x150.png differ
diff --git a/public/static/icons/tile-win-310x310.png b/public/static/icons/tile-win-310x310.png
index c8a6c850a04a..81a241206c43 100644
Binary files a/public/static/icons/tile-win-310x310.png and b/public/static/icons/tile-win-310x310.png differ
diff --git a/public/static/icons/tile-win-70x70.png b/public/static/icons/tile-win-70x70.png
index 79fbe881e93e..7373c8cd1ba7 100644
Binary files a/public/static/icons/tile-win-70x70.png and b/public/static/icons/tile-win-70x70.png differ
diff --git a/public/static/images/notification-badge.png b/public/static/images/notification-badge.png
index e4350c3fd57d..bf4017bc4717 100644
Binary files a/public/static/images/notification-badge.png and b/public/static/images/notification-badge.png differ
diff --git a/src/common/const.ts b/src/common/const.ts
index 03e2f424d6e1..81119ca16e62 100644
--- a/src/common/const.ts
+++ b/src/common/const.ts
@@ -31,7 +31,6 @@ import {
mdiGauge,
mdiGoogleAssistant,
mdiGoogleCirclesCommunities,
- mdiHomeAssistant,
mdiHomeAutomation,
mdiImage,
mdiImageFilterFrames,
@@ -70,6 +69,8 @@ import {
mdiWifi,
} from "@mdi/js";
+import { mdiHomeAssistant } from "../resources/home-assistant-logo-svg";
+
// Constants should be alphabetically sorted by name.
// Arrays with values should be alphabetically sorted if order doesn't matter.
// Each constant should have a description what it is supposed to be used for.
diff --git a/src/components/ha-icon.ts b/src/components/ha-icon.ts
index 0ce63ed8ba27..0aa89e643563 100644
--- a/src/components/ha-icon.ts
+++ b/src/components/ha-icon.ts
@@ -124,6 +124,17 @@ export class HaIcon extends LitElement {
return;
}
+ if (iconName === "home-assistant") {
+ const icon = (await import("../resources/home-assistant-logo-svg"))
+ .mdiHomeAssistant;
+
+ if (this.icon === requestedIcon) {
+ this._path = icon;
+ }
+ cachedIcons[iconName] = icon;
+ return;
+ }
+
let databaseIcon: string | undefined;
try {
databaseIcon = await getIcon(iconName);
diff --git a/src/components/ha-logo-svg.ts b/src/components/ha-logo-svg.ts
index 644f35e93e10..532c002c6704 100644
--- a/src/components/ha-logo-svg.ts
+++ b/src/components/ha-logo-svg.ts
@@ -1,14 +1,23 @@
-import { css, CSSResultGroup, LitElement, svg, SVGTemplateResult } from "lit";
+import { css, CSSResultGroup, LitElement, html, TemplateResult } from "lit";
import { customElement } from "lit/decorators";
@customElement("ha-logo-svg")
export class HaLogoSvg extends LitElement {
- protected render(): SVGTemplateResult {
- return svg`
- `;
+ protected render(): TemplateResult {
+ return html``;
}
static get styles(): CSSResultGroup {
diff --git a/src/data/trigger.ts b/src/data/trigger.ts
index 65ce25d726fe..859595a78a65 100644
--- a/src/data/trigger.ts
+++ b/src/data/trigger.ts
@@ -5,7 +5,6 @@ import {
mdiCodeBraces,
mdiDevices,
mdiGestureDoubleTap,
- mdiHomeAssistant,
mdiMapMarker,
mdiMapMarkerRadius,
mdiMessageAlert,
@@ -18,6 +17,8 @@ import {
mdiWebhook,
} from "@mdi/js";
+import { mdiHomeAssistant } from "../resources/home-assistant-logo-svg";
+
export const TRIGGER_TYPES = {
calendar: mdiCalendar,
device: mdiDevices,
diff --git a/src/html/authorize.html.template b/src/html/authorize.html.template
index 0bea0f5b7ac7..ebd3a4413d18 100644
--- a/src/html/authorize.html.template
+++ b/src/html/authorize.html.template
@@ -77,6 +77,9 @@
--bar-color: rgb(255, 255, 255, 0.4);
--text-opacity: 0.6;
}
+ .wordmark {
+ fill: #F2F4F9;
+ }
}
diff --git a/src/html/index.html.template b/src/html/index.html.template
index a74297f0248b..faca8c9f06e8 100644
--- a/src/html/index.html.template
+++ b/src/html/index.html.template
@@ -3,34 +3,18 @@
Home Assistant
<%= renderTemplate("_header.html.template") %>
-
+
-
-
-
-
-
+
+
@@ -74,9 +58,19 @@
diff --git a/src/panels/config/automation/dialog-new-automation.ts b/src/panels/config/automation/dialog-new-automation.ts
index 735d6aa9de5a..b6c0da7f44dd 100644
--- a/src/panels/config/automation/dialog-new-automation.ts
+++ b/src/panels/config/automation/dialog-new-automation.ts
@@ -2,12 +2,11 @@ import "@material/mwc-list/mwc-list";
import {
mdiAccount,
mdiFile,
- mdiHomeAssistant,
mdiOpenInNew,
mdiPencilOutline,
mdiWeb,
} from "@mdi/js";
-import { css, CSSResultGroup, html, LitElement, nothing } from "lit";
+import { CSSResultGroup, LitElement, css, html, nothing } from "lit";
import { customElement, property, state } from "lit/decorators";
import memoizeOne from "memoize-one";
import { fireEvent } from "../../../common/dom/fire_event";
@@ -18,16 +17,17 @@ import "../../../components/ha-icon-next";
import "../../../components/ha-list-item";
import "../../../components/ha-tip";
import { showAutomationEditor } from "../../../data/automation";
-import { showScriptEditor } from "../../../data/script";
import {
Blueprint,
BlueprintDomain,
- Blueprints,
BlueprintSourceType,
+ Blueprints,
fetchBlueprints,
getBlueprintSourceType,
} from "../../../data/blueprint";
+import { showScriptEditor } from "../../../data/script";
import { HassDialog } from "../../../dialogs/make-dialog-manager";
+import { mdiHomeAssistant } from "../../../resources/home-assistant-logo-svg";
import { haStyle, haStyleDialog } from "../../../resources/styles";
import type { HomeAssistant } from "../../../types";
import { documentationUrl } from "../../../util/documentation-url";
diff --git a/src/panels/config/info/ha-config-info.ts b/src/panels/config/info/ha-config-info.ts
index b1f4fafb316f..2ad19834aeaa 100644
--- a/src/panels/config/info/ha-config-info.ts
+++ b/src/panels/config/info/ha-config-info.ts
@@ -4,22 +4,22 @@ import {
mdiFileDocument,
mdiHandsPray,
mdiHelp,
- mdiHomeAssistant,
mdiNewspaperVariant,
mdiTshirtCrew,
} from "@mdi/js";
-import { css, CSSResultGroup, html, LitElement, TemplateResult } from "lit";
+import { CSSResultGroup, LitElement, TemplateResult, css, html } from "lit";
import { property, state } from "lit/decorators";
import { isComponentLoaded } from "../../../common/config/is_component_loaded";
import "../../../components/ha-card";
import "../../../components/ha-clickable-list-item";
import "../../../components/ha-logo-svg";
import {
- fetchHassioHassOsInfo,
HassioHassOSInfo,
+ fetchHassioHassOsInfo,
} from "../../../data/hassio/host";
-import { fetchHassioInfo, HassioInfo } from "../../../data/hassio/supervisor";
+import { HassioInfo, fetchHassioInfo } from "../../../data/hassio/supervisor";
import "../../../layouts/hass-subpage";
+import { mdiHomeAssistant } from "../../../resources/home-assistant-logo-svg";
import { haStyle } from "../../../resources/styles";
import type { HomeAssistant, Route } from "../../../types";
import { documentationUrl } from "../../../util/documentation-url";
diff --git a/src/resources/home-assistant-logo-svg.ts b/src/resources/home-assistant-logo-svg.ts
new file mode 100644
index 000000000000..9eeb6ee8560d
--- /dev/null
+++ b/src/resources/home-assistant-logo-svg.ts
@@ -0,0 +1,2 @@
+export const mdiHomeAssistant =
+ "m12.151 1.5882c-0.32617 1.292e-4 -0.65235 0.12907-0.89964 0.38672l-8.3848 8.7354c-0.061873 0.06443-0.12224 0.13674-0.18069 0.21539-1.018e-4 1.72e-4 -2.376e-4 1.72e-4 -3.31e-4 3.53e-4 -0.058394 0.07855-0.1147 0.16343-0.16842 0.25303-0.25934 0.43253-0.4552 0.97486-0.52317 1.4555-0.00255 0.018-0.00764 0.03695-0.00942 0.05478-0.012052 0.09874-0.018418 0.19443-0.018418 0.28568v7.959c0 0.72958 0.5729 1.3265 1.2731 1.3265h7.8313l-3.4484-3.593c-0.17739 0.06365-0.36671 0.09984-0.56362 0.09984-0.95908 0-1.7399-0.81359-1.7399-1.8129 0-0.99929 0.78085-1.8129 1.7399-1.8129 0.95908 0 1.7399 0.8136 1.7399 1.8129 0 0.20605-0.034883 0.40329-0.095985 0.58812l2.6847 2.7972v-10.248c-0.57715-0.29532-0.97606-0.91251-0.97606-1.6262 0-0.99929 0.78084-1.8129 1.7399-1.8129 0.95908 0 1.7399 0.81359 1.7399 1.8129 0 0.71366-0.39891 1.3309-0.97606 1.6262v7.187l2.6702-2.782c-0.05262-0.17333-0.08156-0.35738-0.08156-0.5484 0-0.9993 0.78084-1.8129 1.7399-1.8129 0.95908 0 1.7399 0.8136 1.7399 1.8129 0 0.99929-0.78084 1.8129-1.7399 1.8129-0.21219 0-0.41417-0.04152-0.60174-0.114l-3.7269 3.8831v2.7299h8.1479c0.61268 0 1.1279-0.45698 1.2471-1.06 0.01698-0.08588 0.02597-0.17475 0.02606-0.26565v-7.959c0-0.09119-0.0059-0.18679-0.01842-0.2855-0.06026-0.49355-0.26358-1.0617-0.53262-1.5105-0.05373-0.08961-0.11007-0.17449-0.16842-0.25304-8.5e-5 -1.81e-4 -2.55e-4 -1.81e-4 -3.4e-4 -3.53e-4 -0.05848-0.07864-0.11884-0.15094-0.18069-0.21539l-8.3848-8.7363c-0.2473-0.25768-0.57348-0.38663-0.89965-0.38675z";