From bb99141e9c57e8dade618d8a7b693286bd33e89c Mon Sep 17 00:00:00 2001
From: Yash Solanki <yashsolanki1709@gmail.com>
Date: Sat, 14 Jan 2023 18:00:51 +0530
Subject: [PATCH] Fix group by month/year not working for YTD (#1598)

* Set time to 00:00:00 when getting current timestamp

* Update changelog
---
 CHANGELOG.md                                  |  4 ++++
 .../src/app/portfolio/portfolio.service.ts    | 20 +++++++++++++++----
 .../investment-chart.component.ts             |  5 ++++-
 3 files changed, 24 insertions(+), 5 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 870ffd245..29bd4c1d3 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -16,6 +16,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
 
 - Improved the logo alignment
 
+### Fixed
+
+- Fixed the grouping by month / year of the dividend and investment timeline
+
 ## 1.226.0 - 2023-01-11
 
 ### Added
diff --git a/apps/api/src/app/portfolio/portfolio.service.ts b/apps/api/src/app/portfolio/portfolio.service.ts
index a50ffbad3..67941f12b 100644
--- a/apps/api/src/app/portfolio/portfolio.service.ts
+++ b/apps/api/src/app/portfolio/portfolio.service.ts
@@ -1468,16 +1468,28 @@ export class PortfolioService {
   private getStartDate(aDateRange: DateRange, portfolioStart: Date) {
     switch (aDateRange) {
       case '1d':
-        portfolioStart = max([portfolioStart, subDays(new Date(), 1)]);
+        portfolioStart = max([
+          portfolioStart,
+          subDays(new Date().setHours(0, 0, 0, 0), 1)
+        ]);
         break;
       case 'ytd':
-        portfolioStart = max([portfolioStart, setDayOfYear(new Date(), 1)]);
+        portfolioStart = max([
+          portfolioStart,
+          setDayOfYear(new Date().setHours(0, 0, 0, 0), 1)
+        ]);
         break;
       case '1y':
-        portfolioStart = max([portfolioStart, subYears(new Date(), 1)]);
+        portfolioStart = max([
+          portfolioStart,
+          subYears(new Date().setHours(0, 0, 0, 0), 1)
+        ]);
         break;
       case '5y':
-        portfolioStart = max([portfolioStart, subYears(new Date(), 5)]);
+        portfolioStart = max([
+          portfolioStart,
+          subYears(new Date().setHours(0, 0, 0, 0), 5)
+        ]);
         break;
     }
     return portfolioStart;
diff --git a/apps/client/src/app/components/investment-chart/investment-chart.component.ts b/apps/client/src/app/components/investment-chart/investment-chart.component.ts
index bfce434e8..734fe704f 100644
--- a/apps/client/src/app/components/investment-chart/investment-chart.component.ts
+++ b/apps/client/src/app/components/investment-chart/investment-chart.component.ts
@@ -196,7 +196,10 @@ export class InvestmentChartComponent implements OnChanges, OnDestroy {
           this.getTooltipPluginConfiguration()
         );
         this.chart.options.scales.x.min = this.daysInMarket
-          ? subDays(new Date(), this.daysInMarket).toISOString()
+          ? subDays(
+              new Date().setHours(0, 0, 0, 0),
+              this.daysInMarket
+            ).toISOString()
           : undefined;
 
         if (