<?php

namespace App\Events;

use Illuminate\Broadcasting\Channel;
use Illuminate\Broadcasting\InteractsWithSockets;
use Illuminate\Contracts\Broadcasting\ShouldBroadcast; // Tetap wajib
use Illuminate\Foundation\Events\Dispatchable;
use Illuminate\Queue\SerializesModels;

class PendakiTerdaftar implements ShouldBroadcast
{
    use Dispatchable, InteractsWithSockets, SerializesModels;

    /**
     * Create a new event instance.
     * Dikosongkan tidak apa-apa jika tujuannya hanya mengirim sinyal refresh.
     */
    public function __construct()
    {
        //
    }

    /**
     * Nama Channel yang digunakan.
     */
    public function broadcastOn(): array
    {
        return [
            new Channel('pendakian'),
        ];
    }

    /**
     * Nama Sinyal/Event.
     * Karena ada tanda titik di JS kamu (.pendaki.baru), 
     * fungsi ini memastikan sinyal terbaca dengan benar.
     */
    public function broadcastAs(): string
    {
        return 'pendaki.baru';
    }
}