2023-07-13 20:34:02 +01:00
|
|
|
import Component from "@glimmer/component";
|
|
|
|
import { inject as service } from "@ember/service";
|
2023-07-31 18:33:37 -03:00
|
|
|
import { computed } from "@ember/object";
|
2023-07-13 20:34:02 +01:00
|
|
|
|
|
|
|
export default class extends Component {
|
|
|
|
static shouldRender(args) {
|
2023-03-31 09:07:22 +11:00
|
|
|
return (args.model.related_topics?.length || 0) > 0;
|
2023-07-13 20:34:02 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
@service store;
|
2023-07-31 18:33:37 -03:00
|
|
|
@service site;
|
|
|
|
@service moreTopicsPreferenceTracking;
|
|
|
|
|
|
|
|
listId = "related-topics";
|
|
|
|
|
|
|
|
@computed("moreTopicsPreferenceTracking.preference")
|
|
|
|
get hidden() {
|
2023-08-17 14:37:14 -03:00
|
|
|
return this.moreTopicsPreferenceTracking.preference !== this.listId;
|
2023-07-31 18:33:37 -03:00
|
|
|
}
|
2023-07-13 20:34:02 +01:00
|
|
|
|
|
|
|
get relatedTopics() {
|
|
|
|
return this.args.outletArgs.model.related_topics.map((topic) =>
|
|
|
|
this.store.createRecord("topic", topic)
|
|
|
|
);
|
|
|
|
}
|
|
|
|
}
|