@extends('layouts.app') @section('content')

External News Monitor

Monitor and quickly access the latest headlines collected from partner and regional newsrooms.

@csrf
@csrf

Manual refreshes queue metadata fetches for newly discovered links. The background worker listening on the monitor-metadata queue runs automatically, so metadata is fetched as soon as jobs are dispatched.

@if(session('status'))
{{ session('status') }}
@endif @if($lastFetchedAt)

Last automatic refresh completed {{ $lastFetchedAt->diffForHumans() }} ({{ $lastFetchedAt->format('Y-m-d H:i') }}).

@else

No external articles have been collected yet.

@endif
@forelse($sources as $region) @php $regionSourceCount = $region['sources']->count(); $regionSourceLabel = \Illuminate\Support\Str::plural('source', $regionSourceCount); $regionLinkLabel = \Illuminate\Support\Str::plural('link', $region['article_count']); $regionScrapedLabel = \Illuminate\Support\Str::plural('scraped article', $region['scraped_count']); @endphp
0 ? 'open' : '' }}> {{ $region['label'] }} ({{ $region['article_count'] }} {{ $regionLinkLabel }}{{ $regionSourceCount ? ', '.$regionSourceCount.' '.$regionSourceLabel : '' }}, {{ $region['scraped_count'] }} {{ $regionScrapedLabel }})
@foreach($region['sources'] as $source) @php $sourceLinkCount = $source['articles']->count(); $sourceLinkLabel = \Illuminate\Support\Str::plural('link', $sourceLinkCount); $sourceScrapedCount = $source['scraped_count']; $sourceScrapedLabel = \Illuminate\Support\Str::plural('scraped article', $sourceScrapedCount); @endphp
isNotEmpty() ? 'open' : '' }}> {{ $source['name'] }} ({{ $sourceLinkCount }} {{ $sourceLinkLabel }}, {{ $sourceScrapedCount }} {{ $sourceScrapedLabel }}) @if($source['articles']->isEmpty())

No articles collected yet.

@else @foreach($source['dates'] as $date => $items) @php $dateHeading = $date !== 'unknown' ? \Illuminate\Support\Carbon::parse($date)->translatedFormat('F j, Y') : 'Unknown date'; $dateLinkLabel = \Illuminate\Support\Str::plural('link', $items->count()); @endphp
{{ $dateHeading }} ({{ $items->count() }} {{ $dateLinkLabel }})
@endforeach @endif
@endforeach
@empty

No sources configured.

@endforelse
@endsection @push('styles') @endpush