diff options
author | Vitaly Takmazov | 2019-05-04 21:13:12 +0300 |
---|---|---|
committer | Vitaly Takmazov | 2023-01-13 10:37:54 +0300 |
commit | f470636a70943a8ecad8bddc791a1c2dddd28e1e (patch) | |
tree | c43d109d88adbde9a696084070cdd92c6b9a004b /vnext/src/ui/SearchBox.js | |
parent | 3d7d213e3ddc5bf4f71d536f31677b768aa3b7c0 (diff) |
Components -> UI
Diffstat (limited to 'vnext/src/ui/SearchBox.js')
-rw-r--r-- | vnext/src/ui/SearchBox.js | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/vnext/src/ui/SearchBox.js b/vnext/src/ui/SearchBox.js new file mode 100644 index 00000000..a79100cd --- /dev/null +++ b/vnext/src/ui/SearchBox.js @@ -0,0 +1,26 @@ +import React from 'react'; +import PropTypes from 'prop-types'; +import ReactRouterPropTypes from 'react-router-prop-types'; +import { withRouter } from 'react-router-dom'; +import { useFormState } from 'react-use-form-state'; + +function SearchBox({ onSearch, history, pathname }) { + let onSubmit = (event) => { + event.preventDefault(); + onSearch(history, pathname, formState.values.search); + }; + const [formState, { text }] = useFormState(); + return ( + <form onSubmit={onSubmit}> + <input name="search" className="text" + placeholder="Search..." value={ formState.values.search } {...text('search')} /> + </form> + ); +} + +SearchBox.propTypes = { + pathname: PropTypes.string.isRequired, + onSearch: PropTypes.func.isRequired, + history: ReactRouterPropTypes.history.isRequired +}; +export default withRouter(SearchBox); |