{{-- Programmes and Updates: published news_events except newsletters (FrontendStaticPageController@landingV3). The 2 latest are feature cards, the rest fill the scrolling list; older items live on /news-announcements. --}} @php $programmeUpdates = $programmeUpdates ?? collect(); $featuredUpdates = $programmeUpdates->take(2); $moreUpdates = $programmeUpdates->slice(2)->values(); // The list loops by translating -50%, so it needs a duplicate set; below 4 items it stays still. $loopMoreUpdates = $moreUpdates->count() >= 4; $locale = app()->getLocale(); $updateText = fn ($item, string $field) => $item->{$field.'_'.$locale} ?: $item->{$field.'_en'}; $updateDate = fn ($item) => $item->event_date ?? $item->published_at ?? $item->created_at; @endphp

News & Announcements

Programmes and Updates

Follow current cultural programmes, exhibitions, institutional activities and public announcements.

@if ($programmeUpdates->isEmpty())

No programmes or updates have been published yet.

View All News & Announcements
@else
@foreach ($featuredUpdates as $update)
@if ($date = $updateDate($update)) {{ $date->format('d M Y') }} @endif

{{ $updateText($update, 'title') }}

@if ($summary = $updateText($update, 'description') ?: $updateText($update, 'venue'))

{{ str(strip_tags($summary))->squish()->limit(110) }}

@endif Read More
@endforeach

More Updates

@if ($moreUpdates->isEmpty())

More updates will appear here.

@else
    @foreach ($loopMoreUpdates ? [false, true] : [false] as $isLoopCopy) @foreach ($moreUpdates as $update) @php $date = $updateDate($update); @endphp @endforeach @endforeach
@endif View All News & Announcements
@endif