From dcf763438ba825a810be9815b6c4779b5ff045e5 Mon Sep 17 00:00:00 2001 From: Bram Kragten Date: Wed, 18 Sep 2024 10:18:00 +0200 Subject: [PATCH] =?UTF-8?q?Use=20issue=20placeholders=20in=20issue=20repai?= =?UTF-8?q?r=20flow,=20show=20break=20warning=20in=20re=E2=80=A6=20(#21959?= =?UTF-8?q?)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Use issue placeholders in issue repair flow, show break warning in repair flow --- .../config/repairs/show-dialog-repair-flow.ts | 66 ++++++++++++------- 1 file changed, 44 insertions(+), 22 deletions(-) diff --git a/src/panels/config/repairs/show-dialog-repair-flow.ts b/src/panels/config/repairs/show-dialog-repair-flow.ts index 8114d3ab75..88ef1e3734 100644 --- a/src/panels/config/repairs/show-dialog-repair-flow.ts +++ b/src/panels/config/repairs/show-dialog-repair-flow.ts @@ -1,16 +1,34 @@ import { html } from "lit"; +import { DataEntryFlowStep } from "../../../data/data_entry_flow"; import { domainToName } from "../../../data/integration"; import { + RepairsIssue, createRepairsFlow, deleteRepairsFlow, fetchRepairsFlow, handleRepairsFlowStep, - RepairsIssue, } from "../../../data/repairs"; import { loadDataEntryFlowDialog, showFlowDialog, } from "../../../dialogs/config-flow/show-dialog-data-entry-flow"; +import { HomeAssistant } from "../../../types"; + +const mergePlaceholders = (issue: RepairsIssue, step: DataEntryFlowStep) => + step.description_placeholders && issue.translation_placeholders + ? { ...issue.translation_placeholders, ...step.description_placeholders } + : step.description_placeholders || issue.translation_placeholders; + +const renderIssueDescription = (hass: HomeAssistant, issue: RepairsIssue) => + issue.breaks_in_ha_version + ? html` + + ${hass.localize("ui.panel.config.repairs.dialog.breaks_in_version", { + version: issue.breaks_in_ha_version, + })}
+ ` + : ""; export const loadRepairFlowDialog = loadDataEntryFlowDialog; @@ -53,10 +71,11 @@ export const showRepairsFlowDialog = ( `component.${issue.domain}.issues.${ issue.translation_key || issue.issue_id }.fix_flow.abort.${step.reason}`, - step.description_placeholders + mergePlaceholders(issue, step) ); - return description + return html`${renderIssueDescription(hass, issue)} + ${description ? html` ` - : step.reason; + : step.reason}`; }, renderShowFormStepHeader(hass, step) { @@ -73,7 +92,7 @@ export const showRepairsFlowDialog = ( `component.${issue.domain}.issues.${ issue.translation_key || issue.issue_id }.fix_flow.step.${step.step_id}.title`, - step.description_placeholders + mergePlaceholders(issue, step) ) || hass.localize("ui.dialogs.repair_flow.form.header") ); }, @@ -83,9 +102,10 @@ export const showRepairsFlowDialog = ( `component.${issue.domain}.issues.${ issue.translation_key || issue.issue_id }.fix_flow.step.${step.step_id}.description`, - step.description_placeholders + mergePlaceholders(issue, step) ); - return description + return html`${renderIssueDescription(hass, issue)} + ${description ? html` ` - : ""; + : ""}`; }, renderShowFormStepFieldLabel(hass, step, field, options) { @@ -101,7 +121,7 @@ export const showRepairsFlowDialog = ( `component.${issue.domain}.issues.${ issue.translation_key || issue.issue_id }.fix_flow.step.${step.step_id}.${options?.prefix ? `section.${options.prefix[0]}.` : ""}data.${field.name}`, - step.description_placeholders + mergePlaceholders(issue, step) ); }, @@ -110,11 +130,12 @@ export const showRepairsFlowDialog = ( `component.${issue.domain}.issues.${ issue.translation_key || issue.issue_id }.fix_flow.step.${step.step_id}.${options?.prefix ? `section.${options.prefix[0]}.` : ""}data_description.${field.name}`, - step.description_placeholders + mergePlaceholders(issue, step) ); - return description + return html`${renderIssueDescription(hass, issue)} + ${description ? html`` - : ""; + : ""}`; }, renderShowFormStepFieldError(hass, step, error) { @@ -122,7 +143,7 @@ export const showRepairsFlowDialog = ( `component.${issue.domain}.issues.${ issue.translation_key || issue.issue_id }.fix_flow.error.${error}`, - step.description_placeholders + mergePlaceholders(issue, step) ); }, @@ -165,7 +186,7 @@ export const showRepairsFlowDialog = ( `component.${issue.domain}.issues.step.${ issue.translation_key || issue.issue_id }.fix_flow.${step.step_id}.title`, - step.description_placeholders + mergePlaceholders(issue, step) ) || hass.localize(`component.${issue.domain}.title`) ); }, @@ -175,9 +196,9 @@ export const showRepairsFlowDialog = ( `component.${issue.domain}.issues.${ issue.translation_key || issue.issue_id }.fix_flow.progress.${step.progress_action}`, - step.description_placeholders + mergePlaceholders(issue, step) ); - return description + return html`${renderIssueDescription(hass, issue)}${description ? html` ` - : ""; + : ""}`; }, renderMenuHeader(hass, step) { @@ -194,7 +215,7 @@ export const showRepairsFlowDialog = ( `component.${issue.domain}.issues.${ issue.translation_key || issue.issue_id }.fix_flow.step.${step.step_id}.title`, - step.description_placeholders + mergePlaceholders(issue, step) ) || hass.localize(`component.${issue.domain}.title`) ); }, @@ -204,9 +225,10 @@ export const showRepairsFlowDialog = ( `component.${issue.domain}.issues.${ issue.translation_key || issue.issue_id }.fix_flow.step.${step.step_id}.description`, - step.description_placeholders + mergePlaceholders(issue, step) ); - return description + return html`${renderIssueDescription(hass, issue)} + ${description ? html` ` - : ""; + : ""}`; }, renderMenuOption(hass, step, option) { @@ -222,7 +244,7 @@ export const showRepairsFlowDialog = ( `component.${issue.domain}.issues.${ issue.translation_key || issue.issue_id }.fix_flow.step.${step.step_id}.menu_options.${option}`, - step.description_placeholders + mergePlaceholders(issue, step) ); },