@extends('layouts.vendor') @section('title', 'Panel Vendor') @section('content') @php $activeTab = request('tab', 'pelanggan'); @endphp {{-- Copy Mesej Modal --}} @if(session('new_slug'))

Akaun Berjaya Dibuat!

Salin mesej di bawah dan hantar kepada pelanggan:

Assalamualaikum 👋 Akaun undangan digital anda telah berjaya dicipta di *SatuJiwa*! 🔗 *Link Undangan:* satujiwa.my/{{ session('new_slug') }} 🔐 *Maklumat Login Dashboard:* Email: {{ session('new_email') }} Password: {{ session('new_password') }} 📱 *Cara Setup:* 1. Pergi ke satujiwa.my/login 2. Login dengan email dan password di atas 3. Isi semua maklumat majlis anda 4. Klik *Simpan Perubahan* 5. Kongsi link undangan kepada tetamu anda Selamat menggunakan SatuJiwa! 🌸 Hubungi kami jika ada sebarang pertanyaan.
@endif {{-- PAGE HEADER --}}

Panel Vendor

Selamat datang, uruskan pelanggan dan pendaftaran anda di sini.

{{-- STATS --}}
{{ $stats['total'] }}
Pelanggan
{{ $stats['aktif'] }}
Aktif
{{ $stats['tamat'] }}
Tamat
{{ $stats['pending'] }}
Pending
{{-- ══ TAB: PELANGGAN ══ --}} @if($activeTab == 'pelanggan')

Senarai Pelanggan

{{ $users->total() }} akaun
@forelse($users as $user) @php $status = !$user->invitation ? 'pending' : ($user->invitation->isExpired() ? 'tamat' : 'aktif'); @endphp @empty @endforelse
Pelanggan Status Tindakan
{{ $user->name }}
{{ $user->email }}
@if($user->invitation) @endif
@if(!$user->invitation) Pending @elseif($user->invitation->isExpired()) Tamat @else Aktif @endif @if($user->invitation)
Tamat: {{ $user->invitation->expires_at?->format('d/m/Y') }}
@endif
Tiada pelanggan ditemui.
@if($users->hasPages())
{{ $users->links() }}
@endif
@endif {{-- ══ TAB: BUAT AKAUN ══ --}} @if($activeTab == 'buat')

Daftar Pelanggan Baru

@csrf
satujiwa.my/—
@endif {{-- ══ TAB: LAPORAN ══ --}} @if($activeTab == 'report') @php $months = []; for($i = 11; $i >= 0; $i--){ $m = \Carbon\Carbon::now()->subMonths($i); $count = \App\Models\User::whereMonth('created_at', $m->month) ->whereYear('created_at', $m->year) ->where('vendor_id', auth()->id()) ->count(); $months[] = ['label' => $m->format('M'), 'count' => $count]; } $expiringSoon = \App\Models\Invitation::where('expires_at', '>', now()) ->where('expires_at', '<=', now()->addDays(30)) ->whereHas('user', fn($q) => $q->where('vendor_id', auth()->id())) ->with('user') ->orderBy('expires_at') ->get(); @endphp

Prestasi Pendaftaran

@if($expiringSoon->count() > 0)

Akan Tamat (30 Hari)

@foreach($expiringSoon as $inv)
{{ $inv->user->name }}
Tamat: {{ $inv->expires_at->format('d M Y') }}
@endforeach
@endif

Status Keseluruhan

Aktif {{ $stats['aktif'] }}
Tamat {{ $stats['tamat'] }}
Pending {{ $stats['pending'] }}
@endif {{-- Reset Password Modal --}} @endsection