import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:mirror_protocol/mirror_protocol.dart'; import '../services/layout_persistence.dart'; import '../services/ws_server.dart'; final layoutProvider = AsyncNotifierProvider( LayoutNotifier.new); class LayoutNotifier extends AsyncNotifier { late final LayoutPersistence _persistence; @override Future build() async { _persistence = LayoutPersistence(); return _persistence.load(); } Future updateLayout(DashboardLayoutConfig config) async { state = AsyncData(config); await _persistence.save(config); // Broadcast to connected clients ref .read(wsServerProvider) .broadcast(DashboardConfigResponse(layout: config)); } }