Add rel=noopener (#5046)

This commit is contained in:
Bram Kragten 2020-03-04 22:34:48 +01:00 committed by GitHub
parent 196540afc7
commit d3105b6846
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
35 changed files with 115 additions and 35 deletions

View File

@ -57,7 +57,9 @@ class HassioAddonRepositoryEl extends LitElement {
</h1> </h1>
<p class="description"> <p class="description">
Maintained by ${repo.maintainer}<br /> Maintained by ${repo.maintainer}<br />
<a class="repo" href=${repo.url} target="_blank">${repo.url}</a> <a class="repo" href=${repo.url} target="_blank" rel="noreferrer">
${repo.url}
</a>
</p> </p>
<div class="card-group"> <div class="card-group">
${addons.map( ${addons.map(

View File

@ -185,14 +185,19 @@ class HassioAddonInfo extends LitElement {
<div class="description light-color"> <div class="description light-color">
${this.addon.description}.<br /> ${this.addon.description}.<br />
Visit Visit
<a href="${this.addon.url}" target="_blank"> <a href="${this.addon.url}" target="_blank" rel="noreferrer">
${this.addon.name} page</a ${this.addon.name} page</a
> >
for details. for details.
</div> </div>
${this.addon.logo ${this.addon.logo
? html` ? html`
<a href="${this.addon.url}" target="_blank" class="logo"> <a
href="${this.addon.url}"
target="_blank"
class="logo"
rel="noreferrer"
>
<img src="/api/hassio/addons/${this.addon.slug}/logo" /> <img src="/api/hassio/addons/${this.addon.slug}/logo" />
</a> </a>
` `
@ -428,6 +433,7 @@ class HassioAddonInfo extends LitElement {
tabindex="-1" tabindex="-1"
target="_blank" target="_blank"
class="right" class="right"
rel="noopener"
> >
<mwc-button> <mwc-button>
Open web UI Open web UI

View File

@ -123,7 +123,7 @@ export class HassioUpdate extends LitElement {
</div> </div>
</div> </div>
<div class="card-actions"> <div class="card-actions">
<a href="${releaseNotesUrl}" target="_blank"> <a href="${releaseNotesUrl}" target="_blank" rel="noreferrer">
<mwc-button>Release notes</mwc-button> <mwc-button>Release notes</mwc-button>
</a> </a>
<ha-call-api-button <ha-call-api-button

View File

@ -53,6 +53,7 @@ class HaMarkdown extends UpdatingElement {
node.host !== document.location.host node.host !== document.location.host
) { ) {
node.target = "_blank"; node.target = "_blank";
node.rel = "noreferrer";
// protect referrer on external links and deny window.opener access for security reasons // protect referrer on external links and deny window.opener access for security reasons
// (see https://mathiasbynens.github.io/rel-noopener/) // (see https://mathiasbynens.github.io/rel-noopener/)

View File

@ -38,7 +38,7 @@ class StepFlowExternal extends LitElement {
<div class="content"> <div class="content">
${this.flowConfig.renderExternalStepDescription(this.hass, this.step)} ${this.flowConfig.renderExternalStepDescription(this.hass, this.step)}
<div class="open-button"> <div class="open-button">
<a href=${this.step.url} target="_blank"> <a href=${this.step.url} target="_blank" rel="noreferrer">
<mwc-button raised> <mwc-button raised>
${localize( ${localize(
"ui.panel.config.integrations.config_flow.external_step.open_site" "ui.panel.config.integrations.config_flow.external_step.open_site"

View File

@ -97,6 +97,7 @@ class StepFlowPickHandler extends LitElement {
)}<a )}<a
href="https://www.home-assistant.io/integrations/" href="https://www.home-assistant.io/integrations/"
target="_blank" target="_blank"
rel="noreferrer"
>${this.hass.localize( >${this.hass.localize(
"ui.panel.config.integrations.home_assistant_website" "ui.panel.config.integrations.home_assistant_website"
)}</a )}</a

View File

@ -113,6 +113,7 @@ export class HaVoiceCommandDialog extends LitElement {
class="button" class="button"
href="${this._agentInfo.onboarding.url}" href="${this._agentInfo.onboarding.url}"
target="_blank" target="_blank"
rel="noreferrer"
><mwc-button unelevated>Yes!</mwc-button></a ><mwc-button unelevated>Yes!</mwc-button></a
> >
<mwc-button outlined>No</mwc-button> <mwc-button outlined>No</mwc-button>
@ -185,6 +186,7 @@ export class HaVoiceCommandDialog extends LitElement {
href=${this._agentInfo.attribution.url} href=${this._agentInfo.attribution.url}
class="attribution" class="attribution"
target="_blank" target="_blank"
rel="noreferrer"
>${this._agentInfo.attribution.name}</a >${this._agentInfo.attribution.name}</a
> >
` `

View File

@ -156,6 +156,7 @@ export class HaAutomationEditor extends LitElement {
<a <a
href="https://home-assistant.io/docs/automation/trigger/" href="https://home-assistant.io/docs/automation/trigger/"
target="_blank" target="_blank"
rel="noreferrer"
> >
${this.hass.localize( ${this.hass.localize(
"ui.panel.config.automation.editor.triggers.learn_more" "ui.panel.config.automation.editor.triggers.learn_more"
@ -184,6 +185,7 @@ export class HaAutomationEditor extends LitElement {
<a <a
href="https://home-assistant.io/docs/scripts/conditions/" href="https://home-assistant.io/docs/scripts/conditions/"
target="_blank" target="_blank"
rel="noreferrer"
> >
${this.hass.localize( ${this.hass.localize(
"ui.panel.config.automation.editor.conditions.learn_more" "ui.panel.config.automation.editor.conditions.learn_more"
@ -212,6 +214,7 @@ export class HaAutomationEditor extends LitElement {
<a <a
href="https://home-assistant.io/docs/automation/action/" href="https://home-assistant.io/docs/automation/action/"
target="_blank" target="_blank"
rel="noreferrer"
> >
${this.hass.localize( ${this.hass.localize(
"ui.panel.config.automation.editor.actions.learn_more" "ui.panel.config.automation.editor.actions.learn_more"

View File

@ -63,6 +63,7 @@ class HaAutomationPicker extends LitElement {
<a <a
href="https://home-assistant.io/docs/automation/editor/" href="https://home-assistant.io/docs/automation/editor/"
target="_blank" target="_blank"
rel="noreferrer"
> >
${this.hass.localize( ${this.hass.localize(
"ui.panel.config.automation.picker.learn_more" "ui.panel.config.automation.picker.learn_more"

View File

@ -123,6 +123,7 @@ class DialogThingtalk extends LitElement {
<a <a
href="https://almond.stanford.edu/" href="https://almond.stanford.edu/"
target="_blank" target="_blank"
rel="noreferrer"
class="attribution" class="attribution"
>Powered by Almond</a >Powered by Almond</a
> >

View File

@ -95,11 +95,15 @@ class CloudAccount extends EventsMixin(LocalizeMixin(PolymerElement)) {
</div> </div>
<div class="card-actions"> <div class="card-actions">
<a href="https://account.nabucasa.com" target="_blank" <a
><mwc-button href="https://account.nabucasa.com"
>[[localize('ui.panel.config.cloud.account.manage_account')]]</mwc-button target="_blank"
></a rel="noreferrer"
> >
<mwc-button
>[[localize('ui.panel.config.cloud.account.manage_account')]]</mwc-button
>
</a>
<mwc-button style="float: right" on-click="handleLogout" <mwc-button style="float: right" on-click="handleLogout"
>[[localize('ui.panel.config.cloud.account.sign_out')]]</mwc-button >[[localize('ui.panel.config.cloud.account.sign_out')]]</mwc-button
> >
@ -117,8 +121,12 @@ class CloudAccount extends EventsMixin(LocalizeMixin(PolymerElement)) {
</p> </p>
<p> <p>
[[localize('ui.panel.config.cloud.account.integrations_introduction2')]] [[localize('ui.panel.config.cloud.account.integrations_introduction2')]]
<a href="https://www.nabucasa.com" target="_blank" <a
>[[localize('ui.panel.config.cloud.account.integrations_link_all_features')]]</a href="https://www.nabucasa.com"
target="_blank"
rel="noreferrer"
>
[[localize('ui.panel.config.cloud.account.integrations_link_all_features')]] </a
>. >.
</p> </p>
</div> </div>

View File

@ -49,6 +49,7 @@ export class CloudAlexaPref extends LitElement {
<a <a
href="https://skills-store.amazon.com/deeplink/dp/B0772J1QKB?deviceType=app" href="https://skills-store.amazon.com/deeplink/dp/B0772J1QKB?deviceType=app"
target="_blank" target="_blank"
rel="noreferrer"
> >
${this.hass!.localize( ${this.hass!.localize(
"ui.panel.config.cloud.account.alexa.enable_ha_skill" "ui.panel.config.cloud.account.alexa.enable_ha_skill"
@ -59,6 +60,7 @@ export class CloudAlexaPref extends LitElement {
<a <a
href="https://www.nabucasa.com/config/amazon_alexa/" href="https://www.nabucasa.com/config/amazon_alexa/"
target="_blank" target="_blank"
rel="noreferrer"
> >
${this.hass!.localize( ${this.hass!.localize(
"ui.panel.config.cloud.account.alexa.config_documentation" "ui.panel.config.cloud.account.alexa.config_documentation"

View File

@ -55,6 +55,7 @@ export class CloudGooglePref extends LitElement {
<a <a
href="https://assistant.google.com/services/a/uid/00000091fd5fb875?hl=en-US" href="https://assistant.google.com/services/a/uid/00000091fd5fb875?hl=en-US"
target="_blank" target="_blank"
rel="noreferrer"
> >
${this.hass!.localize( ${this.hass!.localize(
"ui.panel.config.cloud.account.google.enable_ha_skill" "ui.panel.config.cloud.account.google.enable_ha_skill"
@ -65,6 +66,7 @@ export class CloudGooglePref extends LitElement {
<a <a
href="https://www.nabucasa.com/config/google_assistant/" href="https://www.nabucasa.com/config/google_assistant/"
target="_blank" target="_blank"
rel="noreferrer"
> >
${this.hass!.localize( ${this.hass!.localize(
"ui.panel.config.cloud.account.google.config_documentation" "ui.panel.config.cloud.account.google.config_documentation"

View File

@ -77,12 +77,21 @@ export class CloudRemotePref extends LitElement {
: this.hass!.localize( : this.hass!.localize(
"ui.panel.config.cloud.account.remote.instance_will_be_available" "ui.panel.config.cloud.account.remote.instance_will_be_available"
)} )}
<a href="https://${remote_domain}" target="_blank" class="break-word"> <a
href="https://${remote_domain}"
target="_blank"
class="break-word"
rel="noreferrer"
>
https://${remote_domain}</a https://${remote_domain}</a
>. >.
</div> </div>
<div class="card-actions"> <div class="card-actions">
<a href="https://www.nabucasa.com/config/remote/" target="_blank"> <a
href="https://www.nabucasa.com/config/remote/"
target="_blank"
rel="noreferrer"
>
<mwc-button <mwc-button
>${this.hass!.localize( >${this.hass!.localize(
"ui.panel.config.cloud.account.remote.link_learn_how_it_works" "ui.panel.config.cloud.account.remote.link_learn_how_it_works"

View File

@ -46,7 +46,11 @@ export class CloudWebhooks extends LitElement {
${this._renderBody()} ${this._renderBody()}
<div class="footer"> <div class="footer">
<a href="https://www.nabucasa.com/config/webhooks" target="_blank"> <a
href="https://www.nabucasa.com/config/webhooks"
target="_blank"
rel="noreferrer"
>
${this.hass!.localize( ${this.hass!.localize(
"ui.panel.config.cloud.account.webhooks.link_learn_more" "ui.panel.config.cloud.account.webhooks.link_learn_more"
)} )}

View File

@ -78,7 +78,7 @@ export class DialogManageCloudhook extends LitElement {
</div> </div>
<div class="paper-dialog-buttons"> <div class="paper-dialog-buttons">
<a href="${docsUrl}" target="_blank"> <a href="${docsUrl}" target="_blank" rel="noreferrer">
<mwc-button <mwc-button
>${this.hass!.localize( >${this.hass!.localize(
"ui.panel.config.cloud.dialog_cloudhook.view_documentation" "ui.panel.config.cloud.dialog_cloudhook.view_documentation"

View File

@ -84,18 +84,26 @@ class CloudLogin extends LocalizeMixin(
</p> </p>
<p> <p>
[[localize('ui.panel.config.cloud.login.introduction2')]] [[localize('ui.panel.config.cloud.login.introduction2')]]
<a href="https://www.nabucasa.com" target="_blank" <a
>Nabu&nbsp;Casa,&nbsp;Inc</a href="https://www.nabucasa.com"
target="_blank"
rel="noreferrer"
> >
Nabu&nbsp;Casa,&nbsp;Inc
</a>
[[localize('ui.panel.config.cloud.login.introduction2a')]] [[localize('ui.panel.config.cloud.login.introduction2a')]]
</p> </p>
<p> <p>
[[localize('ui.panel.config.cloud.login.introduction3')]] [[localize('ui.panel.config.cloud.login.introduction3')]]
</p> </p>
<p> <p>
<a href="https://www.nabucasa.com" target="_blank" <a
>[[localize('ui.panel.config.cloud.login.learn_more_link')]]</a href="https://www.nabucasa.com"
target="_blank"
rel="noreferrer"
> >
[[localize('ui.panel.config.cloud.login.learn_more_link')]]
</a>
</p> </p>
</div> </div>

View File

@ -74,8 +74,8 @@ class CloudRegister extends LocalizeMixin(EventsMixin(PolymerElement)) {
<p> <p>
[[localize('ui.panel.config.cloud.register.information4')]] [[localize('ui.panel.config.cloud.register.information4')]]
</p><ul> </p><ul>
<li><a href="https://home-assistant.io/tos/" target="_blank">[[localize('ui.panel.config.cloud.register.link_terms_conditions')]]</a></li> <li><a href="https://home-assistant.io/tos/" target="_blank" rel="noreferrer">[[localize('ui.panel.config.cloud.register.link_terms_conditions')]]</a></li>
<li><a href="https://home-assistant.io/privacy/" target="_blank">[[localize('ui.panel.config.cloud.register.link_privacy_policy')]]</a></li> <li><a href="https://home-assistant.io/privacy/" target="_blank" rel="noreferrer">[[localize('ui.panel.config.cloud.register.link_privacy_policy')]]</a></li>
</ul> </ul>
</p> </p>
</div> </div>

View File

@ -31,6 +31,7 @@ class HaFormCustomize extends LocalizeMixin(PolymerElement) {
<a <a
href="https://www.home-assistant.io/docs/configuration/customizing-devices/#customization-using-the-ui" href="https://www.home-assistant.io/docs/configuration/customizing-devices/#customization-using-the-ui"
target="_blank" target="_blank"
rel="noreferrer"
>[[localize('ui.panel.config.customize.warning.include_link')]]</a >[[localize('ui.panel.config.customize.warning.include_link')]]</a
>.<br /> >.<br />
[[localize('ui.panel.config.customize.warning.not_applied')]] [[localize('ui.panel.config.customize.warning.not_applied')]]

View File

@ -128,6 +128,7 @@ class DialogPersonDetail extends LitElement {
<a <a
href="https://www.home-assistant.io/integrations/#presence-detection" href="https://www.home-assistant.io/integrations/#presence-detection"
target="_blank" target="_blank"
rel="noreferrer"
>${this.hass!.localize( >${this.hass!.localize(
"ui.panel.config.person.detail.link_presence_detection_integrations" "ui.panel.config.person.detail.link_presence_detection_integrations"
)}</a )}</a

View File

@ -54,6 +54,7 @@ class HaSceneDashboard extends LitElement {
<a <a
href="https://home-assistant.io/docs/scene/editor/" href="https://home-assistant.io/docs/scene/editor/"
target="_blank" target="_blank"
rel="noreferrer"
> >
${this.hass.localize("ui.panel.config.scene.picker.learn_more")} ${this.hass.localize("ui.panel.config.scene.picker.learn_more")}
</a> </a>

View File

@ -122,6 +122,7 @@ export class HaScriptEditor extends LitElement {
<a <a
href="https://home-assistant.io/docs/scripts/" href="https://home-assistant.io/docs/scripts/"
target="_blank" target="_blank"
rel="noreferrer"
> >
${this.hass.localize( ${this.hass.localize(
"ui.panel.config.script.editor.link_available_actions" "ui.panel.config.script.editor.link_available_actions"

View File

@ -54,6 +54,7 @@ class HaScriptPicker extends LitElement {
<a <a
href="https://home-assistant.io/docs/scripts/editor/" href="https://home-assistant.io/docs/scripts/editor/"
target="_blank" target="_blank"
rel="noreferrer"
> >
${this.hass.localize( ${this.hass.localize(
"ui.panel.config.script.picker.learn_more" "ui.panel.config.script.picker.learn_more"

View File

@ -71,6 +71,7 @@ export class ZwaveNetwork extends LitElement {
<a <a
href="https://www.home-assistant.io/docs/z-wave/control-panel/" href="https://www.home-assistant.io/docs/z-wave/control-panel/"
target="_blank" target="_blank"
rel="noreferrer"
> >
${this.hass!.localize("ui.panel.config.zwave.learn_more")} ${this.hass!.localize("ui.panel.config.zwave.learn_more")}
</a> </a>

View File

@ -61,9 +61,11 @@ class HaPanelDevEvent extends EventsMixin(LocalizeMixin(PolymerElement)) {
<a <a
href="https://www.home-assistant.io/docs/configuration/events/" href="https://www.home-assistant.io/docs/configuration/events/"
target="_blank" target="_blank"
>[[localize( 'ui.panel.developer-tools.tabs.events.documentation' rel="noreferrer"
)]]</a
> >
[[localize( 'ui.panel.developer-tools.tabs.events.documentation'
)]]
</a>
</p> </p>
<div class="ha-form"> <div class="ha-form">
<paper-input <paper-input

View File

@ -27,7 +27,7 @@ class HaPanelDevInfo extends LitElement {
return html` return html`
<div class="about"> <div class="about">
<p class="version"> <p class="version">
<a href="https://www.home-assistant.io" target="_blank" <a href="https://www.home-assistant.io" target="_blank" rel="noreferrer"
><img ><img
src="/static/icons/favicon-192x192.png" src="/static/icons/favicon-192x192.png"
height="192" height="192"
@ -48,7 +48,7 @@ class HaPanelDevInfo extends LitElement {
<p class="develop"> <p class="develop">
<a <a
href="https://www.home-assistant.io/developers/credits/" href="https://www.home-assistant.io/developers/credits/"
target="_blank" target="_blank" rel="noreferrer"
> >
${this.hass.localize( ${this.hass.localize(
"ui.panel.developer-tools.tabs.info.developed_by" "ui.panel.developer-tools.tabs.info.developed_by"
@ -62,7 +62,7 @@ class HaPanelDevInfo extends LitElement {
${this.hass.localize("ui.panel.developer-tools.tabs.info.source")} ${this.hass.localize("ui.panel.developer-tools.tabs.info.source")}
<a <a
href="https://github.com/home-assistant/home-assistant" href="https://github.com/home-assistant/home-assistant"
target="_blank" target="_blank" rel="noreferrer"
>${this.hass.localize( >${this.hass.localize(
"ui.panel.developer-tools.tabs.info.server" "ui.panel.developer-tools.tabs.info.server"
)}</a )}</a
@ -70,7 +70,7 @@ class HaPanelDevInfo extends LitElement {
&mdash; &mdash;
<a <a
href="https://github.com/home-assistant/home-assistant-polymer" href="https://github.com/home-assistant/home-assistant-polymer"
target="_blank" target="_blank" rel="noreferrer"
>${this.hass.localize( >${this.hass.localize(
"ui.panel.developer-tools.tabs.info.frontend" "ui.panel.developer-tools.tabs.info.frontend"
)}</a )}</a
@ -80,14 +80,14 @@ class HaPanelDevInfo extends LitElement {
${this.hass.localize( ${this.hass.localize(
"ui.panel.developer-tools.tabs.info.built_using" "ui.panel.developer-tools.tabs.info.built_using"
)} )}
<a href="https://www.python.org">Python 3</a>, <a href="https://www.python.org" target="_blank" rel="noreferrer">Python 3</a>,
<a href="https://www.polymer-project.org" target="_blank">Polymer</a>, <a href="https://www.polymer-project.org" target="_blank" rel="noreferrer">Polymer</a>,
${this.hass.localize("ui.panel.developer-tools.tabs.info.icons_by")} ${this.hass.localize("ui.panel.developer-tools.tabs.info.icons_by")}
<a href="https://www.google.com/design/icons/" target="_blank" <a href="https://www.google.com/design/icons/" target="_blank" rel="noreferrer"
>Google</a >Google</a
> >
and and
<a href="https://MaterialDesignIcons.com" target="_blank" <a href="https://MaterialDesignIcons.com" target="_blank" rel="noreferrer"
>MaterialDesignIcons.com</a >MaterialDesignIcons.com</a
>. >.
</p> </p>

View File

@ -32,12 +32,20 @@ class IntegrationsCard extends LitElement {
<tr> <tr>
<td>${domain}</td> <td>${domain}</td>
<td> <td>
<a href=${integrationDocsUrl(domain)} target="_blank"> <a
href=${integrationDocsUrl(domain)}
target="_blank"
rel="noreferrer"
>
Documentation Documentation
</a> </a>
</td> </td>
<td> <td>
<a href=${integrationIssuesUrl(domain)} target="_blank"> <a
href=${integrationIssuesUrl(domain)}
target="_blank"
rel="noreferrer"
>
Issues Issues
</a> </a>
</td> </td>

View File

@ -60,10 +60,16 @@ class DialogSystemLogDetail extends LitElement {
? html` ? html`
<br /> <br />
Integration: ${domainToName(this.hass.localize, integration)} Integration: ${domainToName(this.hass.localize, integration)}
(<a href=${integrationDocsUrl(integration)} target="_blank" (<a
href=${integrationDocsUrl(integration)}
target="_blank"
rel="noreferrer"
>documentation</a >documentation</a
>, >,
<a href=${integrationIssuesUrl(integration)} target="_blank" <a
href=${integrationIssuesUrl(integration)}
target="_blank"
rel="noreferrer"
>issues</a >issues</a
>) >)
` `

View File

@ -68,6 +68,7 @@ class HaPanelDevTemplate extends LocalizeMixin(PolymerElement) {
<a <a
href="http://jinja.pocoo.org/docs/dev/templates/" href="http://jinja.pocoo.org/docs/dev/templates/"
target="_blank" target="_blank"
rel="noreferrer"
>[[localize('ui.panel.developer-tools.tabs.templates.jinja_documentation')]]</a >[[localize('ui.panel.developer-tools.tabs.templates.jinja_documentation')]]</a
> >
</li> </li>
@ -75,6 +76,7 @@ class HaPanelDevTemplate extends LocalizeMixin(PolymerElement) {
<a <a
href="https://home-assistant.io/docs/configuration/templating/" href="https://home-assistant.io/docs/configuration/templating/"
target="_blank" target="_blank"
rel="noreferrer"
>[[localize('ui.panel.developer-tools.tabs.templates.template_extensions')]]</a >[[localize('ui.panel.developer-tools.tabs.templates.template_extensions')]]</a
> >
</li> </li>

View File

@ -40,6 +40,7 @@ class HuiWeblinkRow extends LitElement implements LovelaceRow {
<a <a
href=${this._config.url} href=${this._config.url}
target=${this._config.url.indexOf("://") !== -1 ? "_blank" : ""} target=${this._config.url.indexOf("://") !== -1 ? "_blank" : ""}
rel="noreferrer"
> >
<ha-icon .icon="${this._config.icon}"></ha-icon> <ha-icon .icon="${this._config.icon}"></ha-icon>
<div>${this._config.name}</div> <div>${this._config.name}</div>

View File

@ -33,6 +33,7 @@ class AdvancedModeRow extends LitElement {
<a <a
href="https://www.home-assistant.io/blog/2019/07/17/release-96/#advanced-mode" href="https://www.home-assistant.io/blog/2019/07/17/release-96/#advanced-mode"
target="_blank" target="_blank"
rel="noreferrer"
>${this.hass.localize("ui.panel.profile.advanced_mode.link_promo")} >${this.hass.localize("ui.panel.profile.advanced_mode.link_promo")}
</a> </a>
</span> </span>

View File

@ -39,6 +39,7 @@ class HaLongLivedTokens extends LocalizeMixin(EventsMixin(PolymerElement)) {
<a <a
href="https://developers.home-assistant.io/docs/en/auth_api.html#making-authenticated-requests" href="https://developers.home-assistant.io/docs/en/auth_api.html#making-authenticated-requests"
target="_blank" target="_blank"
rel="noreferrer"
> >
[[localize('ui.panel.profile.long_lived_access_tokens.learn_auth_requests')]] [[localize('ui.panel.profile.long_lived_access_tokens.learn_auth_requests')]]
</a> </a>

View File

@ -36,6 +36,7 @@ class HaPickLanguageRow extends LocalizeMixin(EventsMixin(PolymerElement)) {
<a <a
href="https://developers.home-assistant.io/docs/en/internationalization_translation.html" href="https://developers.home-assistant.io/docs/en/internationalization_translation.html"
target="_blank" target="_blank"
rel="noreferrer"
>[[localize('ui.panel.profile.language.link_promo')]]</a >[[localize('ui.panel.profile.language.link_promo')]]</a
> >
</span> </span>

View File

@ -31,6 +31,7 @@ class HaPickThemeRow extends LocalizeMixin(EventsMixin(PolymerElement)) {
<a <a
href="https://www.home-assistant.io/integrations/frontend/#defining-themes" href="https://www.home-assistant.io/integrations/frontend/#defining-themes"
target="_blank" target="_blank"
rel="noreferrer"
>[[localize('ui.panel.profile.themes.link_promo')]]</a >[[localize('ui.panel.profile.themes.link_promo')]]</a
> >
</span> </span>

View File

@ -30,6 +30,7 @@ class HaPushNotificationsRow extends LocalizeMixin(PolymerElement) {
<a <a
href="https://www.home-assistant.io/integrations/html5" href="https://www.home-assistant.io/integrations/html5"
target="_blank" target="_blank"
rel="noreferrer"
>[[localize('ui.panel.profile.push_notifications.link_promo')]]</a >[[localize('ui.panel.profile.push_notifications.link_promo')]]</a
> >
</span> </span>