mirror of
https://github.com/home-assistant/frontend.git
synced 2025-07-28 03:36:44 +00:00
Fix backup settings undefined cloudStatus (#25366)
This commit is contained in:
parent
5cc87661b9
commit
3fe907f388
@ -31,7 +31,7 @@ const DEFAULT_AGENTS = [];
|
|||||||
class HaBackupConfigAgents extends LitElement {
|
class HaBackupConfigAgents extends LitElement {
|
||||||
@property({ attribute: false }) public hass!: HomeAssistant;
|
@property({ attribute: false }) public hass!: HomeAssistant;
|
||||||
|
|
||||||
@property({ attribute: false }) public cloudStatus!: CloudStatus;
|
@property({ attribute: false }) public cloudStatus?: CloudStatus;
|
||||||
|
|
||||||
@property({ attribute: false }) public agents: BackupAgent[] = [];
|
@property({ attribute: false }) public agents: BackupAgent[] = [];
|
||||||
|
|
||||||
@ -48,7 +48,10 @@ class HaBackupConfigAgents extends LitElement {
|
|||||||
|
|
||||||
private _description(agentId: string) {
|
private _description(agentId: string) {
|
||||||
if (agentId === CLOUD_AGENT) {
|
if (agentId === CLOUD_AGENT) {
|
||||||
if (this.cloudStatus.logged_in && !this.cloudStatus.active_subscription) {
|
if (
|
||||||
|
this.cloudStatus?.logged_in &&
|
||||||
|
!this.cloudStatus.active_subscription
|
||||||
|
) {
|
||||||
return this.hass.localize(
|
return this.hass.localize(
|
||||||
"ui.panel.config.backup.agents.cloud_agent_no_subcription"
|
"ui.panel.config.backup.agents.cloud_agent_no_subcription"
|
||||||
);
|
);
|
||||||
@ -106,17 +109,17 @@ class HaBackupConfigAgents extends LitElement {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private _availableAgents = memoizeOne(
|
private _availableAgents = memoizeOne(
|
||||||
(agents: BackupAgent[], cloudStatus: CloudStatus) =>
|
(agents: BackupAgent[], cloudStatus?: CloudStatus) =>
|
||||||
agents.filter(
|
agents.filter(
|
||||||
(agent) => agent.agent_id !== CLOUD_AGENT || cloudStatus.logged_in
|
(agent) => agent.agent_id !== CLOUD_AGENT || cloudStatus?.logged_in
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
private _unavailableAgents = memoizeOne(
|
private _unavailableAgents = memoizeOne(
|
||||||
(
|
(
|
||||||
agents: BackupAgent[],
|
agents: BackupAgent[],
|
||||||
cloudStatus: CloudStatus,
|
selectedAgentIds: string[],
|
||||||
selectedAgentIds: string[]
|
cloudStatus?: CloudStatus
|
||||||
) => {
|
) => {
|
||||||
const availableAgentIds = this._availableAgents(agents, cloudStatus).map(
|
const availableAgentIds = this._availableAgents(agents, cloudStatus).map(
|
||||||
(agent) => agent.agent_id
|
(agent) => agent.agent_id
|
||||||
@ -167,8 +170,8 @@ class HaBackupConfigAgents extends LitElement {
|
|||||||
);
|
);
|
||||||
const unavailableAgents = this._unavailableAgents(
|
const unavailableAgents = this._unavailableAgents(
|
||||||
this.agents,
|
this.agents,
|
||||||
this.cloudStatus,
|
this._value,
|
||||||
this._value
|
this.cloudStatus
|
||||||
);
|
);
|
||||||
|
|
||||||
const allAgents = [...availableAgents, ...unavailableAgents];
|
const allAgents = [...availableAgents, ...unavailableAgents];
|
||||||
@ -187,7 +190,7 @@ class HaBackupConfigAgents extends LitElement {
|
|||||||
const description = this._description(agentId);
|
const description = this._description(agentId);
|
||||||
const noCloudSubscription =
|
const noCloudSubscription =
|
||||||
agentId === CLOUD_AGENT &&
|
agentId === CLOUD_AGENT &&
|
||||||
this.cloudStatus.logged_in &&
|
this.cloudStatus?.logged_in &&
|
||||||
!this.cloudStatus.active_subscription;
|
!this.cloudStatus.active_subscription;
|
||||||
|
|
||||||
return html`
|
return html`
|
||||||
|
@ -41,7 +41,7 @@ import { brandsUrl } from "../../../util/brands-url";
|
|||||||
class HaConfigBackupSettings extends LitElement {
|
class HaConfigBackupSettings extends LitElement {
|
||||||
@property({ attribute: false }) public hass!: HomeAssistant;
|
@property({ attribute: false }) public hass!: HomeAssistant;
|
||||||
|
|
||||||
@property({ attribute: false }) public cloudStatus!: CloudStatus;
|
@property({ attribute: false }) public cloudStatus?: CloudStatus;
|
||||||
|
|
||||||
@property({ type: Boolean }) public narrow = false;
|
@property({ type: Boolean }) public narrow = false;
|
||||||
|
|
||||||
@ -244,7 +244,7 @@ class HaConfigBackupSettings extends LitElement {
|
|||||||
`
|
`
|
||||||
: nothing}
|
: nothing}
|
||||||
</div>
|
</div>
|
||||||
${!this.cloudStatus.logged_in
|
${!this.cloudStatus?.logged_in
|
||||||
? html`<ha-card class="cloud-info">
|
? html`<ha-card class="cloud-info">
|
||||||
<div class="cloud-header">
|
<div class="cloud-header">
|
||||||
<img
|
<img
|
||||||
@ -316,7 +316,7 @@ class HaConfigBackupSettings extends LitElement {
|
|||||||
</div>
|
</div>
|
||||||
</ha-card>
|
</ha-card>
|
||||||
${supervisor
|
${supervisor
|
||||||
? html` <ha-card>
|
? html`<ha-card>
|
||||||
<div class="card-header">
|
<div class="card-header">
|
||||||
${this.hass.localize(
|
${this.hass.localize(
|
||||||
"ui.panel.config.backup.settings.addon_update_backup.title"
|
"ui.panel.config.backup.settings.addon_update_backup.title"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user