@php /* This code is used to determine the responsive classes added to the table cell. The last 3 months are always visible. The last 6 months are visible on md devices The last 12 months are visible on lg+ devices */ $classes[0] = 'd-none d-lg-table-cell'; $classes[1] = 'd-none d-lg-table-cell'; $classes[2] = 'd-none d-lg-table-cell'; $classes[3] = 'd-none d-lg-table-cell'; $classes[4] = 'd-none d-lg-table-cell'; $classes[5] = 'd-none d-lg-table-cell'; $classes[6] = 'd-none d-lg-table-cell'; $classes[7] = 'd-none d-md-table-cell'; $classes[8] = 'd-none d-md-table-cell'; $classes[9] = 'd-none d-md-table-cell'; $classes[10] = ''; $classes[11] = ''; $classes[12] = ''; @endphp @php $i = 0; @endphp @foreach ($activity as $year => $months) @foreach ($months as $month => $dates) @php $i++ @endphp @endforeach @endforeach {{-- Output a table containing columns for days 1-7, 8-14, 15-21, 22-28, 29-31 (if applicable) --}} @for ($row = 0; $row < 7; $row++) @php $i = 0; @endphp @foreach ($activity as $year => $months) @foreach ($months as $month => $dates) @php $day1 = $row + 1; $day2 = $row + 8; $day3 = $row + 15; $day4 = $row + 22; $day5 = $row + 29; @endphp @if (ceil($month_days[$year][$month] / 7) >= 1) @if ($day1 <= $month_days[$year][$month]) @if (isset($dates[$day1]) && $dates[$day1] > 0) @else @endif @else @endif @endif @if (ceil($month_days[$year][$month] / 7) >= 2) @if ($day2 <= $month_days[$year][$month]) @if (isset($dates[$day2]) && $dates[$day2] > 0) @else @endif @else @endif @endif @if (ceil($month_days[$year][$month] / 7) >= 3) @if ($day3 <= $month_days[$year][$month]) @if (isset($dates[$day3]) && $dates[$day3] > 0) @else @endif @else @endif @endif @if (ceil($month_days[$year][$month] / 7) >= 4) @if ($day4 <= $month_days[$year][$month]) @if (isset($dates[$day4]) && $dates[$day4] > 0) @else @endif @else @endif @endif @if (ceil($month_days[$year][$month] / 7) >= 5) @if ($day5 <= $month_days[$year][$month]) @if (isset($dates[$day5]) && $dates[$day5] > 0) @else @endif @else @endif @endif @php $i++ @endphp @endforeach @endforeach @endfor
{{-- This element is here purely to give the table a th:first-child so it can apply the left border, even if the first child is hidden due to responsiveness --}} {{ $month }}@if ($i == 0 || $i == 12 || $month == 'Jan')
{{ $year }}@endif
{{-- This element is here purely to give the table a th:first-child so it can apply the left border, even if the first child is hidden due to responsiveness --}}