owlscope_riverpod 0.1.0
owlscope_riverpod: ^0.1.0 copied to clipboard
Riverpod adapter for OwlScope — forwards provider lifecycle and state changes to the OwlScope desktop app over WebSocket.
// Minimal owlscope_riverpod example. See the package README for full
// integration instructions.
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:owlscope/auto.dart';
import 'package:owlscope_riverpod/owlscope_riverpod.dart';
final counterProvider = StateProvider<int>((ref) => 0, name: 'counter');
void main() {
owlscopeAuto(() {
runApp(
ProviderScope(
observers: [if (kDebugMode) OwlScopeRiverpodObserver()],
child: const ExampleApp(),
),
);
});
}
class ExampleApp extends ConsumerWidget {
const ExampleApp({super.key});
@override
Widget build(BuildContext context, WidgetRef ref) {
final count = ref.watch(counterProvider);
return MaterialApp(
home: Scaffold(
appBar: AppBar(title: const Text('owlscope_riverpod example')),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text('counter: $count'),
const SizedBox(height: 12),
ElevatedButton(
onPressed: () => ref.read(counterProvider.notifier).state++,
child: const Text('increment (watch State panel in OwlScope)'),
),
],
),
),
),
);
}
}