diff --git a/CHANGELOG.md b/CHANGELOG.md index ee249394..c13911ec 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,7 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org). -## [Unreleased] +## [3.2.1] - 2021-09-12 ### Added * *Nothing* @@ -20,6 +20,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), ### Fixed * [#478](https://github.com/shlinkio/shlink-web-client/pull/478) Fixed tags including special chars not being properly URL encoded before using them as query params. * [#480](https://github.com/shlinkio/shlink-web-client/pull/480) Fixed servers import on Chromium-based browsers when using windows. +* [#482](https://github.com/shlinkio/shlink-web-client/pull/480) Fixed end date not being set to the end of the day when filtering visits using a "smart filter" (last 7 days, last 30 days, etc). ## [3.2.0] - 2021-07-12 diff --git a/src/utils/dates/types/index.ts b/src/utils/dates/types/index.ts index 86767dc4..88672d36 100644 --- a/src/utils/dates/types/index.ts +++ b/src/utils/dates/types/index.ts @@ -55,6 +55,7 @@ export const rangeOrIntervalToString = (range?: DateRange | DateInterval): strin }; const startOfDaysAgo = (daysAgo: number) => startOfDay(subDays(new Date(), daysAgo)); +const endingToday = (startDate: Date): DateRange => ({ startDate, endDate: endOfDay(new Date()) }); export const intervalToDateRange = (dateInterval?: DateInterval): DateRange => { if (!dateInterval) { @@ -63,19 +64,19 @@ export const intervalToDateRange = (dateInterval?: DateInterval): DateRange => { switch (dateInterval) { case 'today': - return { startDate: startOfDay(new Date()), endDate: new Date() }; + return endingToday(startOfDay(new Date())); case 'yesterday': return { startDate: startOfDaysAgo(1), endDate: endOfDay(subDays(new Date(), 1)) }; case 'last7Days': - return { startDate: startOfDaysAgo(7), endDate: new Date() }; + return endingToday(startOfDaysAgo(7)); case 'last30Days': - return { startDate: startOfDaysAgo(30), endDate: new Date() }; + return endingToday(startOfDaysAgo(30)); case 'last90Days': - return { startDate: startOfDaysAgo(90), endDate: new Date() }; + return endingToday(startOfDaysAgo(90)); case 'last180days': - return { startDate: startOfDaysAgo(180), endDate: new Date() }; + return endingToday(startOfDaysAgo(180)); case 'last365Days': - return { startDate: startOfDaysAgo(365), endDate: new Date() }; + return endingToday(startOfDaysAgo(365)); } return {};