From 4075254c9e38be6741527e1fb535eed444e6ad08 Mon Sep 17 00:00:00 2001
From: "(quasar) nebula"
Date: Sun, 26 Jun 2022 16:41:09 -0300
Subject: initial prettier/eslint commit
---
src/page/flash.js | 474 +++++++++++++++++++++++++++++++-----------------------
1 file changed, 276 insertions(+), 198 deletions(-)
(limited to 'src/page/flash.js')
diff --git a/src/page/flash.js b/src/page/flash.js
index 21a22b94..4d8b9f11 100644
--- a/src/page/flash.js
+++ b/src/page/flash.js
@@ -2,251 +2,329 @@
// Imports
-import fixWS from 'fix-whitespace';
+import fixWS from "fix-whitespace";
-import * as html from '../util/html.js';
+import * as html from "../util/html.js";
-import {
- getFlashLink
-} from '../util/wiki-data.js';
+import { getFlashLink } from "../util/wiki-data.js";
// Page exports
-export function condition({wikiData}) {
- return wikiData.wikiInfo.enableFlashesAndGames;
+export function condition({ wikiData }) {
+ return wikiData.wikiInfo.enableFlashesAndGames;
}
-export function targets({wikiData}) {
- return wikiData.flashData;
+export function targets({ wikiData }) {
+ return wikiData.flashData;
}
-export function write(flash, {wikiData}) {
- const page = {
- type: 'page',
- path: ['flash', flash.directory],
- page: ({
- fancifyFlashURL,
- generateChronologyLinks,
- generateCoverLink,
- generatePreviousNextLinks,
- getArtistString,
- getFlashCover,
- getThemeString,
- link,
- language,
- transformInline
- }) => ({
- title: language.$('flashPage.title', {flash: flash.name}),
- theme: getThemeString(flash.color, [
- `--flash-directory: ${flash.directory}`
- ]),
-
- main: {
- content: fixWS`
- ${language.$('flashPage.title', {flash: flash.name})}
+export function write(flash, { wikiData }) {
+ const page = {
+ type: "page",
+ path: ["flash", flash.directory],
+ page: ({
+ fancifyFlashURL,
+ generateChronologyLinks,
+ generateCoverLink,
+ generatePreviousNextLinks,
+ getArtistString,
+ getFlashCover,
+ getThemeString,
+ link,
+ language,
+ transformInline,
+ }) => ({
+ title: language.$("flashPage.title", { flash: flash.name }),
+ theme: getThemeString(flash.color, [
+ `--flash-directory: ${flash.directory}`,
+ ]),
+
+ main: {
+ content: fixWS`
+ ${language.$("flashPage.title", {
+ flash: flash.name,
+ })}
${generateCoverLink({
- src: getFlashCover(flash),
- alt: language.$('misc.alt.flashArt')
+ src: getFlashCover(flash),
+ alt: language.$("misc.alt.flashArt"),
})}
- ${language.$('releaseInfo.released', {date: language.formatDate(flash.date)})}
- ${(flash.page || flash.urls?.length) && `${language.$('releaseInfo.playOn', {
- links: language.formatDisjunctionList([
+
${language.$("releaseInfo.released", {
+ date: language.formatDate(flash.date),
+ })}
+ ${
+ (flash.page || flash.urls?.length) &&
+ `${language.$("releaseInfo.playOn", {
+ links: language.formatDisjunctionList(
+ [
flash.page && getFlashLink(flash),
- ...flash.urls ?? []
- ].map(url => fancifyFlashURL(url, flash)))
- })}
`}
- ${flash.featuredTracks && fixWS`
- Tracks featured in ${flash.name.replace(/\.$/, '')}:
+ ...(flash.urls ?? []),
+ ].map((url) => fancifyFlashURL(url, flash))
+ ),
+ })}
`
+ }
+ ${
+ flash.featuredTracks &&
+ fixWS`
+ Tracks featured in ${flash.name.replace(
+ /\.$/,
+ ""
+ )}:
- ${(flash.featuredTracks
- .map(track => language.$('trackList.item.withArtists', {
- track: link.track(track),
- by: `${
- language.$('trackList.item.withArtists.by', {
- artists: getArtistString(track.artistContribs)
- })
- }`
- }))
- .map(row => `- ${row}
`)
- .join('\n'))}
+ ${flash.featuredTracks
+ .map((track) =>
+ language.$("trackList.item.withArtists", {
+ track: link.track(track),
+ by: `${language.$(
+ "trackList.item.withArtists.by",
+ {
+ artists: getArtistString(
+ track.artistContribs
+ ),
+ }
+ )}`,
+ })
+ )
+ .map((row) => `- ${row}
`)
+ .join("\n")}
- `}
- ${flash.contributorContribs.length && fixWS`
- ${language.$('releaseInfo.contributors')}
+ `
+ }
+ ${
+ flash.contributorContribs.length &&
+ fixWS`
+ ${language.$("releaseInfo.contributors")}
${flash.contributorContribs
- .map(contrib => `- ${getArtistString([contrib], {
+ .map(
+ (contrib) =>
+ `
- ${getArtistString([contrib], {
showContrib: true,
- showIcons: true
- })}
`)
- .join('\n')}
+ showIcons: true,
+ })}`
+ )
+ .join("\n")}
- `}
- `
- },
-
- sidebarLeft: generateSidebarForFlash(flash, {link, language, wikiData}),
- nav: generateNavForFlash(flash, {
- generateChronologyLinks,
- generatePreviousNextLinks,
- link,
- language,
- wikiData
- })
- })
- };
-
- return [page];
+ `
+ }
+ `,
+ },
+
+ sidebarLeft: generateSidebarForFlash(flash, { link, language, wikiData }),
+ nav: generateNavForFlash(flash, {
+ generateChronologyLinks,
+ generatePreviousNextLinks,
+ link,
+ language,
+ wikiData,
+ }),
+ }),
+ };
+
+ return [page];
}
-export function writeTargetless({wikiData}) {
- const { flashActData } = wikiData;
-
- const page = {
- type: 'page',
- path: ['flashIndex'],
- page: ({
- getFlashGridHTML,
- getLinkThemeString,
- link,
- language
- }) => ({
- title: language.$('flashIndex.title'),
-
- main: {
- classes: ['flash-index'],
- content: fixWS`
- ${language.$('flashIndex.title')}
+export function writeTargetless({ wikiData }) {
+ const { flashActData } = wikiData;
+
+ const page = {
+ type: "page",
+ path: ["flashIndex"],
+ page: ({ getFlashGridHTML, getLinkThemeString, link, language }) => ({
+ title: language.$("flashIndex.title"),
+
+ main: {
+ classes: ["flash-index"],
+ content: fixWS`
+ ${language.$("flashIndex.title")}
-
${language.$('misc.jumpTo')}
+
${language.$("misc.jumpTo")}
- ${flashActData.filter(act => act.jump).map(({ anchor, jump, jumpColor }) => fixWS`
- - ${jump}
- `).join('\n')}
+ ${flashActData
+ .filter((act) => act.jump)
+ .map(
+ ({ anchor, jump, jumpColor }) => fixWS`
+ - ${jump}
+ `
+ )
+ .join("\n")}
- ${flashActData.map((act, i) => fixWS`
- ${link.flash(act.flashes[0], {text: act.name})}
+ ${flashActData
+ .map(
+ (act, i) => fixWS`
+ ${link.flash(act.flashes[0], {
+ text: act.name,
+ })}
${getFlashGridHTML({
- entries: act.flashes.map(flash => ({item: flash})),
- lazy: i === 0 ? 4 : true
+ entries: act.flashes.map((flash) => ({
+ item: flash,
+ })),
+ lazy: i === 0 ? 4 : true,
})}
- `).join('\n')}
- `
- },
+ `
+ )
+ .join("\n")}
+ `,
+ },
- nav: {simple: true}
- })
- };
+ nav: { simple: true },
+ }),
+ };
- return [page];
+ return [page];
}
// Utility functions
-function generateNavForFlash(flash, {
+function generateNavForFlash(
+ flash,
+ {
generateChronologyLinks,
generatePreviousNextLinks,
link,
language,
- wikiData
-}) {
- const { flashData, wikiInfo } = wikiData;
-
- const previousNextLinks = generatePreviousNextLinks(flash, {
- data: flashData,
- linkKey: 'flash'
- });
-
- return {
- linkContainerClasses: ['nav-links-hierarchy'],
- links: [
- {toHome: true},
- {
- path: ['localized.flashIndex'],
- title: language.$('flashIndex.title')
- },
- {
- html: language.$('flashPage.nav.flash', {
- flash: link.flash(flash, {class: 'current'})
- })
- },
- ],
-
- bottomRowContent: previousNextLinks && `(${previousNextLinks})`,
+ wikiData,
+ }
+) {
+ const { flashData, wikiInfo } = wikiData;
- content: fixWS`
+ const previousNextLinks = generatePreviousNextLinks(flash, {
+ data: flashData,
+ linkKey: "flash",
+ });
+
+ return {
+ linkContainerClasses: ["nav-links-hierarchy"],
+ links: [
+ { toHome: true },
+ {
+ path: ["localized.flashIndex"],
+ title: language.$("flashIndex.title"),
+ },
+ {
+ html: language.$("flashPage.nav.flash", {
+ flash: link.flash(flash, { class: "current" }),
+ }),
+ },
+ ],
+
+ bottomRowContent: previousNextLinks && `(${previousNextLinks})`,
+
+ content: fixWS`
${generateChronologyLinks(flash, {
- headingString: 'misc.chronology.heading.flash',
- contribKey: 'contributorContribs',
- getThings: artist => artist.flashesAsContributor
+ headingString: "misc.chronology.heading.flash",
+ contribKey: "contributorContribs",
+ getThings: (artist) => artist.flashesAsContributor,
})}
- `
- };
+ `,
+ };
}
-function generateSidebarForFlash(flash, {link, language, wikiData}) {
- // all hard-coded, sorry :(
- // this doesnt have a super portable implementation/design...yet!!
-
- const { flashActData } = wikiData;
-
- const act6 = flashActData.findIndex(act => act.name.startsWith('Act 6'));
- const postCanon = flashActData.findIndex(act => act.name.includes('Post Canon'));
- const outsideCanon = postCanon + flashActData.slice(postCanon).findIndex(act => !act.name.includes('Post Canon'));
- const actIndex = flashActData.indexOf(flash.act);
- const side = (
- (actIndex < 0) ? 0 :
- (actIndex < act6) ? 1 :
- (actIndex <= outsideCanon) ? 2 :
- 3
- );
- const currentAct = flash && flash.act;
-
- return {
- content: fixWS`
- ${link.flashIndex('', {text: language.$('flashIndex.title')})}
+function generateSidebarForFlash(flash, { link, language, wikiData }) {
+ // all hard-coded, sorry :(
+ // this doesnt have a super portable implementation/design...yet!!
+
+ const { flashActData } = wikiData;
+
+ const act6 = flashActData.findIndex((act) => act.name.startsWith("Act 6"));
+ const postCanon = flashActData.findIndex((act) =>
+ act.name.includes("Post Canon")
+ );
+ const outsideCanon =
+ postCanon +
+ flashActData
+ .slice(postCanon)
+ .findIndex((act) => !act.name.includes("Post Canon"));
+ const actIndex = flashActData.indexOf(flash.act);
+ const side =
+ actIndex < 0 ? 0 : actIndex < act6 ? 1 : actIndex <= outsideCanon ? 2 : 3;
+ const currentAct = flash && flash.act;
+
+ return {
+ content: fixWS`
+ ${link.flashIndex("", {
+ text: language.$("flashIndex.title"),
+ })}
- ${flashActData.filter(act =>
- act.name.startsWith('Act 1') ||
- act.name.startsWith('Act 6 Act 1') ||
- act.name.startsWith('Hiveswap') ||
- // Sorry not sorry -Yiffy
- (({index = flashActData.indexOf(act)} = {}) => (
- index < act6 ? side === 1 :
- index < outsideCanon ? side === 2 :
- true
- ))()
- ).flatMap(act => [
- act.name.startsWith('Act 1') && html.tag('dt',
- {class: ['side', side === 1 && 'current']},
- link.flash(act.flashes[0], {color: '#4ac925', text: `Side 1 (Acts 1-5)`}))
- || act.name.startsWith('Act 6 Act 1') && html.tag('dt',
- {class: ['side', side === 2 && 'current']},
- link.flash(act.flashes[0], {color: '#1076a2', text: `Side 2 (Acts 6-7)`}))
- || act.name.startsWith('Hiveswap Act 1') && html.tag('dt',
- {class: ['side', side === 3 && 'current']},
- link.flash(act.flashes[0], {color: '#008282', text: `Outside Canon (Misc. Games)`})),
- (({index = flashActData.indexOf(act)} = {}) => (
- index < act6 ? side === 1 :
- index < outsideCanon ? side === 2 :
- true
- ))() && html.tag('dt',
- {class: act === currentAct && 'current'},
- link.flash(act.flashes[0], {text: act.name})),
- act === currentAct && fixWS`
+ ${flashActData
+ .filter(
+ (act) =>
+ act.name.startsWith("Act 1") ||
+ act.name.startsWith("Act 6 Act 1") ||
+ act.name.startsWith("Hiveswap") ||
+ // Sorry not sorry -Yiffy
+ (({ index = flashActData.indexOf(act) } = {}) =>
+ index < act6
+ ? side === 1
+ : index < outsideCanon
+ ? side === 2
+ : true)()
+ )
+ .flatMap((act) => [
+ (act.name.startsWith("Act 1") &&
+ html.tag(
+ "dt",
+ { class: ["side", side === 1 && "current"] },
+ link.flash(act.flashes[0], {
+ color: "#4ac925",
+ text: `Side 1 (Acts 1-5)`,
+ })
+ )) ||
+ (act.name.startsWith("Act 6 Act 1") &&
+ html.tag(
+ "dt",
+ { class: ["side", side === 2 && "current"] },
+ link.flash(act.flashes[0], {
+ color: "#1076a2",
+ text: `Side 2 (Acts 6-7)`,
+ })
+ )) ||
+ (act.name.startsWith("Hiveswap Act 1") &&
+ html.tag(
+ "dt",
+ { class: ["side", side === 3 && "current"] },
+ link.flash(act.flashes[0], {
+ color: "#008282",
+ text: `Outside Canon (Misc. Games)`,
+ })
+ )),
+ (({ index = flashActData.indexOf(act) } = {}) =>
+ index < act6
+ ? side === 1
+ : index < outsideCanon
+ ? side === 2
+ : true)() &&
+ html.tag(
+ "dt",
+ { class: act === currentAct && "current" },
+ link.flash(act.flashes[0], { text: act.name })
+ ),
+ act === currentAct &&
+ fixWS`
- ${act.flashes.map(f => html.tag('li',
- {class: f === flash && 'current'},
- link.flash(f))).join('\n')}
+ ${act.flashes
+ .map((f) =>
+ html.tag(
+ "li",
+ { class: f === flash && "current" },
+ link.flash(f)
+ )
+ )
+ .join("\n")}
- `
- ]).filter(Boolean).join('\n')}
+ `,
+ ])
+ .filter(Boolean)
+ .join("\n")}
- `
- };
+ `,
+ };
}
--
cgit 1.3.0-6-gf8a5