Programmes
{{ $totalProgrammes }}
{{ $activeProgrammes }} active on the public page Β· {{ $totalCourses }} total runs.
@vite(['resources/css/app.css', 'resources/js/app.js'])
@include('admin.partials.nav')Quick view of programmes, runs, and registrations. Today is {{ $today->format('d M Y') }}.
Programmes
{{ $totalProgrammes }}
{{ $activeProgrammes }} active on the public page Β· {{ $totalCourses }} total runs.
Upcoming webinars
{{ $upcomingWebinars }}
Active courses with webinar links and future dates.
Paid registrations today
{{ $paidRegistrationsToday }}
{{ $paidParticipantsToday }} participant{{ $paidParticipantsToday === 1 ? '' : 's' }} Β· RM {{ number_format($revenueToday, 2) }} collected.
All-time impact
{{ $totalPaidParticipants }}
Paid participants across all programmes Β· RM {{ number_format($totalRevenue, 2) }} total revenue.
Quickly see whatβs coming up and who has registered.
No upcoming courses are scheduled yet.
@else@if ($course->start_date) {{ $course->start_date->format('d M Y') }} @else Date TBC @endif
{{ $programme->name ?? $course->name }}
@if ($programme && $course->name && $course->name !== $programme->name)Run: {{ $course->name }}
@endif @if ($course->location){{ $course->location }}
@endif @if ($totalRegistrations > 0){{ $totalRegistrations }} applicant{{ $totalRegistrations === 1 ? '' : 's' }} @if ($paidRegistrations > 0) Β· {{ $paidRegistrations }} paid @endif
@endifFee: RM {{ number_format($course->price, 2) }}
@endif@if ($seatCapacity !== null && $paidParticipants) {{ $paidParticipants }} of {{ $seatCapacity }} seats filled. @elseif ($seatCapacity !== null) Capacity: {{ $seatCapacity }} seats. @endif
Recent applicants
{{ $registration->name }}
@if ($registration->phone) {{ $registration->phone }} @if ($registration->email) Β· {{ $registration->email }} @endif @else {{ $registration->email }} @endif
Use this list to quickly follow up with participants and check payment status.
No registrations recorded yet.
@else{{ $registration->name }}
{{ $registration->email }} Β· {{ $registration->phone }}
{{ $programme->name ?? $course->name ?? 'Unknown course' }} @if ($course && $programme && $course->name && $course->name !== $programme->name) Β· Run: {{ $course->name }} @endif @if ($registration->quantity) Β· {{ $registration->quantity }} pax @endif
RM {{ number_format($registration->amount, 2) }}
{{ optional($registration->created_at)->format('d M H:i') }}
Based on SenangPay-backed registrations (status = paid).
| Programme | Runs with paid regs | Paid participants | Revenue (RM) | Actions |
|---|---|---|---|---|
|
{{ $programmeRow->name }}
@if ($programmeRow->category)
{{ $programmeRow->category }}
@endif
|
{{ (int) $programmeRow->runs_with_paid_count }} | {{ (int) $programmeRow->paid_participants_sum }} | RM {{ number_format($programmeRow->revenue_sum ?? 0, 2) }} | View programme β |
Training calendar
Each month shows scheduled runs (based on start date). Use this to plan upcoming workshops and webinars.
{{ $monthWorkshops->count() }} workshop{{ $monthWorkshops->count() === 1 ? '' : 's' }} Β· {{ $monthWebinars->count() }} webinar{{ $monthWebinars->count() === 1 ? '' : 's' }}
No runs scheduled.
@elseWorkshops
{{ $dateLabel }}
{{ $programme->name ?? $course->name }}
@if ($course->location){{ $course->location }}
@endifRM {{ number_format($course->price, 0) }}
@endif{{ $course->delivery_mode ?? 'On-site' }}
Online webinars
{{ $dateLabel }}
{{ $programme->name ?? $course->name }}
@if ($course->location){{ $course->location }}
@endifRM {{ number_format($course->price, 0) }}
@endif{{ $course->delivery_mode ?? 'Online' }}