message: First pass error state in consignment overview
diff: import { Schema, screenTrack, Track, track as _track } from "lib/utils/track"
  import React from "react"
  +import { Alert } from "react-native"
  import { AsyncStorage, Dimensions, Route, ScrollView, View, ViewProperties } from "react-native"
  import NavigatorIOS from "react-native-navigator-ios"
  @@ -108,10 +109,12 @@ export default class Overview extends React.Component<Props, State> {
  this.saveStateToLocalStorage()
  if (this.state.submissionID) {
  - // This is async, but we don't need the synchronous behavior from await.
  - this.uploadPhotosIfNeeded()
  -
  + try {
  + await this.uploadPhotosIfNeeded()
  updateConsignmentSubmission(this.state)
  + } catch (error) {
  + this.showUploadFailureAlert(error)
  + }
  } else if (this.state.artist) {
  const submissionID = await createConsignmentSubmission(this.state)
  this.setState({ submissionID }, () => {
  @@ -120,6 +123,22 @@ export default class Overview extends React.Component<Props, State> {
  }
  }
  + showUploadFailureAlert(error: Error) {
  + Alert.alert("Sorry, we couldn't process the request.", "Please try again or contact orders@artsy.net for help.", [
  + {
  + text: "Cancel",
  + style: "cancel",
  + },
  + {
  + text: "Retry",
  + onPress: () => {
  + this.updateLocalStateAndMetaphysics()
  + },
  + },
  + ])
  + console.log("src/lib/Components/Consignments/Screens/Overview.tsx", error)
  + }
  +
  @track((_props, state) => ({
  action_type: Schema.ActionTypes.Success,
  action_name: Schema.ActionNames.ConsignmentDraftCreated,
  @@ -174,7 +193,7 @@ export default class Overview extends React.Component<Props, State> {
  if (!uploading && toUpload && toUpload.length) {
  // Pull out the first in the queue and upload it
  const photo = toUpload[0]
  -
  + try {
  // Set this one photo to upload, so that if you go in and out
  // quickly it doesn't upload duplicates
  photo.uploading = true
  @@ -186,6 +205,11 @@ export default class Overview extends React.Component<Props, State> {
  photo.uploaded = true
  photo.uploading = false
  this.setState({ photos: this.state.photos }, this.uploadPhotosIfNeeded)
  + } catch (e) {
  + photo.uploaded = false
  + photo.uploading = false
  + throw e
  + }
  }
  }
  