@@ -17,7 +17,7 @@ public protocol UserManager {
1717
1818 var location : AnyPublisher < ( longitude: Double , latitude: Double ) ? , Never > { get }
1919 var gender : Gender ? { get }
20- var isGuest : Bool { get }
20+ var isGuest : AnyPublisher < Bool , Never > { get }
2121
2222 func updateUserState( _ state: Bool )
2323 func updateCurrentLocation( _ address: Address )
@@ -51,11 +51,7 @@ extension DefaultUserManager: UserManager {
5151 public var isNewUser : Bool {
5252 localStorage. read ( key: . isNewUser) as? Bool ?? true
5353 }
54-
55- public var isGuest : Bool {
56- localStorage. read ( key: . isGuest) as? Bool ?? true
57- }
58-
54+
5955 public var currentLocation : Address ? {
6056 let address = localStorage. read ( key: . currentLocation) as? [ String : Any ] ?? [ : ]
6157 return Address ( address)
@@ -67,7 +63,8 @@ extension DefaultUserManager: UserManager {
6763
6864 public var location : AnyPublisher < ( longitude: Double , latitude: Double ) ? , Never > { _location. eraseToAnyPublisher ( ) }
6965 public var gender : Gender ? { _gender }
70-
66+ public var isGuest : AnyPublisher < Bool , Never > { _guestState. eraseToAnyPublisher ( ) }
67+
7168 public func updateUserState( _ state: Bool ) {
7269 localStorage. write ( key: . isNewUser, value: state)
7370 }
@@ -90,16 +87,16 @@ extension DefaultUserManager: UserManager {
9087 return _gender ?? . female
9188 }
9289
93- public func updateGuestState( _ state : Bool ) {
94- localStorage . write ( key : . isGuest, value : state )
90+ public func updateGuestState( _ isGuest : Bool ) {
91+ _guestState . send ( isGuest)
9592 }
9693
9794 public func updateCompletedWelcomePage( ) {
9895 localStorage. write ( key: . hasCompletedWelcomePage, value: true )
9996 }
10097
10198 public func getCurrentGuestState( ) -> Bool {
102- return isGuest
99+ return _guestState . value
103100 }
104101
105102 public func fetchCurrentLocation( ) {
0 commit comments