File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -6,7 +6,7 @@ import { Input } from "../components/ui/input";
66import { getPackagesIndex } from "../services/packages" ;
77import type { Route } from "./+types/home" ;
88import { Badge } from "../components/ui/badge" ;
9- import { isFeatured } from "../model/packages" ;
9+ import { isFeatured , type Package } from "../model/packages" ;
1010import { PackageCard } from "../components/PackageCard" ;
1111
1212export 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" >
You can’t perform that action at this time.
0 commit comments