summaryrefslogtreecommitdiff
path: root/src-tauri/src/lib.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src-tauri/src/lib.rs')
-rw-r--r--src-tauri/src/lib.rs22
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;
}
}