Update-Kachel aufgeraeumt: ein Suchknopf unten, weniger Text

Auf Vorgabe des Eigentuemers:

* Die Kachel heisst "Update" statt "Version" - sie zeigt beide Update-Wege.
* Der Suchknopf steht ganz unten unter beiden Abschnitten und ist in JEDEM
  Zustand da. Das legt nahe, was er tut: nach Neuem fuer Integration und App
  sehen. Vorher sass er nur im Zweig "ist aktuell", und daneben brauchte es
  ein zweites "Erneut pruefen", damit sich eine womoeglich wochenalte Zahl
  ueberhaupt auffrischen liess, solange ein Update angeboten wurde. Beides
  eruebrigt sich.
* Der Erklaertext "Laedt die neueste Fassung von Gitea ..." ist entfallen.
* Im App-Abschnitt steht statt eines Satzes nur noch "Update <Fassung>
  vorhanden" - wer ohnehin auf Update klickt, braucht nicht mehr.
* Der Pruef-Spinner mitten in der Kachel ist weg; der Knopf sagt selbst
  "Pruefe ...".

In beiden Codebasen. Am laufenden Panel nachgesehen: "Update | Integration
2026.9.5.33 | Auf Update pruefen", ein einziger Knopf. 300 Tests gruen,
0 Tracebacks.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-05 16:34:45 +02:00
parent 45259ae9ba
commit 0268d507d4
5 changed files with 28 additions and 38 deletions
+16 -25
View File
@@ -764,7 +764,7 @@ export function Einstellungen({
Panel kennt nur den Integrationsteil - die App traegt ihre Dateien
fest gebuendelt, das Panel laedt sie bei jedem Aufruf neu. */}
<Tile>
<span className="ads-eyebrow">Version</span>
<span className="ads-eyebrow">Update</span>
{/* Die Zeile benennt selbst, WAS in welcher Fassung auf dem Geraet
liegt - vorher hiess das Label "Installiert" und der Gegenstand
@@ -840,27 +840,12 @@ export function Einstellungen({
/>
}
/>
<p className="dm-erklaerung">
Lädt die neueste Fassung von Gitea und ersetzt den Integrationsordner. Home Assistant
muss danach neu gestartet werden. Fahrzeugprofil, Fahrten und Tankvorgänge sind davon
nicht betroffen.
</p>
<div className="dm-knopfreihe">
<ActionButton variant="primary" onClick={() => void updateInstallierenAusloesen()}>
Update installieren
</ActionButton>
<ActionButton onClick={() => void updatePruefenAusloesen()}>
Erneut prüfen
</ActionButton>
</div>
</>
) : updatePruefenLaeuft ? (
<div className="dm-ladezeile">
<span className="dm-spinner" aria-hidden="true" />
<span className="dm-erklaerung" style={{ marginTop: 0 }}>
Prüfe
</span>
</div>
) : (
<>
{integrationUpdate && (
@@ -871,11 +856,6 @@ export function Einstellungen({
)}
</span>
)}
<div className="dm-knopfreihe">
<ActionButton onClick={() => void updatePruefenAusloesen()}>
Auf Update prüfen
</ActionButton>
</div>
</>
)}
{updateAktionFehler && <p className="dm-fehler">{updateAktionFehler}</p>}
@@ -924,10 +904,7 @@ export function Einstellungen({
05.09.2026 bemerkt (App zeigte 5.22 aktuell, während 5.29
danebenlag). Ein Knopf gehört auch nicht her: zu tun ist erst
nach dem Neustart etwas. */
<p className="dm-erklaerung">
Fassung {otaBuendel.version} liegt bereit - abrufbar, sobald Home Assistant neu
gestartet ist.
</p>
<p className="dm-erklaerung">Update {otaBuendel.version} vorhanden</p>
) : otaBuendel ? (
/* Dieselbe grüne Marke wie bei der Integration, statt eines
Satzes - Vorgabe des Eigentümers, 05.09.2026. Ohne Zeitpunkt:
@@ -941,6 +918,20 @@ export function Einstellungen({
)}
</div>
)}
{/* Ein Suchknopf für die ganze Kachel, ganz unten: er steht damit unter
beiden Abschnitten und legt nahe, was er tut - nach Neuem für
Integration UND App sehen (Vorgabe des Eigentümers, 05.09.2026).
Er ist in JEDEM Zustand da. Vorher sass er nur im Zweig "ist
aktuell", und daneben brauchte es ein zweites "Erneut prüfen", damit
man eine womöglich wochenalte Zahl überhaupt auffrischen konnte,
solange ein Update angeboten wurde. Das erübrigt sich hier. */}
<div className="dm-knopfreihe" style={{ marginTop: "var(--sp-4)" }}>
<ActionButton onClick={() => void updatePruefenAusloesen()} disabled={updatePruefenLaeuft}>
{updatePruefenLaeuft ? "Prüfe …" : "Auf Update prüfen"}
</ActionButton>
</div>
</Tile>
{/* Debug-Mode: Zugaenge, Dongle und der letzte Datensatz des Geraets.
@@ -1 +1 @@
{"version":"2026.9.5.32","sha256":"40c58828e0c94b39976fb1320f7fd5053a4eb1779151f124dc8442dc833072d1","bytes":324696,"gebaut":"2026-09-05T14:23:35Z"}
{"version":"2026.9.5.33","sha256":"e3a92c96b285cead31164f0c91562e6d951c547cf15f1a70095d297a0be6e343","bytes":324618,"gebaut":"2026-09-05T14:27:56Z"}
@@ -3717,7 +3717,7 @@ function vEinst() {
dieselbe Sache aus zwei Blickwinkeln, und zwei Kacheln nebeneinander
zwangen zum Vergleichen zweier Zahlen ueber eine Kachelgrenze hinweg
(Vorgabe des Eigentuemers, 04.09.2026). -->
<div class="tile"><span class="label">Version</span>
<div class="tile"><span class="label">Update</span>
<dl class="rows">
<div class="row" style="border-bottom:0"><dt>Integration</dt><dd>${esc(APP_VERSION || "unbekannt")}</dd></div>
</dl>
@@ -3768,7 +3768,6 @@ function vEinst() {
geladen.</span>
<button class="aktion" style="margin-top:14px" data-update="neustart">Installation abschließen und neu starten</button>`;
}
if (laeuft === "pruefen") return spinner("Prüfe …");
if (u && u.verfuegbar) {
/* Zeitstempel und ein zweiter Pruefknopf gehoeren hierher, nicht nur in
den Zweig "ist aktuell": die angezeigte Version ist das gespeicherte
@@ -3777,20 +3776,20 @@ function vEinst() {
sie aufzufrischen, solange ueberhaupt ein Update angeboten wurde. */
return `<dl class="rows"><div class="row" style="border-bottom:0"><dt>Verfügbare Version</dt>
<dd>${esc(u.version)}${u.geprueft_am ? `<small>geprüft ${dezeitpunkt(new Date(u.geprueft_am))}</small>` : ""}</dd></div></dl>
<span style="display:block;margin-top:8px;color:var(--fg2);font-size:13px;line-height:1.6">
Lädt die neueste Fassung von Gitea und ersetzt den Integrationsordner. Home Assistant
muss danach neu gestartet werden. Fahrzeugprofil, Fahrten, Tankvorgänge und eigene
Fotos bleiben dabei unangetastet - die liegen außerhalb des Integrationsordners.</span>
<button class="aktion primaer" style="margin-top:14px" data-update="installieren">Update installieren</button>
<button class="aktion" style="margin-top:8px" data-update="pruefen">Erneut prüfen</button>`;
<button class="aktion primaer" style="margin-top:14px" data-update="installieren">Update installieren</button>`;
}
return `${u ? `<span class="standmarke">aktuell${u.geprueft_am
? `<small>geprüft ${dedat(new Date(u.geprueft_am))}</small>` : ""}</span>` : ""}
<button class="aktion" style="margin-top:14px" data-update="pruefen">Auf Update prüfen</button>`;
return u ? `<span class="standmarke">aktuell${u.geprueft_am
? `<small>geprüft ${dedat(new Date(u.geprueft_am))}</small>` : ""}</span>` : "";
})()}
${INTEGRATION_UPDATE && INTEGRATION_UPDATE.fehler && !INTEGRATION_UPDATE_LAEUFT
? `<span class="label" style="margin-top:10px;color:var(--red)">${esc(INTEGRATION_UPDATE.fehler)}</span>`
: ""}
<!-- Ein Suchknopf fuer die ganze Kachel, ganz unten - in JEDEM Zustand.
Vorher sass er nur im Zweig "ist aktuell", und daneben brauchte es ein
zweites "Erneut pruefen", damit sich eine womoeglich wochenalte Zahl
ueberhaupt auffrischen liess, solange ein Update angeboten wurde. Das
eruebrigt sich so. Wortgleich mit der App (Einstellungen.tsx). -->
<button class="aktion" style="margin-top:14px" data-update="pruefen"${INTEGRATION_UPDATE_LAEUFT === "pruefen" ? " disabled" : ""}>${INTEGRATION_UPDATE_LAEUFT === "pruefen" ? "Prüfe …" : "Auf Update prüfen"}</button>
</div>
<!-- Debug-Mode: Zugaenge, Dongle und der letzte Datensatz des Geraets.
Drei Kacheln, die im Alltag nichts zu suchen haben und beim Suchen
@@ -1,7 +1,7 @@
{
"domain": "audi_dashboard",
"name": "Audi Dashboard",
"version": "2026.9.5.32",
"version": "2026.9.5.33",
"documentation": "https://gitea.nothaft.cloud/paul/audi-app/src/branch/main/README.md",
"issue_tracker": "https://gitea.nothaft.cloud/paul/audi-app/issues",
"codeowners": [