Skip to content

Commit c369062

Browse files
authored
fix: Deduplicate homepage featured packages (#58)
1 parent 368a80b commit c369062

1 file changed

Lines changed: 13 additions & 3 deletions

File tree

app/routes/home.tsx

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import { Input } from "../components/ui/input";
66
import { getPackagesIndex } from "../services/packages";
77
import type { Route } from "./+types/home";
88
import { Badge } from "../components/ui/badge";
9-
import { isFeatured } from "../model/packages";
9+
import { isFeatured, type Package } from "../model/packages";
1010
import { PackageCard } from "../components/PackageCard";
1111

1212
export function meta({}: Route.MetaArgs) {
@@ -103,8 +103,18 @@ export default function Home({
103103

104104
{/* Grid */}
105105
<div className="flex flex-col md:grid md:grid-flow-col md:grid-rows-5 lg:grid-rows-3 gap-8">
106-
{packages.packages
107-
.filter(isFeatured)
106+
{Array.from(
107+
packages.packages
108+
.filter(isFeatured)
109+
.reduce((acc, pkg) => {
110+
const existing = acc.get(pkg.name);
111+
if (!existing || pkg.version > existing.version) {
112+
acc.set(pkg.name, pkg);
113+
}
114+
return acc;
115+
}, new Map<string, Package>())
116+
.values(),
117+
)
108118
.slice(0, 9)
109119
.map((pkg) => (
110120
<div key={pkg.id} className="w-96">

0 commit comments

Comments
 (0)