From 6ebb626a4beb1d47750c944c771e4f5487fb9ce4 Mon Sep 17 00:00:00 2001 From: Noah Loomans Date: Tue, 20 Mar 2018 16:51:59 +0100 Subject: Use setUser and setWeek everywhere --- src/client/react/components/container/Results.js | 5 +++-- src/client/react/components/container/Search.js | 5 +++-- src/client/react/components/container/WeekSelector.js | 12 ++++++------ 3 files changed, 12 insertions(+), 10 deletions(-) diff --git a/src/client/react/components/container/Results.js b/src/client/react/components/container/Results.js index 5434eb4..4fc9987 100644 --- a/src/client/react/components/container/Results.js +++ b/src/client/react/components/container/Results.js @@ -25,7 +25,7 @@ import { connect } from 'react-redux'; import { withRouter } from 'react-router-dom'; import users from '../../users'; -import { userFromMatch } from '../../lib/url'; +import { setUser, userFromMatch } from '../../lib/url'; import Result from '../presentational/Result'; class Results extends React.Component { @@ -36,6 +36,7 @@ class Results extends React.Component { // react-router match: PropTypes.object.isRequired, + location: PropTypes.object.isRequired, history: PropTypes.object.isRequired, // redux @@ -74,7 +75,7 @@ class Results extends React.Component { // Therefor, we need to dispatch the SET_USER command manually. this.props.dispatch({ type: 'SEARCH/SET_USER', user }); } else { - this.props.history.push(`/${userId}`); + setUser(userId, this.props.location, this.props.history); } }} /> diff --git a/src/client/react/components/container/Search.js b/src/client/react/components/container/Search.js index 9c67667..c968957 100644 --- a/src/client/react/components/container/Search.js +++ b/src/client/react/components/container/Search.js @@ -26,7 +26,7 @@ import { withRouter } from 'react-router-dom'; import SearchIcon from 'react-icons/lib/md/search'; -import { userFromMatch } from '../../lib/url'; +import { setUser, userFromMatch } from '../../lib/url'; import users from '../../users'; import Menu from './Menu'; @@ -41,6 +41,7 @@ class Search extends React.Component { // react-router match: PropTypes.object.isRequired, + location: PropTypes.object.isRequired, history: PropTypes.object.isRequired, // redux @@ -115,7 +116,7 @@ class Search extends React.Component { // Therefor, we need to dispatch the SET_USER command manually. this.props.dispatch({ type: 'SEARCH/SET_USER', user: urlUser }); } else if (result) { - this.props.history.push(`/${result}`); + setUser(result, this.props.location, this.props.history); } break; diff --git a/src/client/react/components/container/WeekSelector.js b/src/client/react/components/container/WeekSelector.js index 3109bb7..9a88af6 100644 --- a/src/client/react/components/container/WeekSelector.js +++ b/src/client/react/components/container/WeekSelector.js @@ -21,14 +21,13 @@ import React from 'react'; import PropTypes from 'prop-types'; import moment from 'moment'; -import queryString from 'query-string'; import { withRouter } from 'react-router-dom'; import ArrowBackIcon from 'react-icons/lib/md/arrow-back'; import ArrowForwardIcon from 'react-icons/lib/md/arrow-forward'; import purifyWeek from '../../lib/purifyWeek'; -import { weekFromLocation } from '../../lib/url'; +import { setWeek, weekFromLocation } from '../../lib/url'; class WeekSelector extends React.Component { static propTypes = { @@ -59,10 +58,11 @@ class WeekSelector extends React.Component { const newWeek = purifyWeek(week + change); const isCurrentWeek = moment().week() === newWeek; - const query = queryString.stringify({ - week: isCurrentWeek ? undefined : newWeek, - }); - this.props.history.push(`${this.props.location.pathname}?${query}`); + setWeek( + isCurrentWeek ? undefined : newWeek, + this.props.location, + this.props.history, + ); } render() { -- cgit v1.1