diff --git a/app/Http/Controllers/TrackerController.php b/app/Http/Controllers/TrackerController.php index cb63aa9..20bffb6 100644 --- a/app/Http/Controllers/TrackerController.php +++ b/app/Http/Controllers/TrackerController.php @@ -34,13 +34,26 @@ class TrackerController extends Controller if (!$tripId) return view('no-trip'); $viewMode = $request->input('show', null); + $fromCheckin = $request->input('from', null); + $toCheckin = $request->input('to', null); + $tripData = $this->get_trip_data($tripId); + if ($fromCheckin) { + $tripData->checkins = array_filter($tripData->checkins, function($key) use ($fromCheckin) { return $key >= $fromCheckin; }, ARRAY_FILTER_USE_KEY); + } + + if ($toCheckin) { + $tripData->checkins = array_filter($tripData->checkins, function($key) use ($toCheckin) { return $key <= $toCheckin; }, ARRAY_FILTER_USE_KEY); + } + return view( 'tracker', [ 'trip' => $tripData, - 'showAllCheckins' => ($viewMode === 'all') + 'showAllCheckins' => ($viewMode === 'all'), + 'fromCheckin' => $fromCheckin, + 'toCheckin' => $toCheckin ] ); } diff --git a/app/Mail/Digest.php b/app/Mail/Digest.php index 4de5749..bfaf608 100644 --- a/app/Mail/Digest.php +++ b/app/Mail/Digest.php @@ -55,6 +55,9 @@ class Digest extends Mailable case 'weekly': $cutoffDateTime->modify('-1 week'); break; + case 'fortnightly': + $cutoffDateTime->modify('-2 weeks'); + break; case 'monthly': $cutoffDateTime->modify('-1 month'); break; diff --git a/resources/views/emails/digest.blade.php b/resources/views/emails/digest.blade.php index 131247d..166f215 100644 --- a/resources/views/emails/digest.blade.php +++ b/resources/views/emails/digest.blade.php @@ -37,21 +37,25 @@

View the tracker here.


Checkins

-
    -@foreach($checkins as $checkin) -
  1. -
    - -

    {!! $checkin->title ?? "Untitled" !!}

    -

    {!! render_date_difference($checkin->date) !!}

    -
    - @if($checkin->note) - {!! $checkin->note !!} - @endif - @if($checkin->image_url) - - @endif -
    -
  2. -@endforeach -
+@if($checkins) +
    + @foreach($checkins as $checkin) +
  1. +
    + +

    {!! $checkin->title ?? "Untitled" !!}

    +

    {!! render_date_difference($checkin->date) !!}

    +
    + @if($checkin->note) + {!! $checkin->note !!} + @endif + @if($checkin->image_url) + + @endif +
    +
  2. + @endforeach +
+@else +

No new checkins

+@endif diff --git a/resources/views/tracker.blade.php b/resources/views/tracker.blade.php index 5b095b0..8eb518f 100644 --- a/resources/views/tracker.blade.php +++ b/resources/views/tracker.blade.php @@ -31,8 +31,8 @@

@if ($showAllCheckins) Check-ins @else Recent Check-ins @endif

-
    - @if($showAllCheckins) +
      + @if($showAllCheckins || $toCheckin || $fromCheckin) @php $checkinsList = array_reverse($trip->checkins) @endphp @else @php $checkinsList = array_slice(array_reverse($trip->checkins), 0, 10) @endphp