import Component from "@ember/component";
import { action, computed } from "@ember/object";
import { ajax } from "discourse/lib/ajax";

export default Component.extend({
  newFeatures: null,
  classNames: ["section", "dashboard-new-features"],
  classNameBindings: ["hasUnseenFeatures:ordered-first"],
  releaseNotesLink: null,

  init() {
    this._super(...arguments);

    ajax("/admin/dashboard/new-features.json").then((json) => {
      this.setProperties({
        newFeatures: json.new_features,
        hasUnseenFeatures: json.has_unseen_features,
        releaseNotesLink: json.release_notes_link,
      });
    });
  },

  columnCountClass: computed("newFeatures", function () {
    return this.newFeatures.length > 2 ? "three-or-more-items" : "";
  }),

  @action
  dismissNewFeatures() {
    ajax("/admin/dashboard/mark-new-features-as-seen.json", {
      type: "PUT",
    }).then(() => this.set("hasUnseenFeatures", false));
  },
});
