start: Radar-Kasten springt wirklich zum Radar, Checkliste fragt vor Neustart und Freigeben
- "Ansehen" im Radar-Kasten fuehrt nach /modelle#radar. Der Router sprang beim Rendern zum Anker, als dort noch "wird gelesen" stand; jetzt springt die Modelle-Seite, sobald alles ueber dem Radar geladen ist. - Knoepfe der Checkliste, die einen Dienst (neu) starten, einen Job erneut laufen lassen oder ein Update freigeben, fragen vorher nach. Das Protokoll oeffnet weiter sofort; der Dialog wird erst bei Bedarf geladen und bleibt aus dem Start-Buendel. - Scheitert nur ein spaeteres Nachladen, bleibt der letzte Stand der Startseite stehen statt einer Fehlerflaeche. - Test fuer die Rueckfrage-Logik (wann gefragt wird, Checkliste erst nach "Ja", gesperrter Ja-Knopf, Ersatz-Hinweis beim Installieren). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
3c1d8bf88f
commit
739f27a7e5
@@ -1,4 +1,5 @@
|
||||
import { useState } from "react"
|
||||
import { useEffect, useState } from "react"
|
||||
import { useLocation } from "@tanstack/react-router"
|
||||
import { Search } from "lucide-react"
|
||||
import { Auftraege } from "@/components/cockpit/Auftraege"
|
||||
import { Bestaetigen } from "@/components/cockpit/Bestaetigen"
|
||||
@@ -6,7 +7,7 @@ import { Chip, type ChipArt, Zustandsfeld } from "@/components/cockpit/Chip"
|
||||
import { Panel } from "@/components/cockpit/Panel"
|
||||
import { Button } from "@/components/ui/button"
|
||||
import {
|
||||
useAufraeumen, useAufraeumenLoeschen, useModellLaden, useModelle, useNutzung, useRadar, useRadarAktion,
|
||||
useAufraeumen, useAufraeumenLoeschen, useJobs, useModellLaden, useModelle, useNutzung, useRadar, useRadarAktion,
|
||||
useRadarSuche, useStart,
|
||||
} from "@/lib/abfragen"
|
||||
import { messwert, RADAR_STATUS_TEXT, rolleVon } from "@/lib/anzeige"
|
||||
@@ -365,8 +366,19 @@ function AufraeumenPanel() {
|
||||
export function ModelleSeite() {
|
||||
const modelle = useModelle()
|
||||
const nutzung = useNutzung()
|
||||
const radar = useRadar()
|
||||
const jobs = useJobs()
|
||||
const [suche, setSuche] = useState(false)
|
||||
|
||||
// „Ansehen“ im Radar-Kasten der Startseite führt nach /modelle#radar. Der Router springt beim
|
||||
// Rendern selbst zum Anker — da steht hier aber noch „wird gelesen“. Also springen wir, sobald
|
||||
// alles über dem Radar geladen ist und die Seite nicht mehr wächst.
|
||||
const hash = useLocation({ select: (l) => l.hash })
|
||||
const bereit = !!modelle.data && !nutzung.isPending && !radar.isPending && !jobs.isPending
|
||||
useEffect(() => {
|
||||
if (bereit && hash === "radar") document.getElementById("radar")?.scrollIntoView({ block: "start" })
|
||||
}, [bereit, hash])
|
||||
|
||||
if (modelle.isPending) return <Zustandsfeld text="Modelle werden gelesen …" />
|
||||
// Scheitert nur ein späteres Nachladen, bleibt der letzte Stand stehen.
|
||||
if (!modelle.data) return <Zustandsfeld fehler text={`Die Modell-Liste fehlt: ${modelle.error?.message ?? "keine Daten"}`} />
|
||||
|
||||
Reference in New Issue
Block a user