@@ -134,7 +134,7 @@ function getUniqueReleases(items: Item[]): string[] {
|
||||
function getUniqueTags(items: Item[]): string[] {
|
||||
const tags = new Set<string>();
|
||||
for (const item of items) {
|
||||
for (const tag of item.tags) {
|
||||
for (const tag of item.tags || []) {
|
||||
tags.add(tag);
|
||||
}
|
||||
}
|
||||
@@ -187,7 +187,7 @@ function postProcessItems(items: Item[]): {
|
||||
// check if config has a key `tags` and if it is an array
|
||||
if (Array.isArray(tags) && tags.length) {
|
||||
// if tags are specified, only keep items that have at least one of the tags
|
||||
return item.tags.some((tag) => tags.includes(tag));
|
||||
return item.tags?.some((tag) => tags.includes(tag));
|
||||
}
|
||||
|
||||
return true;
|
||||
@@ -219,6 +219,11 @@ function postProcessItems(items: Item[]): {
|
||||
delete processedItem.revisions;
|
||||
}
|
||||
|
||||
// unset tags if there are none
|
||||
if (!processedItem.tags?.length) {
|
||||
delete processedItem.tags;
|
||||
}
|
||||
|
||||
return processedItem;
|
||||
});
|
||||
|
||||
|
||||
@@ -23,9 +23,7 @@ export function ItemDetail({ item }: ItemProps) {
|
||||
<>
|
||||
<div className={styles.header}>
|
||||
<h1 className={styles.title}>{item.title}</h1>
|
||||
{item.tags.map((tag) => (
|
||||
<Tag key={tag} tag={tag} />
|
||||
))}
|
||||
{item.tags?.map((tag) => <Tag key={tag} tag={tag} />)}
|
||||
</div>
|
||||
<div className={styles.revisions}>
|
||||
{notMaintainedText && isNotMaintained(item.release) && (
|
||||
|
||||
@@ -21,7 +21,7 @@ export interface Item {
|
||||
ring: string;
|
||||
quadrant: string;
|
||||
flag: Flag;
|
||||
tags: string[];
|
||||
tags?: string[];
|
||||
release: Release;
|
||||
revisions?: Revision[];
|
||||
position: [x: number, y: number];
|
||||
|
||||
@@ -24,7 +24,7 @@ const Home: CustomPage = () => {
|
||||
const quadrants = getQuadrants();
|
||||
const tags = getTags();
|
||||
const items = getItems(undefined, true).filter(
|
||||
(item) => !tag || item.tags.includes(tag),
|
||||
(item) => !tag || item.tags?.includes(tag),
|
||||
);
|
||||
|
||||
return (
|
||||
@@ -41,7 +41,7 @@ const Home: CustomPage = () => {
|
||||
rings={rings}
|
||||
items={items}
|
||||
/>
|
||||
<Tags tags={tags} activeTag={tag} />
|
||||
{tags.length > 0 && <Tags tags={tags} activeTag={tag} />}
|
||||
<QuadrantList items={items} />
|
||||
</>
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user