realtimeExample function

Future<void> realtimeExample()

Example 2: Real-time updates

Implementation

Future<void> realtimeExample() async {
  print('\n=== Real-Time Updates Example ===');

  final backend = QuicUIFirebase();
  await backend.initialize();

  // Listen to single screen changes
  final subscription = backend.subscribeToScreen('home-screen').listen(
    (event) {
      switch (event.type) {
        case ScreenEventType.added:
          print('Screen added: ${event.data?.name}');
          break;
        case ScreenEventType.updated:
          print('Screen updated: ${event.data?.name}');
          final json = jsonDecode(event.data!.json);
          print('New JSON: $json');
          // Update UI here
          break;
        case ScreenEventType.deleted:
          print('Screen deleted');
          // Handle deletion
          break;
        case ScreenEventType.error:
          print('Error: ${event.data}');
          break;
      }
    },
    onError: (error) => print('Stream error: $error'),
  );

  // Listen to all screen changes
  backend.subscribeToAllScreens().listen((event) {
    print('All screens event: ${event.type}');
  });

  // Cancel subscription when done
  // await subscription.cancel();
}