From 7bfb87a0beda7247f1edc687b34144859813758a Mon Sep 17 00:00:00 2001 From: Noah Loomans Date: Fri, 6 Jul 2018 17:34:06 +0200 Subject: client: Remove url helpers --- src/client/react/lib/url.js | 83 --------------------------------------------- 1 file changed, 83 deletions(-) delete mode 100644 src/client/react/lib/url.js (limited to 'src/client/react/lib') diff --git a/src/client/react/lib/url.js b/src/client/react/lib/url.js deleted file mode 100644 index bb5b483..0000000 --- a/src/client/react/lib/url.js +++ /dev/null @@ -1,83 +0,0 @@ -/** - * Copyright (C) 2018 Noah Loomans - * - * This file is part of rooster.hetmml.nl. - * - * rooster.hetmml.nl is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * rooster.hetmml.nl is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with rooster.hetmml.nl. If not, see . - * - */ - -import moment from 'moment'; -import queryString from 'query-string'; -import users from '../users'; -import purifyWeek from './purifyWeek'; - -export function userFromMatch(match) { - const user = `${match.params.type}/${match.params.value}`; - - if (!users.allIds.includes(user)) { - return null; - } - - return user; -} - -export function userFromLocation(location) { - const match = location.pathname.match(/^\/([stcr])\/([-0-9a-zA-Z]+)/); - if (!match) return null; - - const user = `${match[1]}/${match[2]}`; - if (!users.allIds.includes(user)) return null; - - return user; -} - -export function weekFromLocation(location) { - const weekStr = queryString.parse(location.search).week; - - if (!weekStr) { - return moment().week(); - } - - return purifyWeek(parseInt(weekStr, 10)); -} - -export function makeSetUser(history) { - return (userId) => { - const query = history.location.search; - history.push(`/${userId}${query}`); - }; -} - -export function makeSetWeek(history) { - return (week) => { - const query = queryString.stringify({ - ...queryString.parse(history.location.search), - week, - }); - - history.push(`${history.location.pathname}?${query}`); - }; -} - -export function makeUpdateQuery(history) { - return function updateQuery(newQuery) { - const query = queryString.stringify({ - ...queryString.parse(history.location.search), - ...newQuery, - }); - - history.push(`${history.location.pathname}?${query}`); - }; -} -- cgit v1.1