diff --git a/src/App.js b/src/App.js index b8b2eaf..13f2393 100644 --- a/src/App.js +++ b/src/App.js @@ -32,6 +32,7 @@ function App() { block: false, etaSeconds: null }); + const [initializing, setInitializing] = useState(false); const weekdays = ['Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag', 'Sonntag']; const delay = useCallback((ms) => new Promise((resolve) => setTimeout(resolve, ms)), []); @@ -119,6 +120,7 @@ function App() { setAdminSettings(null); setAdminSettingsLoading(false); setAvailableCollapsed(true); + setInitializing(false); }, []); const handleUnauthorized = useCallback(() => { @@ -244,6 +246,7 @@ function App() { setLoading(true); setError(''); setStatus(''); + setInitializing(true); startSyncProgress('Anmeldung wird geprüft...', 5, true); const ticker = setInterval(() => nudgeSyncProgress('Anmeldung wird geprüft...', 2, 40), 1000); @@ -284,6 +287,7 @@ function App() { } finally { clearInterval(ticker); finishSyncProgress(); + setInitializing(false); setLoading(false); } }; @@ -461,11 +465,17 @@ function App() { let ticker; let cancelled = false; (async () => { + let storedToken = null; + try { + storedToken = localStorage.getItem(TOKEN_STORAGE_KEY); + } catch (err) { + console.warn('Konnte gespeicherten Token nicht lesen:', err); + } + if (!storedToken) { + return; + } + setInitializing(true); try { - const storedToken = localStorage.getItem(TOKEN_STORAGE_KEY); - if (!storedToken) { - return; - } startSyncProgress('Session wird wiederhergestellt...', 5, true); ticker = setInterval(() => nudgeSyncProgress('Session wird wiederhergestellt...', 1, 40), 1000); const result = await bootstrapSession(storedToken, { progress: { update: updateSyncProgress } }); @@ -485,12 +495,13 @@ function App() { } } } catch (err) { - console.warn('Konnte gespeicherten Token nicht lesen oder wiederherstellen:', err); + console.warn('Konnte Session nicht wiederherstellen:', err); } finally { if (ticker) { clearInterval(ticker); } finishSyncProgress(); + setInitializing(false); } })(); return () => { @@ -885,6 +896,20 @@ function App() { ); } + if (initializing) { + return ( + <> +
+
+

Initialisiere...

+

Bitte warte, bis alle Betriebe geprüft wurden.

+
+
+ + + ); + } + if (loading) { return ( <> diff --git a/startContainer.sh b/startContainer.sh index 06b5140..d14d96a 100755 --- a/startContainer.sh +++ b/startContainer.sh @@ -1,12 +1,16 @@ #!/bin/bash -set -e +set -euo pipefail -# Optionaler erster Parameter als Git-Message -MSG="${1:-Aktueller Stand}" +# Alle übergebenen Argumente als Commit-Message (oder Fallback) +if [[ $# -gt 0 ]]; then + MSG="$*" +else + MSG="Aktueller Stand" +fi -# Prüfen, ob Änderungen vorhanden sind +# Nur committen, wenn es Änderungen gibt if [[ -n $(git status --porcelain) ]]; then - echo "📦 Änderungen erkannt – committe mit Nachricht: '$MSG'" + echo "📦 Committe mit Nachricht: '$MSG'" git add . git commit -m "$MSG" git push @@ -17,6 +21,4 @@ fi # Container neu bauen und starten echo "🐳 Starte Docker Compose Build & Up..." DOCKER_BUILDKIT=1 COMPOSE_DOCKER_CLI_BUILD=1 docker compose up --build -d pickup-config-app - echo "🚀 Fertig!" -