Prepare RuleGel 1.0

This commit is contained in:
2026-05-24 22:06:15 +03:00
parent 1adfc1fa0c
commit 16e86fb9d5
18 changed files with 413 additions and 6 deletions
@@ -1,7 +1,9 @@
import 'package:flutter_riverpod/flutter_riverpod.dart';
import '../../../app/app.dart';
import '../../../app/app_version.dart';
import '../../../backend/backend.dart';
import '../../../core/utils/logger.dart';
import '../../../core/utils/result.dart';
final settingsControllerProvider =
@@ -30,6 +32,34 @@ class SettingsController extends AsyncNotifier<AppSettings> {
ref.invalidate(viewedKeysProvider);
}
Future<void> clearHiddenPosts() async {
await ref.read(settingsServiceProvider).clearHiddenPosts();
ref.invalidate(appSettingsProvider);
ref.invalidateSelf();
}
Future<String> diagnosticsReport() async {
final result =
await ref.read(settingsServiceProvider).buildDiagnosticsReport(
appVersion: appDisplayVersion,
buildNumber: appBuildNumber,
);
return result is Success<String> ? result.data : '{}';
}
Future<String> diagnosticLogs() async {
final settings = state.value ?? AppSettings.defaults;
final persistent = settings.diagnosticLogLines;
final runtime = AppLogger.lines;
return [...persistent, ...runtime].join('\n');
}
Future<void> clearDiagnosticLogs() async {
AppLogger.clear();
await ref.read(settingsServiceProvider).clearDiagnosticLogs();
ref.invalidateSelf();
}
Future<String> exportJson() async {
final result =
await ref.read(settingsServiceProvider).exportSettingsToJson();