@php // $section is available from the page renderer // Default values for section content $sectionTitle = $section->content['title'] ?? 'Latest Tenders'; $numberOfTenders = (int)($section->content['number_of_items'] ?? 3); $viewAllLink = $section->content['view_all_link'] ?? null; // e.g., '/tenders' $viewAllText = $section->content['view_all_text'] ?? 'View All Tenders'; // Fetch tenders from BusinessDirectory module try { $tenders = \Modules\BusinessDirectory\Entities\Tender::query() ->where('status', 'open') // Assuming 'open' is the status for active tenders ->where('deadline', '>=', now()) ->with('company') // Eager load company ->orderBy('deadline', 'asc') // Show soonest to expire first, or 'created_at', 'desc' for newest ->take($numberOfTenders) ->get(); } catch (\Throwable $e) { $tenders = collect(); \Illuminate\Support\Facades\Log::error("Error fetching tenders for landing page section: " . $e->getMessage()); } @endphp @if($tenders->isNotEmpty())

{{ $sectionTitle }}

@foreach($tenders as $tender)

{{ $tender->title }}

@if($tender->company)

Posted by: {{ $tender->company->name }}

@endif

Location: {{ $tender->location ?? 'N/A' }}

{{ Str::limit($tender->description ?? 'No description available.', 150) }}

Budget: {{ $tender->currency }} {{ number_format($tender->budget_min,0) }} - {{ number_format($tender->budget_max,0) }}

Deadline: {{ $tender->deadline ? $tender->deadline->format('M d, Y') : 'N/A' }}

View Tender →
@endforeach
@if($viewAllLink) @endif
@endif