fix: Gerätestandort im Header jetzt einzeilig – kein Zeilenumbruch mehr
- whitespace-nowrap verhindert Umbruch - truncate + max-w beschränkt Länge visuell - bessere Darstellung auch bei hoher Auflösung
This commit is contained in:
@@ -95,11 +95,11 @@ function Header() {
|
||||
height={60}
|
||||
priority
|
||||
/>
|
||||
<div className="flex flex-col leading-tight">
|
||||
<div className="flex flex-col leading-tight whitespace-nowrap">
|
||||
<h2 className="text-xl laptop:text-base xl:text-lg font-bold">
|
||||
Meldestation
|
||||
</h2>
|
||||
<p className="text-gray-600 text-lg laptop:text-sm xl:text-base">
|
||||
<p className="text-gray-600 text-lg laptop:text-sm xl:text-base truncate max-w-[20vw]">
|
||||
{deviceName}
|
||||
</p>
|
||||
</div>
|
||||
|
||||
@@ -26,34 +26,63 @@ export default function TdrEinstellung({ slot }: Props) {
|
||||
|
||||
const handleSave = () => {
|
||||
const { daempfung, geschwindigkeit, trigger } = tdrData;
|
||||
|
||||
if (!daempfung.trim() || !geschwindigkeit.trim() || !trigger.trim()) {
|
||||
alert("Bitte alle Felder ausfüllen.");
|
||||
return;
|
||||
}
|
||||
|
||||
const base = `${window.location.origin}/CPL?/kabelueberwachung.html`;
|
||||
const isDev = window.location.hostname === "localhost";
|
||||
|
||||
const urls = [
|
||||
`${base}&KTD${slot}=${tdrData.daempfung.trim()}`,
|
||||
`${base}&KTS${slot}=${tdrData.geschwindigkeit.trim()}`,
|
||||
`${base}&KTE${slot}=${tdrData.trigger.trim()}`,
|
||||
];
|
||||
if (isDev) {
|
||||
const requests = [
|
||||
{ key: "win_tdrAtten", value: daempfung.trim() },
|
||||
{ key: "win_tdrSpeed", value: geschwindigkeit.trim() },
|
||||
{ key: "win_tdrTrigger", value: trigger.trim() },
|
||||
];
|
||||
|
||||
Promise.all(
|
||||
urls.map((url) =>
|
||||
fetch(url).then((res) => {
|
||||
if (!res.ok) throw new Error(`Fehler bei ${url}`);
|
||||
return res.text();
|
||||
})
|
||||
Promise.all(
|
||||
requests.map(({ key, value }) =>
|
||||
fetch(
|
||||
`/api/cpl/updateTdrSettingsDataAPIHandler?key=${key}&slot=${slot}&value=${value}`
|
||||
).then((res) => {
|
||||
if (!res.ok) throw new Error(`Fehler bei ${key}`);
|
||||
return res.json();
|
||||
})
|
||||
)
|
||||
)
|
||||
)
|
||||
.then(() => {
|
||||
alert("TDR-Einstellungen erfolgreich gesendet.");
|
||||
})
|
||||
.catch((err) => {
|
||||
console.error("Fehler beim Senden:", err);
|
||||
alert("Fehler beim Senden der TDR-Einstellungen.");
|
||||
});
|
||||
.then(() => {
|
||||
alert("TDR-Mockdaten erfolgreich gespeichert.");
|
||||
})
|
||||
.catch((err) => {
|
||||
console.error("Fehler beim Speichern der Mockdaten:", err);
|
||||
alert("Fehler beim Speichern der TDR-Einstellungen.");
|
||||
});
|
||||
} else {
|
||||
const base = `${window.location.origin}/CPL?/kabelueberwachung.html`;
|
||||
|
||||
const urls = [
|
||||
`${base}&KTD${slot}=${daempfung.trim()}`,
|
||||
`${base}&KTS${slot}=${geschwindigkeit.trim()}`,
|
||||
`${base}&KTE${slot}=${trigger.trim()}`,
|
||||
];
|
||||
|
||||
Promise.all(
|
||||
urls.map((url) =>
|
||||
fetch(url).then((res) => {
|
||||
if (!res.ok) throw new Error(`Fehler bei ${url}`);
|
||||
return res.text();
|
||||
})
|
||||
)
|
||||
)
|
||||
.then(() => {
|
||||
alert("TDR-Einstellungen erfolgreich gesendet.");
|
||||
})
|
||||
.catch((err) => {
|
||||
console.error("Fehler beim Senden:", err);
|
||||
alert("Fehler beim Senden der TDR-Einstellungen.");
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
const handleTdrToggle = () => {
|
||||
@@ -65,7 +94,7 @@ export default function TdrEinstellung({ slot }: Props) {
|
||||
|
||||
if (isDev) {
|
||||
fetch(
|
||||
`/api/cpl/updateTdrSettingsDataAPIHandler?slot=${slot}&value=${
|
||||
`/api/cpl/updateTdrSettingsDataAPIHandler?key=win_tdrActive&slot=${slot}&value=${
|
||||
newState ? 1 : 0
|
||||
}`
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user