       dataType: 'json'
 
     .done () =>
-      @setState () =>
-        @timeout = Timeout.set 1000, @hideModal
-
-        completed: true
+      @timeout = Timeout.set 1000, @hideModal
+      @setState completed: true
 
     .fail osu.ajaxError
     .always () =>
-      @setState () -> loading: false
+      @setState loading: false


  hideModal: (e) =>
    if !e? || (e.button == 0 && e.target == @ref.current)
      @setState () -> showingModal: false


  onItemSelected: (item) =>
    @setState () -> selectedReason: item


  render: =>

    return if e.button != 0
    e.preventDefault()
    Timeout.clear @timeout
    @setState
      completed: false
      showingModal: true


  sendReport: (e) =>
    @setState loading: true

    data =
      reason: @state.selectedReason.id
