1+ import { TimeInterval } from "../entity/time-interval" ;
2+ import { injecStorage } from "../storage/inject-storage" ;
3+ import { StorageParams } from "../storage/storage-params" ;
4+ import { todayLocalDate } from "../utils/common" ;
5+
6+ export async function closeInterval ( domain :string | null ) : Promise < void > {
7+ if ( domain == null ) return ;
8+ const storage = injecStorage ( ) ;
9+ const timeIntervalList = await storage . getValue ( StorageParams . TIMEINTERVAL_LIST ) as TimeInterval [ ] ;
10+ const item = timeIntervalList . find ( x => x . domain === domain && x . day == todayLocalDate ( ) ) ;
11+ item ?. closeInterval ( ) ;
12+ await storage . saveValue ( StorageParams . TIMEINTERVAL_LIST , timeIntervalList ) ;
13+ }
14+
15+ export async function addInterval ( domain :string | null ) : Promise < void > {
16+ if ( domain == null ) return ;
17+
18+ const storage = injecStorage ( ) ;
19+ const timeIntervalList = await storage . getValue ( StorageParams . TIMEINTERVAL_LIST ) as TimeInterval [ ] ;
20+ const item = timeIntervalList . find ( x => x . domain === domain && x . day == todayLocalDate ( ) ) ;
21+ if ( item != undefined ) {
22+ if ( item . day == todayLocalDate ( ) )
23+ item . addInterval ( ) ;
24+ else {
25+ const newInterval = new TimeInterval ( todayLocalDate ( ) , domain ) ;
26+ newInterval . addInterval ( ) ;
27+ timeIntervalList . push ( newInterval ) ;
28+ }
29+ } else {
30+ const newInterval = new TimeInterval ( todayLocalDate ( ) , domain ) ;
31+ newInterval . addInterval ( ) ;
32+ timeIntervalList . push ( newInterval ) ;
33+ }
34+ await storage . saveValue ( StorageParams . TIMEINTERVAL_LIST , timeIntervalList ) ;
35+ }
0 commit comments