diff options
Diffstat (limited to 'src-tauri/src')
| -rw-r--r-- | src-tauri/src/lib.rs | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/src-tauri/src/lib.rs b/src-tauri/src/lib.rs index aff41cc..2b359eb 100644 --- a/src-tauri/src/lib.rs +++ b/src-tauri/src/lib.rs @@ -111,17 +111,25 @@ fn skip_phase( ) -> Result<(), String> { use tauri::Emitter; let mut ts = timer.0.lock().unwrap(); - let app_data = data.data.lock().unwrap(); - let s = &app_data.settings; + let (work_duration_secs, short_break_secs, long_break_secs, sessions_before_long_break) = { + let app_data = data.data.lock().unwrap(); + let settings = &app_data.settings; + ( + settings.work_duration_secs, + settings.short_break_secs, + settings.long_break_secs, + settings.sessions_before_long_break, + ) + }; match ts.phase { TimerPhase::Work => { ts.session_count += 1; let (next_phase, next_secs) = - if ts.session_count % s.sessions_before_long_break == 0 { - (TimerPhase::LongBreak, s.long_break_secs) + if ts.session_count % sessions_before_long_break == 0 { + (TimerPhase::LongBreak, long_break_secs) } else { - (TimerPhase::ShortBreak, s.short_break_secs) + (TimerPhase::ShortBreak, short_break_secs) }; ts.phase = next_phase; ts.total_secs = next_secs; @@ -129,8 +137,8 @@ fn skip_phase( } TimerPhase::ShortBreak | TimerPhase::LongBreak => { ts.phase = TimerPhase::Work; - ts.total_secs = s.work_duration_secs; - ts.remaining_secs = s.work_duration_secs; + ts.total_secs = work_duration_secs; + ts.remaining_secs = work_duration_secs; } } |
