Use urlencode for search queries (fixes #10)

This commit is contained in:
Felix Ableitner 2020-10-07 12:39:07 +02:00
parent 5e6f613e16
commit 3cd200469f
2 changed files with 5 additions and 3 deletions

View file

@ -137,8 +137,9 @@ export class Navbar extends Component<NavbarProps, NavbarState> {
if (searchParam === '') {
this.context.router.history.push(`/search/`);
} else {
const searchParamEncoded = encodeURIComponent(searchParam);
this.context.router.history.push(
`/search/q/${searchParam}/type/All/sort/TopAll/page/1`
`/search/q/${searchParamEncoded}/type/All/sort/TopAll/page/1`
);
}
}

View file

@ -84,7 +84,7 @@ export class Search extends Component<any, SearchState> {
};
static getSearchQueryFromProps(q: string): string {
return q || '';
return decodeURIComponent(q) || '';
}
static getSearchTypeFromProps(type_: string): SearchType {
@ -504,11 +504,12 @@ export class Search extends Component<any, SearchState> {
updateUrl(paramUpdates: UrlParams) {
const qStr = paramUpdates.q || this.state.q;
const qStrEncoded = encodeURIComponent(qStr);
const typeStr = paramUpdates.type_ || this.state.type_;
const sortStr = paramUpdates.sort || this.state.sort;
const page = paramUpdates.page || this.state.page;
this.props.history.push(
`/search/q/${qStr}/type/${typeStr}/sort/${sortStr}/page/${page}`
`/search/q/${qStrEncoded}/type/${typeStr}/sort/${sortStr}/page/${page}`
);
}