diff --git a/client/src/common/components/Dropdown/DropdownComponent.jsx b/client/src/common/components/Dropdown/DropdownComponent.jsx
index 2b700a42..088d133f 100644
--- a/client/src/common/components/Dropdown/DropdownComponent.jsx
+++ b/client/src/common/components/Dropdown/DropdownComponent.jsx
@@ -61,64 +61,14 @@ function DropdownComponent() {
title: "Optimalen Ping setzen (ms)", placeholder: "Ping (ms)", value
}));
- const updateDownload = async () => patchDialog("download", (value) => ({
- title: "Optimalen Down-Speed setzen (Mbit/s)", placeholder: "Down-Speed (Mbit/s)", value
- }));
-
const updateUpload = async () => patchDialog("upload", (value) => ({
title: "Optimalen Up-Speed setzen (Mbit/s)", placeholder: "Up-Speed (Mbit/s)", value
}));
- const updatePassword = async () => {
- toggleDropdown();
- setDialog({
- title: "Neues Passwort festlegen",
- placeholder: "Neues Passwort",
- type: "password",
- unsetButton: localStorage.getItem("password") != null ? "Sperre aufheben" : undefined,
- onClear: () => patchRequest("/config/password", {value: "none"})
- .then(() => showFeedback(<>Die Passwortsperre wurde aufgehoben und das festgelegte Passwort wurde
- entfernt.>, false))
- .then(() => localStorage.removeItem("password")),
- onSuccess: (value) => patchRequest("/config/password", {value})
- .then(() => showFeedback(undefined, false))
- .then(() => localStorage.setItem("password", value))
- })
- }
-
- const updateServer = () => patchDialog("serverId", async (value) => ({
- title: "Speedtest-Server setzen",
- select: true,
- selectOptions: await jsonRequest("/info/server"),
- unsetButton: "Manuell festlegen",
- onClear: updateServerManually,
- value
+ const updateDownload = async () => patchDialog("download", (value) => ({
+ title: "Optimalen Down-Speed setzen (Mbit/s)", placeholder: "Down-Speed (Mbit/s)", value
}));
- const updateServerManually = () => patchDialog("serverId", (value) => ({
- title: "Speedtest-Server setzen", placeholder: "Server-ID", type: "number", value: value,
- }), false);
-
- const togglePause = () => {
- toggleDropdown();
- if (!status.paused) {
- setDialog({
- title: "Speedtests pausieren für...",
- placeholder: "Stunden",
- type: "number",
- buttonText: "Pausieren",
- unsetButton: "Manuell freigeben",
- onClear: () => postRequest("/speedtests/pause", {resumeIn: -1}).then(updateStatus),
- onSuccess: (hours) => postRequest("/speedtests/pause", {resumeIn: hours}).then(updateStatus)
- });
- } else postRequest("/speedtests/continue").then(updateStatus);
- }
-
- const showCredits = () => {
- toggleDropdown();
- setDialog({title: "MySpeed", description: creditsInfo, buttonText: "Schließen"});
- }
-
const recommendedSettings = async () => {
toggleDropdown();
const result = await jsonRequest("/recommendations");
@@ -138,24 +88,36 @@ function DropdownComponent() {
} else setDialog({title: "Automatische Empfehlungen", description: recommendationsError, buttonText: "Okay"});
}
- function exportDialog() {
+ const updateServer = () => patchDialog("serverId", async (value) => ({
+ title: "Speedtest-Server setzen",
+ select: true,
+ selectOptions: await jsonRequest("/info/server"),
+ unsetButton: "Manuell festlegen",
+ onClear: updateServerManually,
+ value
+ }));
+
+ const updateServerManually = () => patchDialog("serverId", (value) => ({
+ title: "Speedtest-Server setzen", placeholder: "Server-ID", type: "number", value: value,
+ }), false);
+
+ const updatePassword = async () => {
toggleDropdown();
setDialog({
- select: true,
- title: "Speedtests exportieren",
- buttonText: "Herunterladen",
- value: "json",
- selectOptions: exportOptions,
- onSuccess: value => downloadRequest("/export/" + value)
- });
+ title: "Neues Passwort festlegen",
+ placeholder: "Neues Passwort",
+ type: "password",
+ unsetButton: localStorage.getItem("password") != null ? "Sperre aufheben" : undefined,
+ onClear: () => patchRequest("/config/password", {value: "none"})
+ .then(() => showFeedback(<>Die Passwortsperre wurde aufgehoben und das festgelegte Passwort wurde
+ entfernt.>, false))
+ .then(() => localStorage.removeItem("password")),
+ onSuccess: (value) => patchRequest("/config/password", {value})
+ .then(() => showFeedback(undefined, false))
+ .then(() => localStorage.setItem("password", value))
+ })
}
- const updateCronManually = () => patchDialog("cron", (value) => ({
- title: <>Test-Häufigkeit einstellen ?>,
- placeholder: "Cron-Regel",
- value: value,
- }), false);
-
const updateCron = async () => {
toggleDropdown();
setDialog({
@@ -169,6 +131,12 @@ function DropdownComponent() {
});
}
+ const updateCronManually = () => patchDialog("cron", (value) => ({
+ title: <>Test-Häufigkeit einstellen ?>,
+ placeholder: "Cron-Regel",
+ value: value,
+ }), false);
+
const updateTime = async () => {
toggleDropdown();
setDialog({
@@ -184,11 +152,32 @@ function DropdownComponent() {
});
}
- const showIntegrationInfo = () => setDialog({
- title: "HealthChecks Integration",
- description: healthChecksInfo,
- buttonText: "Okay"
- });
+ function exportDialog() {
+ toggleDropdown();
+ setDialog({
+ select: true,
+ title: "Speedtests exportieren",
+ buttonText: "Herunterladen",
+ value: "json",
+ selectOptions: exportOptions,
+ onSuccess: value => downloadRequest("/export/" + value)
+ });
+ }
+
+ const togglePause = () => {
+ toggleDropdown();
+ if (!status.paused) {
+ setDialog({
+ title: "Speedtests pausieren für...",
+ placeholder: "Stunden",
+ type: "number",
+ buttonText: "Pausieren",
+ unsetButton: "Manuell freigeben",
+ onClear: () => postRequest("/speedtests/pause", {resumeIn: -1}).then(updateStatus),
+ onSuccess: (hours) => postRequest("/speedtests/pause", {resumeIn: hours}).then(updateStatus)
+ });
+ } else postRequest("/speedtests/continue").then(updateStatus);
+ }
const updateIntegration = async () => patchDialog("healthChecksUrl", (value) => ({
title: <>HealthChecks Integration ?>,
@@ -199,6 +188,17 @@ function DropdownComponent() {
.then(() => showFeedback(<>Die Healthchecks wurden deaktiviert>))
}));
+ const showIntegrationInfo = () => setDialog({
+ title: "HealthChecks Integration",
+ description: healthChecksInfo,
+ buttonText: "Okay"
+ });
+
+ const showCredits = () => {
+ toggleDropdown();
+ setDialog({title: "MySpeed", description: creditsInfo, buttonText: "Schließen"});
+ }
+
const options = [
{run: updatePing, icon: faPingPongPaddleBall, text: "Optimaler Ping"},
{run: updateUpload, icon: faArrowUp, text: "Optimaler Up-Speed"},