import 'package:flutter/material.dart'; import 'package:freezed_annotation/freezed_annotation.dart'; import 'package:riverpod_annotation/riverpod_annotation.dart'; part 'app.g.dart'; part 'app.freezed.dart'; @freezed class AppState with _$AppState { const factory AppState({ @Default(false) bool desktopMode, }) = _AppState; } @Riverpod(keepAlive: true) class AppProvider extends _$AppProvider { static BuildContext? ctx; @override AppState build() { return const AppState(); } void setDesktop(bool desktopMode) { state = state.copyWith(desktopMode: desktopMode); } }