diff --git a/client/homebrew/homebrew.jsx b/client/homebrew/homebrew.jsx index 094b96744..732c06486 100644 --- a/client/homebrew/homebrew.jsx +++ b/client/homebrew/homebrew.jsx @@ -49,7 +49,7 @@ const Homebrew = createClass({ }/> }/> }/> - }/> + }/> }/> }/> }/> diff --git a/client/homebrew/pages/basePages/listPage/listPage.jsx b/client/homebrew/pages/basePages/listPage/listPage.jsx index e1f300ab2..934d147be 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,35 @@ const ListPage = createClass({ handleFilterTextChange : function(e){ this.setState({ - filterString : e.target.value + filterString : e.target.value, }); + this.updateUrl(e.target.value); return; }, + updateUrl : function(filterTerm){ + const url = new URL(window.location.href); + const urlParams = new URLSearchParams(url.search); + if(urlParams.get('filter') == filterTerm) + return; + if(!filterTerm) + urlParams.delete('filter'); + else + urlParams.set('filter', filterTerm); + url.search = urlParams; + window.history.replaceState(null, null, url); + }, + 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 ; } });