Hide some versions on generator cards

This commit is contained in:
Misode
2023-06-04 18:03:25 +02:00
parent ff835d7730
commit c363853624

View File

@@ -7,6 +7,8 @@ import { checkVersion } from '../../services/Schemas.js'
import { cleanUrl } from '../../Utils.js'
import { Badge, Card, Icons, ToolCard } from '../index.js'
const VERSION_SEP = ' • '
interface Props {
id: string,
minimal?: boolean,
@@ -37,12 +39,21 @@ export function GeneratorCard({ id, minimal }: Props) {
.map(v => v.id as VersionId)
}, [gen])
const versionText = useMemo(() => {
if (versions.length <= 5) {
return versions.join(VERSION_SEP)
}
return versions[0] + VERSION_SEP
+ '...' + VERSION_SEP
+ versions.slice(-3).join(VERSION_SEP)
}, [versions])
const tags = useMemo(() => {
if (gen.tags?.includes('assets')) return ['resource-pack']
return []
}, [gen])
return <Card title={<>{title}{icon && Icons[icon]}</>} overlay={gen.partner ? locale(`partner.${gen.partner}`) : versions.join(' • ')} link={cleanUrl(gen.url)}>
return <Card title={<>{title}{icon && Icons[icon]}</>} overlay={gen.partner ? locale(`partner.${gen.partner}`) : 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} />)}