From b4e9d86c43d4cf635a6275452f2a65d2cdf48fdc Mon Sep 17 00:00:00 2001 From: Misode Date: Thu, 18 Jan 2024 03:22:10 +0100 Subject: [PATCH] Refactor how partner generators work + prefix generator translation keys --- src/app/App.tsx | 3 +- src/app/components/Header.tsx | 2 +- .../components/generator/GeneratorCard.tsx | 4 +- .../components/generator/GeneratorList.tsx | 2 +- .../components/generator/SchemaGenerator.tsx | 4 +- src/app/pages/Generator.tsx | 6 +- src/app/pages/Generators.tsx | 2 +- src/app/pages/Home.tsx | 28 +++-- src/app/pages/LegacyPartners.tsx | 10 ++ src/app/pages/Partners.tsx | 2 +- src/app/pages/index.ts | 1 + src/config.json | 5 +- src/contributors.json | 2 +- src/locales/de.json | 32 +++--- src/locales/en.json | 102 +++++++++--------- src/locales/es.json | 40 +++---- src/locales/fr.json | 29 +++-- src/locales/it.json | 12 +-- src/locales/ja.json | 83 +++++++------- src/locales/ko.json | 70 ++++++------ src/locales/pl.json | 28 ++--- src/locales/pt.json | 32 +++--- src/locales/ru.json | 81 +++++++------- src/locales/sk.json | 30 +++--- src/locales/tr.json | 101 +++++++++-------- src/locales/zh-cn.json | 70 ++++++------ src/locales/zh-tw.json | 63 ++++++----- 27 files changed, 429 insertions(+), 415 deletions(-) create mode 100644 src/app/pages/LegacyPartners.tsx diff --git a/src/app/App.tsx b/src/app/App.tsx index c74e58c5..e66623ee 100644 --- a/src/app/App.tsx +++ b/src/app/App.tsx @@ -5,7 +5,7 @@ import '../styles/nodes.css' import { Analytics } from './Analytics.js' import { cleanUrl } from './Utils.js' import { Header } from './components/index.js' -import { Changelog, Customized, Generator, Generators, Guide, Guides, Home, Partners, Sounds, Transformation, Versions, WhatsNew, Worldgen } from './pages/index.js' +import { Changelog, Customized, Generator, Generators, Guide, Guides, Home, LegacyPartners, Partners, Sounds, Transformation, Versions, WhatsNew, Worldgen } from './pages/index.js' export function App() { const changeRoute = (e: RouterOnChangeArgs) => { @@ -21,6 +21,7 @@ export function App() { + diff --git a/src/app/components/Header.tsx b/src/app/components/Header.tsx index fc5fa363..c4f6748a 100644 --- a/src/app/components/Header.tsx +++ b/src/app/components/Header.tsx @@ -28,7 +28,7 @@ export function Header() { {config.generators .filter(g => g.tags?.[0] === gen?.tags?.[0] && checkVersion(version, g.minVersion)) .map(g => - route(cleanUrl(g.url))} /> + route(cleanUrl(g.url))} /> )} } {!gen && url.match(/\/?project\/?$/) && diff --git a/src/app/components/generator/GeneratorCard.tsx b/src/app/components/generator/GeneratorCard.tsx index 5bcf17c6..5d9e1cfd 100644 --- a/src/app/components/generator/GeneratorCard.tsx +++ b/src/app/components/generator/GeneratorCard.tsx @@ -24,7 +24,7 @@ export function GeneratorCard({ id, minimal }: Props) { return gen }, [id]) - const title = locale(gen.partner ? `partner.${gen.partner}.${gen.id}` : gen.id) + const title = locale(`generator.${gen.id}`) const icon = Object.keys(Icons).includes(id) ? id as keyof typeof Icons : undefined @@ -53,7 +53,7 @@ export function GeneratorCard({ id, minimal }: Props) { return [] }, [gen]) - return {title}{icon && Icons[icon]}} overlay={gen.partner ? locale(`partner.${gen.partner}`) : versionText} link={cleanUrl(gen.url)}> + return {title}{icon && Icons[icon]}} overlay={gen.tags?.includes('partners') ? locale(`partner.${gen.id.substring(0, gen.id.indexOf('.'))}`) : versionText} link={cleanUrl(gen.url)}> {!gen.noPath &&

/{gen.path ?? gen.id}

} {tags.length > 0 &&
{tags.sort().map(tag => )} diff --git a/src/app/components/generator/GeneratorList.tsx b/src/app/components/generator/GeneratorList.tsx index 221818b1..38788c84 100644 --- a/src/app/components/generator/GeneratorList.tsx +++ b/src/app/components/generator/GeneratorList.tsx @@ -28,7 +28,7 @@ export function GeneratorList({ predicate }: Props) { const filteredGenerators = useMemo(() => { const query = search.split(' ').map(q => q.trim().toLowerCase()).filter(q => q.length > 0) return versionedGenerators.filter(gen => { - const content = `${gen.id} ${gen.tags?.join(' ') ?? ''} ${gen.path ?? ''} ${gen.partner ?? ''} ${locale(gen.id).toLowerCase()}` + const content = `${gen.id} ${gen.tags?.join(' ') ?? ''} ${gen.path ?? ''} ${locale(`generator.${gen.id}`).toLowerCase()}` return query.every(q => { if (q.startsWith('!')) { return q.length === 1 || !content.includes(q.slice(1)) diff --git a/src/app/components/generator/SchemaGenerator.tsx b/src/app/components/generator/SchemaGenerator.tsx index 9fe4b4fe..97164ff3 100644 --- a/src/app/components/generator/SchemaGenerator.tsx +++ b/src/app/components/generator/SchemaGenerator.tsx @@ -315,7 +315,7 @@ export function SchemaGenerator({ gen, allowedVersions }: Props) { return <>
- {!gen.partner && } + {!gen.tags?.includes('partners') && } {error && setError(null)} />} -
+