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,
};