Skip to content

Commit 6a75e01

Browse files
committed
Improve trends chart, exports, and responsive navigation
1 parent b7cf7db commit 6a75e01

18 files changed

Lines changed: 1214 additions & 247 deletions

__tests__/trendsRecommendations.test.ts

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ describe('trends recommendations', () => {
1313
similar(5, ['react-spring', 'framer-motion', 'react-motion']),
1414
],
1515
}).recommendations
16-
).toEqual(['preact', 'vue', 'svelte', 'solid-js', '@angular/core'])
16+
).toEqual(['preact', 'vue', 'svelte', 'solid-js', '@angular/core', 'lit'])
1717
})
1818

1919
it('uses the curated similar-package list when classification is confident', () => {
@@ -42,4 +42,14 @@ describe('trends recommendations', () => {
4242
}).recommendations
4343
).toEqual([])
4444
})
45+
46+
it('keeps lower-ranked candidates above the relevance floor', () => {
47+
const candidates = Array.from({ length: 12 }, (_, index) => `peer-${index}`)
48+
expect(
49+
getTrendsRecommendations({
50+
packages: ['source-package'],
51+
similarResults: [similar(120, candidates)],
52+
}).recommendations
53+
).toEqual(candidates.slice(0, 10))
54+
})
4555
})

client/assets/npm-logo.svg

Lines changed: 3 additions & 3 deletions
Loading

client/assets/public/npm-logo.svg

Lines changed: 2 additions & 2 deletions
Loading

client/components/AutocompleteInput/AutocompleteInput.scss

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,8 @@
4242
top: 0;
4343
bottom: 0;
4444
pointer-events: none;
45-
display: block;
46-
line-height: 1.2;
45+
display: flex;
46+
align-items: center;
4747
white-space: nowrap;
4848
overflow: hidden;
4949
z-index: 1;
@@ -52,6 +52,7 @@
5252
.autocomplete-input__dummy-input--compact {
5353
padding: 6px 36px 6px 12px;
5454
@include font-size-sm;
55+
line-height: 1.2;
5556
letter-spacing: -0.2px;
5657
}
5758

client/components/AutocompleteInput/hooks/useAutocompleteInput.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ import debounce from 'debounce'
44
import { parsePackageString } from '../../../../utils/common.utils'
55
import API, { type PackageSuggestion } from '../../../api'
66

7+
const EMPTY_SUGGESTION_QUERIES: string[] = []
8+
79
interface UseAutocompleteInputArgs {
810
initialValue: string
911
onSubmit: (value: string) => void
@@ -13,13 +15,12 @@ interface UseAutocompleteInputArgs {
1315
export function useAutocompleteInput({
1416
initialValue,
1517
onSubmit,
16-
suggestionQueries = [],
18+
suggestionQueries = EMPTY_SUGGESTION_QUERIES,
1719
}: UseAutocompleteInputArgs) {
1820
const [value, setValue] = React.useState(initialValue)
1921
const [suggestions, setSuggestions] = React.useState<PackageSuggestion[]>([])
2022
const [, startTransition] = React.useTransition()
2123

22-
const suggestionQueryKey = suggestionQueries.join('|')
2324
const getSuggestions = React.useMemo(() => {
2425
const queries = suggestionQueries.filter(Boolean).slice(0, 5)
2526

@@ -60,7 +61,7 @@ export function useAutocompleteInput({
6061
})
6162
})
6263
}, 150)
63-
}, [startTransition, suggestionQueryKey])
64+
}, [startTransition, suggestionQueries])
6465

6566
const handleSubmit = (e: React.FormEvent) => {
6667
e.preventDefault()

0 commit comments

Comments
 (0)