@@ -15,6 +15,7 @@ final class WorkationViewController: UIViewController {
15
15
var dismissAction : ( ( ) -> Void ) ?
16
16
17
17
var cancellable = Set < AnyCancellable > ( )
18
+ var activeUserCancellable : AnyCancellable ? = nil
18
19
19
20
let canGetStickers : [ StickerTitle ] = [
20
21
. halLaBong, . dolHaReuBang, . horse, . halLaSan
@@ -200,8 +201,9 @@ final class WorkationViewController: UIViewController {
200
201
alert. addAction ( UIAlertAction ( title: " ์ข
๋ฃ " , style: . destructive, handler: { [ weak self] _ in
201
202
Task { [ weak self] in
202
203
guard let self = self , var user = UserManager . shared. user. value else { return }
203
- try await FirestoreDAO . shared. deleteActiveUser ( userID: user. id, region: self . region)
204
- try await FirestoreDAO . shared. createUser ( user: User ( id: user. id, name: user. name, email: user. email, job: user. job, stickers: user. stickers, activeRegion: nil ) )
204
+ self . activeUserCancellable? . cancel ( )
205
+ try ? await FirestoreDAO . shared. deleteActiveUser ( userID: user. id, region: self . region)
206
+ try ? await FirestoreDAO . shared. createUser ( user: User ( id: user. id, name: user. name, email: user. email, job: user. job, stickers: user. stickers, activeRegion: nil ) )
205
207
}
206
208
207
209
UIView . animate ( withDuration: 0.3 , delay: 0 ) { [ weak self] in
@@ -453,14 +455,17 @@ extension WorkationViewController {
453
455
DispatchQueue . main. async {
454
456
let offsetDate = Date ( ) . timeIntervalSince ( user. startDate)
455
457
let day = Int ( ceil ( offsetDate/ 86400 ) )
458
+ if let storedDay = user. progressDay {
459
+ self . compareProgressDay ( presentDay: day, storedDay: storedDay)
460
+ }
456
461
user. progressDay = day
457
462
self . updateActiveUser ( user: user)
458
463
self . dayLabel. text = " \( day) ์ผ์งธ "
459
464
}
460
465
}
461
466
. store ( in: & cancellable)
462
467
463
- UserManager . shared. $activeMyInfo
468
+ activeUserCancellable = UserManager . shared. $activeMyInfo
464
469
. sink { [ weak self] user in
465
470
guard let self = self , var user = user else { return }
466
471
DispatchQueue . main. async {
@@ -477,12 +482,11 @@ extension WorkationViewController {
477
482
self . loginPaneView. isHidden = true
478
483
}
479
484
}
480
- . store ( in: & cancellable)
481
485
}
482
486
483
487
private func updateActiveUser( user: ActiveUser ) {
484
488
Task {
485
- try await FirestoreDAO . shared. updateActiveUser ( user: user)
489
+ try await FirestoreDAO . shared. createActiveUser ( user: user)
486
490
}
487
491
}
488
492
0 commit comments