This commit is contained in:
Fabian Freund
2025-09-10 07:32:52 +02:00
parent dce15e2381
commit 839824b573
15 changed files with 336 additions and 64 deletions
@@ -20,6 +20,7 @@
import 'package:riverpod_annotation/riverpod_annotation.dart';
import 'package:weblibre/features/user/domain/repositories/engine_settings.dart';
import 'package:weblibre/features/user/domain/repositories/general_settings.dart';
import 'package:weblibre/features/user/domain/repositories/tor_settings.dart';
part 'save_settings.g.dart';
@@ -56,3 +57,20 @@ class SaveEngineSettingsController extends _$SaveEngineSettingsController {
);
}
}
@Riverpod(keepAlive: true)
class SaveTorSettingsController extends _$SaveTorSettingsController {
@override
Future<void> build() {
return Future.value();
}
Future<void> save(UpdateTorSettingsFunc updateSettings) async {
state = const AsyncLoading();
state = await AsyncValue.guard(
() => ref
.read(torSettingsRepositoryProvider.notifier)
.updateSettings(updateSettings),
);
}
}
@@ -40,5 +40,22 @@ final saveEngineSettingsControllerProvider =
);
typedef _$SaveEngineSettingsController = AsyncNotifier<void>;
String _$saveTorSettingsControllerHash() =>
r'd8aa04d7ae60c97bdad6c072f894189509dd35d3';
/// See also [SaveTorSettingsController].
@ProviderFor(SaveTorSettingsController)
final saveTorSettingsControllerProvider =
AsyncNotifierProvider<SaveTorSettingsController, void>.internal(
SaveTorSettingsController.new,
name: r'saveTorSettingsControllerProvider',
debugGetCreateSourceHash: const bool.fromEnvironment('dart.vm.product')
? null
: _$saveTorSettingsControllerHash,
dependencies: null,
allTransitiveDependencies: null,
);
typedef _$SaveTorSettingsController = AsyncNotifier<void>;
// ignore_for_file: type=lint
// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member, deprecated_member_use_from_same_package