                     loader    :
                       color   : "#444"
                       diameter: 12
-                    callback  : ->
-                      listController.getItemsOrdered().forEach (view) ->
+                    callback  : =>
+                      recipients = listController.getItemsOrdered()
+                      recipients.forEach (view) ->
                         view.getData().invite (err) =>
                           return log err  if err
                           view.emit "InvitationSent"
                       modal.destroy()
+                      @track recipients.length
                   Cancel      :
                     style     : "modal-clean-red"
                     callback  : -> modal.destroy()

    options.width          = 570
    options.overlay        = yes
    options.title          = "Get free space up to 16GB"
    options.url          or= "#{location.origin}/?r=#{KD.nick}"
    options.tabs           =
      navigable            : no
      goToNextFormOnSubmit : no


    @invite.addSubView new KDButtonView
      title   : "Send invitation(s)"
      callback: =>
        recipients = listController.getItemsOrdered().filter (view) =>
          return  view.isSelected and not contact.invited

        recipients.forEach (view) ->
          contact = view.getData()
          return if not view.isSelected or contact.invited
          view.getData().invite (err) =>
            return log "invite", err  if err
            view.emit "InvitationSent"

        @track recipients.length

    @invite.addSubView new KDButtonView
      title: "Send invitations to all"
