# Именование событий в Laravel Echo

## Важно: Формат имени события

В Laravel Echo формат имени события зависит от того, используется ли `broadcastAs()` в событии.

### Если событие имеет `broadcastAs()` с именем класса

Используйте имя класса события напрямую (как в примере):

```javascript
// Событие: broadcastAs() возвращает 'NewOrderCreated'
window.Echo.private('admin-orders')
    .listen('NewOrderCreated', ({ order }) => {
        console.log('Новый заказ:', order);
    });
```

### Если событие НЕ имеет `broadcastAs()`

Используйте полное имя класса события:

```javascript
// Событие: App\Events\NewOrderCreated
channel.listen('App\\Events\\NewOrderCreated', callback);
```

Или короткое имя класса (если Laravel автоматически преобразует):

```javascript
channel.listen('NewOrderCreated', callback);
```

## Наш случай

У нас события используют `broadcastAs()` с именем класса:
- `NewOrderCreated` → `broadcastAs()` возвращает `'NewOrderCreated'`
- `OrderStatusUpdated` → `broadcastAs()` возвращает `'OrderStatusUpdated'`

Поэтому нужно использовать имя класса напрямую:
```javascript
window.Echo.private('admin-orders')
    .listen('NewOrderCreated', ({ order }) => {
        // обработка нового заказа
    });

window.Echo.private('admin-orders')
    .listen('OrderStatusUpdated', ({ order }) => {
        // обработка обновления статуса
    });
```

## Паттерн использования (как в примере)

```javascript
window.Echo.private(`admin-orders`)
    .listen("NewOrderCreated", ({ order }) => {
        console.log("📦 Новый заказ:", order);
        // ваша логика
    });
```

## Отладка

Если события не приходят, проверьте:
1. Что событие имеет `broadcastAs()` с именем класса
2. Что на фронтенде используется то же имя без точки
3. Консоль браузера - должно появиться событие с именем класса
