style: Layout-Anpassung für Einstellungsseite (Ausrichtung rechts oben)
- Inhalte in GeneralSettings und OPCUAInterfaceSettings nicht mehr zentriert - Layout konsistent mit anderen Seiten (rechts oben durch max-w-5xl + mr-auto) - Bessere Ausrichtung für Desktop-Auflösung und altes Laptop-Design
This commit is contained in:
@@ -1,10 +1,13 @@
|
|||||||
"use client";
|
"use client";
|
||||||
|
// /components/main/kabelueberwachung/kue705FO/modals/TdrEinstellung.tsx
|
||||||
import React, { useState, useEffect } from "react";
|
import React, { useState, useEffect } from "react";
|
||||||
|
|
||||||
declare global {
|
declare global {
|
||||||
interface Window {
|
interface Window {
|
||||||
win_tdrActive?: number[];
|
win_tdrActive?: number[];
|
||||||
|
win_tdrAmp?: string[];
|
||||||
|
win_tdrPulse?: string[];
|
||||||
|
win_tdrTrigger?: string[];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -14,25 +17,41 @@ interface Props {
|
|||||||
|
|
||||||
export default function TdrEinstellung({ slot }: Props) {
|
export default function TdrEinstellung({ slot }: Props) {
|
||||||
const [tdrActive, setTdrActive] = useState(false);
|
const [tdrActive, setTdrActive] = useState(false);
|
||||||
const [params, setParams] = useState({
|
const [tdrData, setTdrData] = useState({
|
||||||
verstarkung: "",
|
verstarkung: "",
|
||||||
pulsweite: "",
|
pulsweite: "",
|
||||||
trigger: "",
|
trigger: "",
|
||||||
});
|
});
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (
|
if (typeof window !== "undefined") {
|
||||||
typeof window !== "undefined" &&
|
if (Array.isArray(window.win_tdrActive)) {
|
||||||
Array.isArray(window.win_tdrActive) &&
|
const status = parseInt(String(window.win_tdrActive[slot]));
|
||||||
typeof window.win_tdrActive[slot] !== "undefined"
|
setTdrActive(status === 1);
|
||||||
) {
|
}
|
||||||
const status = parseInt(String(window.win_tdrActive[slot]));
|
setTdrData({
|
||||||
setTdrActive(status === 1);
|
verstarkung: window.win_tdrAmp?.[slot] ?? "",
|
||||||
} else {
|
pulsweite: window.win_tdrPulse?.[slot] ?? "",
|
||||||
console.warn("⚠️ win_tdrActive ist nicht definiert oder Slot ungültig");
|
trigger: window.win_tdrTrigger?.[slot] ?? "",
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}, [slot]);
|
}, [slot]);
|
||||||
|
|
||||||
|
const handleSave = () => {
|
||||||
|
const v = tdrData.verstarkung.trim();
|
||||||
|
const p = tdrData.pulsweite.trim();
|
||||||
|
const t = tdrData.trigger.trim();
|
||||||
|
|
||||||
|
if (!v || !p || !t) {
|
||||||
|
alert("Bitte alle Felder ausfüllen.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const url = `/CPL?KTT${slot}=0&V=${v}&P=${p}&T=${t}`;
|
||||||
|
alert(`Sende: ${url}`);
|
||||||
|
window.location.href = url;
|
||||||
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="space-y-4 text-sm laptop:text-base">
|
<div className="space-y-4 text-sm laptop:text-base">
|
||||||
<h2 className="text-base laptop:text-lg font-semibold">
|
<h2 className="text-base laptop:text-lg font-semibold">
|
||||||
@@ -62,26 +81,47 @@ export default function TdrEinstellung({ slot }: Props) {
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="grid grid-cols-1 md:grid-cols-3 gap-4">
|
<div className="grid grid-cols-1 md:grid-cols-3 gap-4">
|
||||||
<input
|
<div>
|
||||||
placeholder="Verstärkung"
|
<label className="block text-sm font-medium mb-1">Verstärkung</label>
|
||||||
value={params.verstarkung}
|
<input
|
||||||
onChange={(e) =>
|
value={tdrData.verstarkung}
|
||||||
setParams({ ...params, verstarkung: e.target.value })
|
onChange={(e) =>
|
||||||
}
|
setTdrData({ ...tdrData, verstarkung: e.target.value })
|
||||||
className="border px-2 py-1 rounded"
|
}
|
||||||
/>
|
className="border px-2 py-1 rounded w-full"
|
||||||
<input
|
/>
|
||||||
placeholder="Pulsweite"
|
</div>
|
||||||
value={params.pulsweite}
|
|
||||||
onChange={(e) => setParams({ ...params, pulsweite: e.target.value })}
|
<div>
|
||||||
className="border px-2 py-1 rounded"
|
<label className="block text-sm font-medium mb-1">Pulsweite</label>
|
||||||
/>
|
<input
|
||||||
<input
|
value={tdrData.pulsweite}
|
||||||
placeholder="Trigger"
|
onChange={(e) =>
|
||||||
value={params.trigger}
|
setTdrData({ ...tdrData, pulsweite: e.target.value })
|
||||||
onChange={(e) => setParams({ ...params, trigger: e.target.value })}
|
}
|
||||||
className="border px-2 py-1 rounded"
|
className="border px-2 py-1 rounded w-full"
|
||||||
/>
|
/>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<label className="block text-sm font-medium mb-1">Trigger</label>
|
||||||
|
<input
|
||||||
|
value={tdrData.trigger}
|
||||||
|
onChange={(e) =>
|
||||||
|
setTdrData({ ...tdrData, trigger: e.target.value })
|
||||||
|
}
|
||||||
|
className="border px-2 py-1 rounded w-full"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className="pt-4 flex justify-end">
|
||||||
|
<button
|
||||||
|
onClick={handleSave}
|
||||||
|
className="bg-blue-600 text-white px-4 py-2 rounded shadow hover:bg-blue-700 transition"
|
||||||
|
>
|
||||||
|
💾 Einstellungen senden
|
||||||
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -65,7 +65,7 @@ const GeneralSettings: React.FC = () => {
|
|||||||
|
|
||||||
//-------------------------------
|
//-------------------------------
|
||||||
return (
|
return (
|
||||||
<div className="p-2 md:p-3 bg-gray-100 max-w-2xl mx-auto">
|
<div className="p-6 md:p-3 bg-gray-100 max-w-5xl mr-auto">
|
||||||
<h2 className="text-sm md:text-md font-bold mb-2">
|
<h2 className="text-sm md:text-md font-bold mb-2">
|
||||||
Allgemeine Einstellungen
|
Allgemeine Einstellungen
|
||||||
</h2>
|
</h2>
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ export default function OPCUAInterfaceSettings() {
|
|||||||
};
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="max-w-lg mx-auto p-2 bg-gray-100 shadow-md rounded-lg">
|
<div className="p-6 md:p-3 bg-gray-100 max-w-5xl mr-auto ">
|
||||||
<h2 className="text-base font-semibold mb-3">
|
<h2 className="text-base font-semibold mb-3">
|
||||||
OPCUA Server Einstellungen
|
OPCUA Server Einstellungen
|
||||||
</h2>
|
</h2>
|
||||||
|
|||||||
@@ -6,5 +6,5 @@
|
|||||||
2: Patch oder Hotfix (Bugfixes oder kleine Änderungen).
|
2: Patch oder Hotfix (Bugfixes oder kleine Änderungen).
|
||||||
|
|
||||||
*/
|
*/
|
||||||
const webVersion = "1.6.257";
|
const webVersion = "1.6.258";
|
||||||
export default webVersion;
|
export default webVersion;
|
||||||
|
|||||||
Reference in New Issue
Block a user