diff --git a/app/assets/javascripts/discourse/app/controllers/groups-index.js b/app/assets/javascripts/discourse/app/controllers/groups-index.js index 976ac0eabfb..33ce6fae518 100644 --- a/app/assets/javascripts/discourse/app/controllers/groups-index.js +++ b/app/assets/javascripts/discourse/app/controllers/groups-index.js @@ -30,17 +30,6 @@ export default class GroupsIndexController extends Controller { return types; } - loadGroups(params) { - this.set("isLoading", true); - - this.store - .findAll("group", params) - .then((groups) => { - this.set("groups", groups); - }) - .finally(() => this.set("isLoading", false)); - } - @action onFilterChanged(filter) { discourseDebounce(this, this._debouncedFilter, filter, INPUT_DELAY); diff --git a/app/assets/javascripts/discourse/app/routes/groups-index.js b/app/assets/javascripts/discourse/app/routes/groups-index.js index a1cdc42facb..7e224e01c88 100644 --- a/app/assets/javascripts/discourse/app/routes/groups-index.js +++ b/app/assets/javascripts/discourse/app/routes/groups-index.js @@ -14,11 +14,13 @@ export default class GroupsIndexRoute extends DiscourseRoute { return I18n.t("groups.index.title"); } - model(params) { - return params; + async model(params) { + const groups = await this.store.findAll("group", params); + return { groups }; } - setupController(controller, params) { - controller.loadGroups(params); + setupController(controller, model) { + super.setupController(controller, model); + controller.set("groups", model.groups); } } diff --git a/app/assets/javascripts/discourse/app/templates/groups/index.hbs b/app/assets/javascripts/discourse/app/templates/groups/index.hbs index 01d71d1b025..23a05d20527 100644 --- a/app/assets/javascripts/discourse/app/templates/groups/index.hbs +++ b/app/assets/javascripts/discourse/app/templates/groups/index.hbs @@ -37,97 +37,94 @@ - - {{#if this.groups}} - -
-
- {{#each this.groups as |group|}} - -
-
- {{#if group.flair_url}} - - - - {{/if}} - - - -
{{d-icon - "user" - }}{{group.user_count}}
-
-
- -
{{html-safe - group.bio_excerpt - }}
- -
- - {{#if group.is_group_owner}} - - {{d-icon "shield-halved"}} - {{i18n "groups.index.is_group_owner"}} - - {{else if group.is_group_user}} - - {{d-icon "check"}} - {{i18n "groups.index.is_group_user"}} - - {{else if group.public_admission}} - {{i18n "groups.index.public"}} - {{else if group.isPrivate}} - {{d-icon "far-eye-slash"}} - {{i18n "groups.index.private"}} - {{else}} - {{#if group.automatic}} - {{i18n "groups.index.automatic"}} - {{else}} - {{d-icon "ban"}} - {{i18n "groups.index.closed"}} - {{/if}} - {{/if}} - - - - +
+
+ {{#each this.groups as |group|}} + +
+
+ {{#if group.flair_url}} + + -
-
-
- {{/each}} -
-
- + {{/if}} - - {{else}} -

{{i18n "groups.index.empty"}}

- {{/if}} -
+ + +
{{d-icon + "user" + }}{{group.user_count}}
+
+
+ +
{{html-safe + group.bio_excerpt + }}
+ +
+ + {{#if group.is_group_owner}} + + {{d-icon "shield-halved"}} + {{i18n "groups.index.is_group_owner"}} + + {{else if group.is_group_user}} + + {{d-icon "check"}} + {{i18n "groups.index.is_group_user"}} + + {{else if group.public_admission}} + {{i18n "groups.index.public"}} + {{else if group.isPrivate}} + {{d-icon "far-eye-slash"}} + {{i18n "groups.index.private"}} + {{else}} + {{#if group.automatic}} + {{i18n "groups.index.automatic"}} + {{else}} + {{d-icon "ban"}} + {{i18n "groups.index.closed"}} + {{/if}} + {{/if}} + + + + + +
+
+
+ {{/each}} +
+
+
+ + {{else}} +

{{i18n "groups.index.empty"}}

+ {{/if}} \ No newline at end of file