Auto-shrinking pagination. Various Teen Core Club curations.

This commit is contained in:
2020-07-05 04:10:35 +02:00
parent c47fae3a1b
commit f4ef2d4cc2
109 changed files with 98 additions and 91 deletions

View File

@@ -80,47 +80,14 @@ function curateRelease(release) {
return curatedRelease;
}
function curateSite(site, network) {
const curatedSite = {
id: site.id,
name: site.name,
slug: site.slug,
url: site.url,
independent: site.independent,
};
if (site.releases) curatedSite.releases = site.releases.map(release => curateRelease(release));
if (site.network || network) curatedSite.network = site.network || network;
if (site.tags) curatedSite.tags = site.tags.map(({ tag }) => tag);
return curatedSite;
}
function curateNetwork(network, releases) {
const curatedNetwork = {
...network,
id: network.id,
name: network.name,
slug: network.slug,
url: network.url,
networks: [],
};
if (network.parent) curatedNetwork.parent = curateNetwork(network.parent);
if (network.sites) curatedNetwork.sites = network.sites.map(site => curateSite(site, curatedNetwork));
if (network.networks) curatedNetwork.networks = network.networks.map(subNetwork => curateNetwork(subNetwork));
if (network.studios) curatedNetwork.studios = network.studios;
if (releases) curatedNetwork.releases = releases.map(release => curateRelease(release));
return curatedNetwork;
}
function curateEntity(entity, parent, releases) {
const curatedEntity = {
...entity,
children: [],
};
if (entity.tags) curatedEntity.tags = entity.tags.map(({ tag }) => tag);
if (entity.children) {
if (entity.children.nodes) {
curatedEntity.children = entity.children.nodes.map(childEntity => curateEntity(childEntity, curatedEntity));
@@ -151,7 +118,5 @@ export {
curateActor,
curateEntity,
curateRelease,
curateSite,
curateNetwork,
curateTag,
};

View File

@@ -34,6 +34,13 @@ function initEntitiesActions(store, _router) {
url
independent
hasLogo
tags: entitiesTags {
tag {
id
name
slug
}
}
children: childEntitiesConnection(
orderBy: [PRIORITY_DESC, NAME_ASC],
filter: {

View File

@@ -5,8 +5,8 @@ import initUiStore from './ui/ui';
import initAuthStore from './auth/auth';
import initReleasesStore from './releases/releases';
import initEntitiesStore from './entities/entities';
import initSitesStore from './sites/sites';
import initNetworksStore from './networks/networks';
// import initSitesStore from './sites/sites';
// import initNetworksStore from './networks/networks';
import initActorsStore from './actors/actors';
import initTagsStore from './tags/tags';
@@ -20,8 +20,8 @@ function initStore(router) {
store.registerModule('releases', initReleasesStore(store, router));
store.registerModule('actors', initActorsStore(store, router));
store.registerModule('entities', initEntitiesStore(store, router));
store.registerModule('sites', initSitesStore(store, router));
store.registerModule('networks', initNetworksStore(store, router));
// store.registerModule('sites', initSitesStore(store, router));
// store.registerModule('networks', initNetworksStore(store, router));
store.registerModule('tags', initTagsStore(store, router));
return store;