* feat: remove eslint-plugin-prettier for prettier This removes the annoying lint warnings when all that needs to change is formatting * fix: use .js lint-staged config to ignore properly * fix: lint everything if a lot of files are changed It's faster than making lots of individual linter calls * chore: apply prettier * fix: ignore code in curriculum-file-structure
49 lines
1.3 KiB
JavaScript
49 lines
1.3 KiB
JavaScript
import React from 'react';
|
|
import styled from 'styled-components';
|
|
|
|
import ListItem from './ListItem';
|
|
import FullWidthDiv from './FullWidthDiv';
|
|
import Result from './Result';
|
|
|
|
const List = styled.div`
|
|
margin: 5px;
|
|
display: flex;
|
|
flex-direction: column;
|
|
`;
|
|
|
|
const filenameTitle = { fontWeight: '600' };
|
|
|
|
const FilenameResults = ({ searchValue, results, rateLimitMessage }) => {
|
|
const elements = results.map((result) => {
|
|
const { filename, prs: prObjects } = result;
|
|
const prs = prObjects.map(({ number, username, title }, index) => {
|
|
return <ListItem number={number} username={username} prTitle={title} />;
|
|
});
|
|
|
|
const fileOnMain = `https://github.com/freeCodeCamp/freeCodeCamp/blob/main/${filename}`;
|
|
return (
|
|
<Result key={filename}>
|
|
<span style={filenameTitle}>{filename}</span>{' '}
|
|
<a href={fileOnMain} rel="noopener noreferrer" target="_blank">
|
|
(File on Main)
|
|
</a>
|
|
<List>{prs}</List>
|
|
</Result>
|
|
);
|
|
});
|
|
const showResults = () => {
|
|
if (!rateLimitMessage) {
|
|
return (
|
|
(results.length ? <h3>Results for: {searchValue}</h3> : null) &&
|
|
elements
|
|
);
|
|
} else {
|
|
return rateLimitMessage;
|
|
}
|
|
};
|
|
|
|
return <FullWidthDiv>{showResults()}</FullWidthDiv>;
|
|
};
|
|
|
|
export default FilenameResults;
|