Update
This commit is contained in:
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -32,8 +32,8 @@
|
|||||||
<!-- Nepcha Analytics (nepcha.com) -->
|
<!-- Nepcha Analytics (nepcha.com) -->
|
||||||
<!-- Nepcha is a easy-to-use web analytics. No cookies and fully compliant with GDPR, CCPA and PECR. -->
|
<!-- Nepcha is a easy-to-use web analytics. No cookies and fully compliant with GDPR, CCPA and PECR. -->
|
||||||
<script defer data-site="YOUR_DOMAIN_HERE" src="https://api.nepcha.com/js/nepcha-analytics.js"></script>
|
<script defer data-site="YOUR_DOMAIN_HERE" src="https://api.nepcha.com/js/nepcha-analytics.js"></script>
|
||||||
<script type="module" crossorigin src="/assets/index-3cdb6846.js"></script>
|
<script type="module" crossorigin src="/assets/index-ca6dec9a.js"></script>
|
||||||
<link rel="stylesheet" href="/assets/index-422138e0.css">
|
<link rel="stylesheet" href="/assets/index-fad3e3c2.css">
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div id="root"></div>
|
<div id="root"></div>
|
||||||
|
|||||||
@@ -218,6 +218,7 @@ export function Maintenance() {
|
|||||||
} catch (err) {
|
} catch (err) {
|
||||||
const message = err.response?.data?.error || err.message || "Fehler beim Prüfen des Portainer-Status";
|
const message = err.response?.data?.error || err.message || "Fehler beim Prüfen des Portainer-Status";
|
||||||
setPortainerError(message);
|
setPortainerError(message);
|
||||||
|
showToast({ variant: "error", title: "Statusaktualisierung fehlgeschlagen", description: message });
|
||||||
} finally {
|
} finally {
|
||||||
if (silent) {
|
if (silent) {
|
||||||
setPortainerRefreshing(false);
|
setPortainerRefreshing(false);
|
||||||
@@ -230,7 +231,7 @@ export function Maintenance() {
|
|||||||
|
|
||||||
portainerRequestRef.current = requestPromise;
|
portainerRequestRef.current = requestPromise;
|
||||||
return requestPromise;
|
return requestPromise;
|
||||||
}, []);
|
}, [showToast]);
|
||||||
|
|
||||||
const fetchDuplicates = useCallback(async ({ silent = false } = {}) => {
|
const fetchDuplicates = useCallback(async ({ silent = false } = {}) => {
|
||||||
if (maintenanceActive || updateRunning) {
|
if (maintenanceActive || updateRunning) {
|
||||||
@@ -261,11 +262,14 @@ export function Maintenance() {
|
|||||||
setDuplicatesUpdatedAt(new Date());
|
setDuplicatesUpdatedAt(new Date());
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
if (err.response?.status === 423) {
|
if (err.response?.status === 423) {
|
||||||
|
const message = "Wartungsmodus aktiv – Duplikat-Verwaltung ist vorübergehend deaktiviert.";
|
||||||
setDuplicates([]);
|
setDuplicates([]);
|
||||||
setDuplicatesError("Wartungsmodus aktiv – Duplikat-Verwaltung ist vorübergehend deaktiviert.");
|
setDuplicatesError(message);
|
||||||
|
showToast({ variant: "warning", title: "Duplikat-Verwaltung gesperrt", description: message });
|
||||||
} else {
|
} else {
|
||||||
const message = err.response?.data?.error || err.message || "Fehler beim Laden der Wartungsdaten";
|
const message = err.response?.data?.error || err.message || "Fehler beim Laden der Wartungsdaten";
|
||||||
setDuplicatesError(message);
|
setDuplicatesError(message);
|
||||||
|
showToast({ variant: "error", title: "Duplikate konnten nicht geladen werden", description: message });
|
||||||
}
|
}
|
||||||
} finally {
|
} finally {
|
||||||
if (silent) {
|
if (silent) {
|
||||||
@@ -279,7 +283,7 @@ export function Maintenance() {
|
|||||||
|
|
||||||
duplicatesRequestRef.current = requestPromise;
|
duplicatesRequestRef.current = requestPromise;
|
||||||
return requestPromise;
|
return requestPromise;
|
||||||
}, [maintenanceActive, updateRunning]);
|
}, [maintenanceActive, updateRunning, showToast]);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
fetchPortainerStatus();
|
fetchPortainerStatus();
|
||||||
|
|||||||
Reference in New Issue
Block a user