diff --git a/client/homebrew/homebrew.jsx b/client/homebrew/homebrew.jsx index 54dcf2206..9fae57ae0 100644 --- a/client/homebrew/homebrew.jsx +++ b/client/homebrew/homebrew.jsx @@ -46,7 +46,7 @@ const Homebrew = createClass({ }/> }/> }/> - }/> + }/> }/> }/> }/> diff --git a/client/homebrew/pages/basePages/listPage/listPage.jsx b/client/homebrew/pages/basePages/listPage/listPage.jsx index e1f300ab2..c359caf02 100644 --- a/client/homebrew/pages/basePages/listPage/listPage.jsx +++ b/client/homebrew/pages/basePages/listPage/listPage.jsx @@ -24,7 +24,8 @@ const ListPage = createClass({ return { sortType : 'alpha', sortDir : 'asc', - filterString : '' + filterString : this.props.query?.filter || '', + query : this.props.query }; }, @@ -74,19 +75,39 @@ const ListPage = createClass({ handleFilterTextChange : function(e){ this.setState({ - filterString : e.target.value + filterString : e.target.value, }); return; }, + handleKeys : function(e){ + if(e.key === 'Enter') { + this.updateUrl(e.target.value); + } + }, + + updateUrl : function(filterTerm){ + const url = new URL(window.location.href); + const urlParams = new URLSearchParams(url.search); + if(urlParams.get('filter') == filterTerm) return; + urlParams.set('filter', filterTerm); + if(!filterTerm) urlParams.delete('filter'); + url.search = urlParams; + window.location.replace(url.href); + }, + renderFilterOption : function(){ return ; diff --git a/client/homebrew/pages/userPage/userPage.jsx b/client/homebrew/pages/userPage/userPage.jsx index a78ba11af..6c3af7907 100644 --- a/client/homebrew/pages/userPage/userPage.jsx +++ b/client/homebrew/pages/userPage/userPage.jsx @@ -19,6 +19,7 @@ const UserPage = createClass({ return { username : '', brews : [], + query : '' }; }, getInitialState : function() { @@ -62,7 +63,7 @@ const UserPage = createClass({ }, render : function(){ - return ; + return ; } });