feat(404): add threshold parameter, number of characters a link can be editted to be correct

This commit is contained in:
Khinshan Khan
2020-01-26 12:29:06 -05:00
committed by Jean-Philippe Sirois
parent 713f9c1629
commit 56df4abeb6
2 changed files with 4 additions and 3 deletions
+3 -2
View File
@@ -58,7 +58,8 @@ function levenshteinDistance(term1: string, term2: string) {
export const getPossibleCorrections = ( export const getPossibleCorrections = (
basepath: string, basepath: string,
location: WindowLocation, location: WindowLocation,
data: { allFile: FileConnection } data: { allFile: FileConnection },
threshold: number
) => { ) => {
// the data prop has the graphql result // the data prop has the graphql result
// we're abstracting it to `linkArray` to just have array of edges matched // we're abstracting it to `linkArray` to just have array of edges matched
@@ -82,7 +83,7 @@ export const getPossibleCorrections = (
levenshteinDistance( levenshteinDistance(
search.toLowerCase(), search.toLowerCase(),
value.node!.relativePath!.toLowerCase() value.node!.relativePath!.toLowerCase()
) < 8 ) < threshold
) )
// helpful message if no matches found // helpful message if no matches found
+1 -1
View File
@@ -13,7 +13,7 @@ export default ({ data }: ComponentQuery<{ allFile: FileConnection }>) => (
<h1>RESOURCE NOT FOUND</h1> <h1>RESOURCE NOT FOUND</h1>
<p>You just hit a route that doesn&#39;t exist... the sadness.</p> <p>You just hit a route that doesn&#39;t exist... the sadness.</p>
<Location> <Location>
{({ location }) => getPossibleCorrections("resources", location, data)} {({ location }) => getPossibleCorrections("resources", location, data, 8)}
</Location> </Location>
</Fragment> </Fragment>
) )