@@ -261,6 +270,10 @@ const {
currentLeaveYear,
availableLeaveYears,
setSelectedLeaveYear,
+ selectedRttYear,
+ currentRttYear,
+ availableRttYears,
+ setSelectedRttYear,
showLeaveTab,
showRttTab,
contractHistory,
diff --git a/src/State/EmployeeRttSummaryProvider.php b/src/State/EmployeeRttSummaryProvider.php
index bf091e4..8995845 100644
--- a/src/State/EmployeeRttSummaryProvider.php
+++ b/src/State/EmployeeRttSummaryProvider.php
@@ -110,14 +110,11 @@ final readonly class EmployeeRttSummaryProvider implements ProviderInterface
$summary->currentYearRecoveryMinutes = array_sum(array_map(static fn ($d) => $d->totalMinutes, $currentByWeekStart));
$summary->availableMinutes = $summary->carryFromPreviousYearMinutes + $summary->currentYearRecoveryMinutes;
- // Pass rttStartDate only if it falls within this exercise
- if (null !== $this->rttStartDate) {
- $startDate = new DateTimeImmutable($this->rttStartDate);
- if ($startDate >= $periodFrom && $startDate <= $periodTo) {
- $summary->rttStartDate = $this->rttStartDate;
- }
- }
- $summary->weeks = $this->buildWeekSummaries($weekRanges, $currentByWeekStart, $periodFrom, $periodTo);
+ // Always expose rttStartDate so the frontend can use it as a hard floor
+ // for the year selector. Frontend already uses month-level comparison
+ // to hide carry/report rows when the date is outside the exercise.
+ $summary->rttStartDate = $this->rttStartDate;
+ $summary->weeks = $this->buildWeekSummaries($weekRanges, $currentByWeekStart, $periodFrom, $periodTo);
// Post-process: distribute deficit weeks across cumulative balance (50% first, then 25%)
$cumulative50 = $carry->base50Minutes + $carry->bonus50Minutes;