mirror of
https://github.com/misode/misode.github.io.git
synced 2026-04-26 00:16:51 +00:00
Refactor how partner generators work + prefix generator translation keys
This commit is contained in:
@@ -28,7 +28,7 @@ export function Header() {
|
||||
{config.generators
|
||||
.filter(g => g.tags?.[0] === gen?.tags?.[0] && checkVersion(version, g.minVersion))
|
||||
.map(g =>
|
||||
<Btn label={locale(g.partner ? `partner.${g.partner}.${g.id}` : g.id)} active={g.id === gen.id} onClick={() => route(cleanUrl(g.url))} />
|
||||
<Btn label={locale(`generator.${g.id}`)} active={g.id === gen.id} onClick={() => route(cleanUrl(g.url))} />
|
||||
)}
|
||||
</BtnMenu>}
|
||||
{!gen && url.match(/\/?project\/?$/) && <BtnMenu icon="chevron_down" tooltip={locale('switch_project')}>
|
||||
|
||||
@@ -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 <Card title={<>{title}{icon && Icons[icon]}</>} overlay={gen.partner ? locale(`partner.${gen.partner}`) : versionText} link={cleanUrl(gen.url)}>
|
||||
return <Card title={<>{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 && <p class="card-subtitle">/{gen.path ?? gen.id}</p>}
|
||||
{tags.length > 0 && <div class="badges-list">
|
||||
{tags.sort().map(tag => <Badge label={tag} />)}
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -315,7 +315,7 @@ export function SchemaGenerator({ gen, allowedVersions }: Props) {
|
||||
|
||||
return <>
|
||||
<main class={`generator${previewShown ? ' has-preview' : ''}${projectShown ? ' has-project' : ''}`}>
|
||||
{!gen.partner && <Ad id="data-pack-generator" type="text" />}
|
||||
{!gen.tags?.includes('partners') && <Ad id="data-pack-generator" type="text" />}
|
||||
<div class="controls generator-controls">
|
||||
{gen.wiki && <a class="btn btn-link tooltipped tip-se" aria-label={locale('learn_on_the_wiki')} href={`https://minecraft.wiki/w/${gen.wiki}`} target="_blank">
|
||||
{Octicon.mortar_board}
|
||||
@@ -336,7 +336,7 @@ export function SchemaGenerator({ gen, allowedVersions }: Props) {
|
||||
</div>
|
||||
{error && <ErrorPanel error={error} onDismiss={() => setError(null)} />}
|
||||
<Tree {...{model, version, blockStates}} onError={setError} />
|
||||
<Footer donate={!gen.partner} />
|
||||
<Footer donate={!gen.tags?.includes('partners')} />
|
||||
</main>
|
||||
<div class="popup-actions right-actions" style={`--offset: -${8 + actionsShown * 50}px;`}>
|
||||
<div class={`popup-action action-preview${hasPreview ? ' shown' : ''} tooltipped tip-nw`} aria-label={locale(previewShown ? 'hide_preview' : 'show_preview')} onClick={togglePreview}>
|
||||
|
||||
Reference in New Issue
Block a user