export default Ember.Component.extend({
  classNames: ["ip-lookup"],

  city: function () {
    return [
      this.get("location.city"),
      this.get("location.region"),
      this.get("location.country")
    ].filter(Boolean).join(", ");
  }.property("location.{city,region,country}"),

  actions: {
    lookup: function () {
      var self = this;
      this.set("show", true);

      if (!this.get("location")) {
        Discourse.ajax("/admin/users/ip-info.json", {
          data: { ip: this.get("ip") }
        }).then(function (location) {
          self.set("location", Em.Object.create(location));
        });
      }

      if (!this.get("other_accounts")) {
        this.set("other_accounts_loading", true);
        Discourse.AdminUser.findAll("active", {
          "ip": this.get("ip"),
          "exclude": this.get("user_id")
        }).then(function (users) {
          self.setProperties({
            other_accounts: users,
            other_accounts_loading: false,
          });
        });
      }
    },

    hide: function () {
      this.set("show", false);
    }
  }
});
