Fix backup settings undefined cloudStatus (#25366)

This commit is contained in:
Wendelin 2025-05-08 13:47:17 +02:00 committed by GitHub
parent d571ef3f18
commit e1b099e88b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 15 additions and 12 deletions

View File

@ -31,7 +31,7 @@ const DEFAULT_AGENTS = [];
class HaBackupConfigAgents extends LitElement {
@property({ attribute: false }) public hass!: HomeAssistant;
@property({ attribute: false }) public cloudStatus!: CloudStatus;
@property({ attribute: false }) public cloudStatus?: CloudStatus;
@property({ attribute: false }) public agents: BackupAgent[] = [];
@ -48,7 +48,10 @@ class HaBackupConfigAgents extends LitElement {
private _description(agentId: string) {
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(
"ui.panel.config.backup.agents.cloud_agent_no_subcription"
);
@ -106,17 +109,17 @@ class HaBackupConfigAgents extends LitElement {
}
private _availableAgents = memoizeOne(
(agents: BackupAgent[], cloudStatus: CloudStatus) =>
(agents: BackupAgent[], cloudStatus?: CloudStatus) =>
agents.filter(
(agent) => agent.agent_id !== CLOUD_AGENT || cloudStatus.logged_in
(agent) => agent.agent_id !== CLOUD_AGENT || cloudStatus?.logged_in
)
);
private _unavailableAgents = memoizeOne(
(
agents: BackupAgent[],
cloudStatus: CloudStatus,
selectedAgentIds: string[]
selectedAgentIds: string[],
cloudStatus?: CloudStatus
) => {
const availableAgentIds = this._availableAgents(agents, cloudStatus).map(
(agent) => agent.agent_id
@ -167,8 +170,8 @@ class HaBackupConfigAgents extends LitElement {
);
const unavailableAgents = this._unavailableAgents(
this.agents,
this.cloudStatus,
this._value
this._value,
this.cloudStatus
);
const allAgents = [...availableAgents, ...unavailableAgents];
@ -187,7 +190,7 @@ class HaBackupConfigAgents extends LitElement {
const description = this._description(agentId);
const noCloudSubscription =
agentId === CLOUD_AGENT &&
this.cloudStatus.logged_in &&
this.cloudStatus?.logged_in &&
!this.cloudStatus.active_subscription;
return html`

View File

@ -41,7 +41,7 @@ import { brandsUrl } from "../../../util/brands-url";
class HaConfigBackupSettings extends LitElement {
@property({ attribute: false }) public hass!: HomeAssistant;
@property({ attribute: false }) public cloudStatus!: CloudStatus;
@property({ attribute: false }) public cloudStatus?: CloudStatus;
@property({ type: Boolean }) public narrow = false;
@ -244,7 +244,7 @@ class HaConfigBackupSettings extends LitElement {
`
: nothing}
</div>
${!this.cloudStatus.logged_in
${!this.cloudStatus?.logged_in
? html`<ha-card class="cloud-info">
<div class="cloud-header">
<img
@ -316,7 +316,7 @@ class HaConfigBackupSettings extends LitElement {
</div>
</ha-card>
${supervisor
? html` <ha-card>
? html`<ha-card>
<div class="card-header">
${this.hass.localize(
"ui.panel.config.backup.settings.addon_update_backup.title"