import 'package:flutter/material.dart'; import 'dart:async'; // Event untuk memberitahu bahwa jadwal telah diperbarui class ScheduleUpdatedEvent { final bool success; ScheduleUpdatedEvent({this.success = true}); } // Event bus sederhana untuk komunikasi antar widget class AppEventBus { static final AppEventBus _instance = AppEventBus._internal(); factory AppEventBus() { return _instance; } AppEventBus._internal(); // Stream controller untuk event ScheduleUpdated final _scheduleUpdatedController = StreamController.broadcast(); // Stream untuk mendengarkan event ScheduleUpdated Stream get onScheduleUpdated => _scheduleUpdatedController.stream; // Method untuk memicu event ScheduleUpdated void fireScheduleUpdated({bool success = true}) { _scheduleUpdatedController.add(ScheduleUpdatedEvent(success: success)); } // Method untuk dispose stream controller void dispose() { _scheduleUpdatedController.close(); } }