diff --git a/app/static/app/css/custom.css b/app/static/app/css/custom.css index 6e0d3e7..4110ee4 100644 --- a/app/static/app/css/custom.css +++ b/app/static/app/css/custom.css @@ -19,6 +19,50 @@ } } +@keyframes openSettingsbg { + 0% { + height: 7vh; + } + 100% { + height: 100vh; + } +} + +@keyframes openSettingscolor { + 0% { + height: 6vh; + } + 100% { + height: 95vh; + } +} + +@keyframes closeSettingscolor { + 0% { + height: 95vh; + } + 100% { + height: 6vh; + } +} + +@keyframes closeSettingsbg { + 0% { + height: 100vh; + } + 100% { + height: 7vh; + } +} + +.HeaderDefaultHeightbg { + height: 7vh; +} + +.HeaderDefaultHeightcolor { + height: 6vh; +} + .slide-out { animation: slide-out 1s forwards; } @@ -27,15 +71,29 @@ animation: fade-in 1s forwards; } -#header-bg-block { - height: 8vh; +.openSettingsbg { + animation: openSettingsbg 1s forwards; +} +.closeSettingsbg { + animation: closeSettingsbg 1s forwards; +} + +.openSettingscolor { + animation: openSettingscolor 1s forwards; +} +.closeSettingscolor { + animation: closeSettingscolor 1s forwards; +} + +.header-bg-block { padding: 0; + overflow: hidden; } -#header-color-block { +.header-color-block { border-bottom-left-radius: 3rem; border-bottom-right-radius: 3rem; - height: 7vh; + overflow: hidden; } .maincontainer { diff --git a/app/static/app/images/close.png b/app/static/app/images/close.png new file mode 100644 index 0000000..c897f7c Binary files /dev/null and b/app/static/app/images/close.png differ diff --git a/app/static/app/js/timer.js b/app/static/app/js/timer.js index 593d6a8..f4a7963 100644 --- a/app/static/app/js/timer.js +++ b/app/static/app/js/timer.js @@ -1,4 +1,6 @@ let timerInterval; +let elapsedTime = 0; // Zeit, die bereits vergangen ist, bevor der Timer pausiert wurde +let isRunning = false; // Zustand des Timers (läuft oder pausiert) const timerDisplay = document.getElementById('timerDisplay'); const secondsDisplay = document.getElementById('secondsDisplay'); const startButton = document.getElementById('startTimer'); @@ -16,7 +18,7 @@ function displayTime(seconds) { secondsDisplay.textContent = ":" + String(secs).padStart(2, '0'); -} +}; function timerIsRunning() { document.getElementById('startTimer').classList.add('d-none') @@ -38,26 +40,44 @@ function timerIsPause() { document.getElementById('timerDisplay').style.color = 'rdb(43,100,110)' } + // Timer starten und Startzeit im localStorage speichern startButton.addEventListener('click', () => { - const startTime = Date.now(); - localStorage.setItem('startTime', startTime); - timerIsRunning(); - startTimer(startTime); + if (!isRunning) { + const startTime = Date.now() - elapsedTime * 1000; // Berücksichtige die bereits vergangene Zeit + localStorage.setItem('startTime', startTime); + localStorage.setItem('elapsedTime', elapsedTime); // Speichere auch die vergangene Zeit + startTimer(startTime); + timerIsRunning(); + isRunning = true; + } +}); + +// Timer pausieren +pauseButton.addEventListener('click', () => { + if (isRunning) { + clearInterval(timerInterval); + timerIsPause(); + isRunning = false; + const savedStartTime = localStorage.getItem('startTime'); + if (savedStartTime) { + elapsedTime = Math.floor((Date.now() - savedStartTime) / 1000); // Berechne die vergangene Zeit + } + localStorage.setItem('elapsedTime', elapsedTime); // Speichere die vergangene Zeit + } }); // Timer zurücksetzen und Speicher leeren resetButton.addEventListener('click', () => { clearInterval(timerInterval); - localStorage.removeItem('startTime'); + elapsedTime = 0; timerIsReset(); + isRunning = false; + localStorage.removeItem('startTime'); + localStorage.removeItem('elapsedTime'); displayTime(0); }); -pauseButton.addEventListener('click', () => { - -}) - // Timer-Funktion, die die vergangene Zeit seit dem Start berechnet function startTimer(startTime) { clearInterval(timerInterval); // Vorherigen Timer stoppen, falls vorhanden @@ -70,8 +90,10 @@ function startTimer(startTime) { // Überprüfen, ob ein Timer beim Laden der Seite bereits läuft window.addEventListener('load', () => { const savedStartTime = localStorage.getItem('startTime'); - if (savedStartTime) { + elapsedTime = parseInt(localStorage.getItem('elapsedTime')) || 0; + if (savedStartTime && !isRunning) { startTimer(parseInt(savedStartTime)); timerIsRunning(); + isRunning = true; } }); \ No newline at end of file diff --git a/app/templates/app/base.html b/app/templates/app/base.html index 5bc1d07..87aa0ea 100644 --- a/app/templates/app/base.html +++ b/app/templates/app/base.html @@ -15,14 +15,15 @@
-
-
+