fix search

This commit is contained in:
Bastian Ike
2020-07-17 10:00:09 +02:00
committed by Bastian
parent b93eede01d
commit ad82fe302f
9 changed files with 49 additions and 14 deletions

View File

@@ -1,4 +1,4 @@
import React, { useState, useRef, MouseEventHandler } from 'react';
import React, { useState, useRef } from 'react';
import classNames from 'classnames';
import Branding from '../Branding/Branding';
import Link from '../Link/Link';
@@ -6,6 +6,7 @@ import LogoLink from '../LogoLink/LogoLink';
import Search from '../Search/Search';
import { radarNameShort } from '../../config';
import { useHistory } from 'react-router-dom';
import qs from 'query-string';
export default function Header({ pageName }: { pageName: string }) {
const [searchOpen, setSearchOpen] = useState(false);
@@ -21,10 +22,15 @@ export default function Header({ pageName }: { pageName: string }) {
setSearchOpen(false);
};
const handleSearchChange = setSearch;
const handleSearchChange = (value: string) => {
setSearch(value)
};
const handleSearchSubmit = () => {
history.location.search = search;
history.push({
pathname: '/techradar/overview.html',
search: qs.stringify({search: search}),
})
setSearchOpen(false);
setSearch('');
@@ -45,17 +51,17 @@ export default function Header({ pageName }: { pageName: string }) {
<div className='nav'>
<div className='nav__item'>
<Link pageName='help-and-about-tech-radar' className='icon-link'>
<span className='icon icon--question icon-link__icon'></span>How to Use {radarNameShort}?
<span className='icon icon--question icon-link__icon'/>How to Use {radarNameShort}?
</Link>
</div>
<div className='nav__item'>
<Link pageName='overview' className='icon-link'>
<span className='icon icon--overview icon-link__icon'></span>Technologies Overview
<span className='icon icon--overview icon-link__icon'/>Technologies Overview
</Link>
</div>
<div className='nav__item'>
<button className='icon-link' onClick={handleOpenClick}>
<span className='icon icon--search icon-link__icon'></span>Search
<span className='icon icon--search icon-link__icon'/>Search
</button>
<div className={classNames('nav__search', { 'is-open': searchOpen })}>
<Search value={search} onClose={closeSearch} onSubmit={handleSearchSubmit} onChange={handleSearchChange} open={searchOpen} ref={searchRef} />