feat: add tag filter on homepage

This commit is contained in:
Mathias Schopmans
2024-02-27 16:17:24 +01:00
committed by Mathias Schopmans
parent e42b175ab7
commit 13591b9672
9 changed files with 127 additions and 8 deletions

View File

@@ -1,20 +1,30 @@
import { useRouter } from "next/router";
import { QuadrantList } from "@/components/QuadrantList/QuadrantList";
import { Radar } from "@/components/Radar/Radar";
import { Tags } from "@/components/Tags/Tags";
import {
getAppName,
getItems,
getQuadrants,
getReleases,
getRings,
getTags,
} from "@/lib/data";
import { CustomPage } from "@/pages/_app";
const Home: CustomPage = () => {
const router = useRouter();
const tag = router.query.tag as string | undefined;
const appName = getAppName();
const version = getReleases().length;
const rings = getRings();
const quadrants = getQuadrants();
const items = getItems(undefined, true);
const tags = getTags();
const items = getItems(undefined, true).filter(
(item) => !tag || item.tags.includes(tag),
);
return (
<>
<h1>
@@ -24,6 +34,7 @@ const Home: CustomPage = () => {
</span>
</h1>
<Radar quadrants={quadrants} rings={rings} items={items} />
<Tags tags={tags} activeTag={tag} />
<QuadrantList items={items} />
</>
);