1
0
Fork 0
mirror of https://github.com/pawelmalak/flame.git synced 2025-08-05 02:45:18 +02:00

Added redirect function to search bar

This commit is contained in:
unknown 2021-10-06 12:01:07 +02:00
parent a162450568
commit da928f20a2
6 changed files with 35 additions and 15 deletions

View file

@ -11,7 +11,7 @@ import { NewNotification } from '../../interfaces';
import classes from './SearchBar.module.css';
// Utils
import { searchParser } from '../../utility';
import { searchParser, urlParser, redirectUrl } from '../../utility';
interface ComponentProps {
createNotification: (notification: NewNotification) => void;
@ -28,28 +28,28 @@ const SearchBar = (props: ComponentProps): JSX.Element => {
}, []);
const searchHandler = (e: KeyboardEvent<HTMLInputElement>) => {
const searchResult = searchParser(inputRef.current.value);
const { isLocal, search, query, isURL, sameTab } = searchParser(
inputRef.current.value
);
if (searchResult.isLocal) {
setLocalSearch(searchResult.search);
if (isLocal) {
setLocalSearch(search);
}
if (e.code === 'Enter') {
if (!searchResult.query.prefix) {
if (!query.prefix) {
createNotification({
title: 'Error',
message: 'Prefix not found',
});
} else if (searchResult.isLocal) {
setLocalSearch(searchResult.search);
} else if (isURL) {
const url = urlParser(inputRef.current.value)[1];
redirectUrl(url, sameTab);
} else if (isLocal) {
setLocalSearch(search);
} else {
if (searchResult.sameTab) {
document.location.replace(
`${searchResult.query.template}${searchResult.search}`
);
} else {
window.open(`${searchResult.query.template}${searchResult.search}`);
}
const url = `${query.template}${search}`;
redirectUrl(url, sameTab);
}
}
};