# План - Режим «Зупинено» (Stopped) для окремих хостів [ВИКОНАНО]

## Огляд
Додано можливість індивідуально зупиняти та запускати моніторинг (пінг) для кожного хоста безпосередньо з головного інтерфейсу. При зупинці всі статистичні дані, історія графіка та журнал очищаються, а в журнал та файл записується подія зупинки. Це дозволяє почати моніторинг «з чистого аркуша».

## Зміни в архітектурі

1. **`src/model/status.rs`**:
   - Додано поле `is_stopped: bool` у структуру `HostInfo`.
   - Додано метод `reset_statistics(&mut self)` до `HostStatus`, який очищає:
     - Усі метрики (latency, history, jitter, MOS, availability, outliers, streak).
     - Глобальні лічильники пакетів (`sent`, `lost`).
     - **Журнал подій** (`events`).

2. **`src/app.rs`** (Інтерфейс користувача):
   - Додано кнопку "⏹" (Stop) або "▶" (Start) після кнопки Журналу "📋".
   - При зупинці виводиться сірий текст `STOPPED` замість латентності.
   - Інша статистика не відображається для зупинених хостів.
   - При зміні стану генеруються маркери `Monitoring stopped` / `Monitoring started`.

3. **`src/logic/pinger.rs`** (Логіка опитування):
   - Зупинені хости ігноруються в чергах на Ping та Traceroute.
   - Вони не враховуються як `DOWN` в логіці виявлення точок відмови.

## Етапи реалізації

- [x] 1. Оновити структуру `HostInfo` та додати метод `reset_statistics()` до структури `HostStatus`.
- [x] 2. Модифікувати `pinger_task` для ігнорування зупинених хостів.
- [x] 3. Відредагувати `src/app.rs` для відображення кнопок «Stop/Start» та оновлення UI (текст `STOPPED`).
- [x] 4. Реалізувати очищення журналу (`events.clear()`) при зупинці.
- [x] 5. Оновити всі тести та документацію.

## Критерії успіху
- [x] При натисканні ⏹ графік, лічильники та журнал миттєво обнуляються.
- [x] UI відображає слово `STOPPED` сірим кольором.
- [x] ICMP запити та Traceroute для зупинених хостів не генеруються.
- [x] Всі тести проходять успішно.
