@@ -21,6 +21,19 @@ const Extensions = styled.ol`
2121 width: 100%;
2222`
2323
24+ const RightColumn = styled . div `
25+ display: flex;
26+ flex-direction: column;
27+ flex-wrap: wrap;
28+ width: 100%;
29+ `
30+
31+ const ExtensionCount = styled . div `
32+ margin-top: 1.25rem;
33+ margin-left: 3.25rem;
34+ width: 100%;
35+ `
36+
2437const ExtensionsList = ( { extensions, categories } ) => {
2538 // Do some pre-filtering for content we will never want, like superseded extensions
2639 const allExtensions = extensions . filter ( extension => ! extension . isSuperseded )
@@ -29,27 +42,41 @@ const ExtensionsList = ({ extensions, categories }) => {
2942
3043 // TODO why is this guard necessary?
3144 if ( allExtensions ) {
45+ // Exclude unlisted extensions from the count, even though we sometimes show them if there's a direct search for it
46+ const extensionCount = allExtensions . filter (
47+ extension => ! extension . metadata . unlisted
48+ ) . length
49+
3250 // Sort alphabetically, in the absence of a better idea (for now)
3351 filteredExtensions . sort ( ( a , b ) =>
3452 a . sortableName > b . sortableName ? 1 : - 1
3553 )
3654
55+ const countMessage =
56+ extensionCount === filteredExtensions . length
57+ ? `Showing ${ extensionCount } extensions.`
58+ : `Showing ${ filteredExtensions . length } of ${ extensionCount } extensions.`
59+
3760 return (
3861 < FilterableList className = "extensions-list" >
3962 < Filters
4063 extensions = { allExtensions }
4164 categories = { categories }
4265 filterAction = { setExtensions }
4366 />
44- < Extensions >
45- { filteredExtensions . map ( extension => {
46- return (
47- < li key = { extension . id } >
48- < ExtensionCard extension = { extension } />
49- </ li >
50- )
51- } ) }
52- </ Extensions >
67+ < RightColumn >
68+ { " " }
69+ < ExtensionCount > { countMessage } </ ExtensionCount >
70+ < Extensions >
71+ { filteredExtensions . map ( extension => {
72+ return (
73+ < li key = { extension . id } >
74+ < ExtensionCard extension = { extension } />
75+ </ li >
76+ )
77+ } ) }
78+ </ Extensions > { " " }
79+ </ RightColumn >
5380 </ FilterableList >
5481 )
5582 } else {
0 commit comments