Work Item and Activity screens mostly complete

This commit is contained in:
John Lyon-Smith
2018-04-03 17:25:59 -07:00
parent 410d2fde4f
commit 72af9a7035
25 changed files with 512 additions and 141 deletions

View File

@@ -44,7 +44,8 @@ class APIError extends Error {
class API extends EventEmitter {
constructor() {
super()
this.user = null
// We don't know if the user has a valid token yet so assume they do and clean-up if they don't
this.user = { pending: true }
AsyncStorage.getItem(authTokenName).then((token) => {
if (!token) {
@@ -52,7 +53,6 @@ class API extends EventEmitter {
}
this.token = token
this.user = { pending: true }
return this.who()
}).then((user) => {
this.user = user
@@ -61,7 +61,7 @@ class API extends EventEmitter {
}).catch(() => {
AsyncStorage.removeItem(authTokenName)
this.token = null
this.user = null
this.user = {}
this.socket = null
this.emit('logout')
})
@@ -83,12 +83,6 @@ class API extends EventEmitter {
// Filter the few massages that affect our cached user data to avoid a server round trip
switch (eventName) {
case 'newThumbnailImage':
this.user.thumbnailImageId = eventData.imageId
break
case 'newProfileImage':
this.user.imageId = eventData.imageId
break
default:
// Nothing to see here...
break
@@ -219,7 +213,7 @@ class API extends EventEmitter {
// Regardless of response, always logout in the client
AsyncStorage.removeItem(authTokenName)
this.token = null
this.user = null
this.user = {}
this.disconnectSocket()
this.emit('logout')
}