diff --git a/assets/components/entities/entity.vue b/assets/components/entities/entity.vue
index 37cc07ad..735ec051 100644
--- a/assets/components/entities/entity.vue
+++ b/assets/components/entities/entity.vue
@@ -52,6 +52,22 @@
v-if="entity.children.length > 0"
class="children-container"
>
+
+
+
+
+
+
@@ -54,7 +54,7 @@ async function searchEntities() {
}
async function mounted() {
- this.networks = await this.$store.dispatch('fetchEntities', {
+ this.entities = await this.$store.dispatch('fetchEntities', {
type: 'network',
entitySlugs: [
'bamvisions',
@@ -62,11 +62,12 @@ async function mounted() {
'legalporno',
],
});
+
this.pageTitle = 'Networks';
}
-function siteCount() {
- return this.networks.map(network => network.children).flat().length;
+function channelCount() {
+ return this.entities.reduce((acc, entity) => acc + entity.childrenTotal, 0);
}
export default {
@@ -77,12 +78,12 @@ export default {
return {
query: '',
pageTitle: null,
- networks: [],
+ entities: [],
searchResults: [],
};
},
computed: {
- siteCount,
+ channelCount,
},
mounted,
methods: {
diff --git a/assets/components/tags/tags.vue b/assets/components/tags/tags.vue
index fa753f0f..4c300fe3 100644
--- a/assets/components/tags/tags.vue
+++ b/assets/components/tags/tags.vue
@@ -146,7 +146,7 @@ export default {
.tiles {
display: grid;
- grid-template-columns: repeat(auto-fill, minmax(20rem, .33fr));
+ grid-template-columns: repeat(auto-fill, minmax(23rem, .33fr));
grid-gap: 1rem;
margin: 0 0 1.5rem 0;
}
diff --git a/assets/js/curate.js b/assets/js/curate.js
index 9af1b99d..2abb3554 100644
--- a/assets/js/curate.js
+++ b/assets/js/curate.js
@@ -122,8 +122,15 @@ function curateEntity(entity, parent, releases) {
children: [],
};
+ if (entity.children) {
+ if (entity.children.nodes) {
+ curatedEntity.children = entity.children.nodes.map(childEntity => curateEntity(childEntity, curatedEntity));
+ }
+
+ curatedEntity.childrenTotal = entity.children.totalCount;
+ }
+
if (entity.parent || parent) curatedEntity.parent = curateEntity(entity.parent || parent);
- if (entity.children) curatedEntity.children = entity.children.map(childEntity => curateEntity(childEntity, curatedEntity));
if (releases) curatedEntity.releases = releases.map(release => curateRelease(release));
return curatedEntity;
diff --git a/assets/js/entities/actions.js b/assets/js/entities/actions.js
index 04ff1c85..7d9a5c67 100644
--- a/assets/js/entities/actions.js
+++ b/assets/js/entities/actions.js
@@ -33,16 +33,18 @@ function initEntitiesActions(store, _router) {
slug
url
hasLogo
- children: childEntities(
+ children: childEntitiesConnection(
orderBy: [PRIORITY_DESC, NAME_ASC],
) {
- id
- name
- slug
- url
- type
- priority
- hasLogo
+ nodes {
+ id
+ name
+ slug
+ url
+ type
+ priority
+ hasLogo
+ }
}
parent {
id
@@ -147,6 +149,9 @@ function initEntitiesActions(store, _router) {
type
url
hasLogo
+ children: childEntitiesConnection {
+ totalCount
+ }
}
}
`, {