@foreach($checkinsList as $checkin)
    <li>
        @php
        $hasEmbed = null;
        $embedMissing = null;
        if (preg_match("/\[\[([^\]]+)\]\]/", $checkin->note, $filepath)) {
          if (preg_match("/\.webm/", $filepath[1])) {
              $hasEmbed = 'videos';
              $trip_slug = preg_replace( '/[^A-Za-z0-9-]+/', '-', strtolower( $trip->name ) ); 
              if (file_exists(public_path() . "/" . $trip_slug . "/" . $hasEmbed . "/" . $filepath[1])) {
                  $path = "/" . $trip_slug . "/" .$hasEmbed . "/" . $filepath[1];

                  $embed = '<video class="popup__video" controls>';
                  $embed .= '<source src="' . secure_url( $path ) . '" type="video/webm">';
                  $embed .= '<p>Your client doesn\'t support HTML video. Here is a <a href="' . secure_url( $path ) . '">link to the video</a> instead.</p>';
                  $embed .= '</video>'; 
                  if (isset($email)) {
                    $embed .= '<p><i>If your email client doesn\'t support video embeds, here is a <a href="' . secure_url( $path ) . '">link to the file</a> instead.</i></p>';
                  }
              } else {
                  $embed = '<p>[The video \'' . $filepath[1] . '\' has not yet been uploaded, try again later.]</p>';
                  $embedMissing = true;
              }
          } elseif (preg_match("/\.ogg/", $filepath[1])) {
              $hasEmbed = 'audio';
              $trip_slug = preg_replace( '/[^A-Za-z0-9-]+/', '-', strtolower( $trip->name ) ); 
              if (file_exists(public_path() . "/" . $trip_slug . "/" . $hasEmbed . "/" . $filepath[1])) {
                  $path = "/" . $trip_slug . "/" .$hasEmbed . "/" . $filepath[1];

                  $embed = '<audio class="popup__audio" controls>';
                  $embed .= '<source src="' . secure_url( $path ) . '" type="audio/ogg">';
                  $embed .= '<p>Download <a href="' . secure_url( $path ) . '">OGG</a> audio.</p>';
                  $embed .= '</audio>'; 
                  if (isset($email)) {
                    $embed .= '<p><i>If your email client doesn\' support audio embeds, here is a <a href="' . secure_url( $path ) . '">link to the file</a> instead.</i></p>';
                  }
              } else {
                  $embed = '<p>[The recording \'' . $filepath[1] . '\' has not yet been uploaded, try again later.]</p>';
                  $embedMissing = true;
              }
          }
          $checkin->note = preg_replace("/\[\[[^\]]+\]\]/", $embed, $checkin->note);
        }
        @endphp
        <details class="checkin" id="{{ $checkin->id }}" ontoggle="toggleCheckin(this.open, this.id)">
            <summary class="checkin__summary">
                <h2 class="checkin__title">
                  {!! $checkin->title ?? "<i>Untitled</i>" !!}
                  @if($checkin->image_url)
                    <span class="checkin-icon">🖼️</span>                    
                  @endif
                  @if($hasEmbed)
                    @if($hasEmbed === 'videos')
                      <span class="checkin-icon @if($embedMissing) checkin-icon--missing @endif">&#128249;</span>                    
                    @endif
                    @if($hasEmbed === 'audio')
                      <span class="checkin-icon @if($embedMissing) checkin-icon--missing @endif">&#128264;</span>                    
                    @endif

                  @endif
                </h2>
                <p class="checkin__meta">{!! render_date_difference($checkin->date) !!}</p>
            </summary>
            @if($checkin->note)

              @if($checkin->id === 3930)
                @include('partials.abolition-checkin')
              @else
                {!! $checkin->note !!}
              @endif
            @endif

            @if($checkin->image_url)
            <img class="popup__image" loading="lazy" src="{{ $checkin->image_url }}">
            @endif
        </details>
    </li>
@endforeach