diff options
Diffstat (limited to 'src/habit/bit.rs')
-rw-r--r-- | src/habit/bit.rs | 25 |
1 files changed, 8 insertions, 17 deletions
diff --git a/src/habit/bit.rs b/src/habit/bit.rs index 2bbb0ac..da64ece 100644 --- a/src/habit/bit.rs +++ b/src/habit/bit.rs @@ -1,11 +1,12 @@ use std::collections::HashMap; +use std::default::Default; use chrono::NaiveDate; use serde::{Deserialize, Serialize}; use crate::habit::prelude::default_auto; use crate::habit::traits::Habit; -use crate::habit::{TrackEvent, ViewMode}; +use crate::habit::{InnerData, TrackEvent}; use crate::CONFIGURATION; #[derive(Copy, Clone, Debug, Serialize, Deserialize)] @@ -42,10 +43,7 @@ pub struct Bit { auto: bool, #[serde(skip)] - view_month_offset: u32, - - #[serde(skip)] - view_mode: ViewMode, + inner_data: InnerData, } impl Bit { @@ -55,8 +53,7 @@ impl Bit { stats: HashMap::new(), goal: CustomBool(true), auto, - view_month_offset: 0, - view_mode: ViewMode::Day, + inner_data: Default::default(), }; } } @@ -118,17 +115,11 @@ impl Habit for Bit { } } } - fn set_view_month_offset(&mut self, offset: u32) { - self.view_month_offset = offset; - } - fn view_month_offset(&self) -> u32 { - self.view_month_offset - } - fn set_view_mode(&mut self, mode: ViewMode) { - self.view_mode = mode; + fn inner_data_ref(&self) -> &InnerData { + &self.inner_data } - fn view_mode(&self) -> ViewMode { - self.view_mode + fn inner_data_mut_ref(&mut self) -> &mut InnerData { + &mut self.inner_data } fn is_auto(&self) -> bool { self.auto |