kopia lustrzana https://gitlab.com/mysocialportal/relatica
Tweak reporting menu prompt and add setting to toggle on/off
rodzic
6367571bf1
commit
ed354b11bd
|
@ -478,8 +478,17 @@ class _StatusControlState extends ConsumerState<FlattenedTreeEntryControl> {
|
|||
}
|
||||
|
||||
Future<void> _report(Profile profile, TimelineEntry entry) async {
|
||||
final confirm = await showYesNoDialog(context,
|
||||
'Open the link in the browser to report on your Friendica server?');
|
||||
final needToConfirm = ref.read(promptOnReportingProvider);
|
||||
late final bool confirm;
|
||||
|
||||
if (needToConfirm) {
|
||||
confirm = (await showYesNoDialog(context,
|
||||
'Open the link in the browser to report on your Friendica server? (You will need to be logged in on the browser too)')) ??
|
||||
false;
|
||||
} else {
|
||||
confirm = true;
|
||||
}
|
||||
|
||||
if (confirm == true) {
|
||||
final link = Uri.https(
|
||||
profile.serverName,
|
||||
|
|
|
@ -437,7 +437,7 @@ class _InstanceDataV2ProviderElement
|
|||
Profile get profile => (origin as _InstanceDataV2Provider).profile;
|
||||
}
|
||||
|
||||
String _$instanceRulesHash() => r'686f3ddc9bf9593457b2f3269e5797495f0f8228';
|
||||
String _$instanceRulesHash() => r'7d50f58d883237e5876bb5ad2bdf2f32c8637646';
|
||||
|
||||
/// See also [instanceRules].
|
||||
@ProviderFor(instanceRules)
|
||||
|
|
|
@ -248,3 +248,19 @@ class OpenTagsInApp extends _$SpoilerHidingSetting {
|
|||
state = value;
|
||||
}
|
||||
}
|
||||
|
||||
@Riverpod(keepAlive: true)
|
||||
class PromptOnReporting extends _$SpoilerHidingSetting {
|
||||
static const _promptOnReporting = 'PromptOnReporting';
|
||||
|
||||
@override
|
||||
bool build() {
|
||||
return ref.watch(sharedPreferencesProvider).getBool(_promptOnReporting) ??
|
||||
true;
|
||||
}
|
||||
|
||||
set value(bool value) {
|
||||
ref.read(sharedPreferencesProvider).setBool(_promptOnReporting, value);
|
||||
state = value;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -171,5 +171,21 @@ final openTagsInAppProvider = NotifierProvider<OpenTagsInApp, bool>.internal(
|
|||
);
|
||||
|
||||
typedef _$OpenTagsInApp = Notifier<bool>;
|
||||
String _$promptOnReportingHash() => r'68cf146e3839c0ef1b14a475b461f6899b810b03';
|
||||
|
||||
/// See also [PromptOnReporting].
|
||||
@ProviderFor(PromptOnReporting)
|
||||
final promptOnReportingProvider =
|
||||
NotifierProvider<PromptOnReporting, bool>.internal(
|
||||
PromptOnReporting.new,
|
||||
name: r'promptOnReportingProvider',
|
||||
debugGetCreateSourceHash: const bool.fromEnvironment('dart.vm.product')
|
||||
? null
|
||||
: _$promptOnReportingHash,
|
||||
dependencies: null,
|
||||
allTransitiveDependencies: null,
|
||||
);
|
||||
|
||||
typedef _$PromptOnReporting = Notifier<bool>;
|
||||
// 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
|
||||
|
|
|
@ -34,6 +34,7 @@ class SettingsScreen extends ConsumerWidget {
|
|||
_NetworkTimeoutWidget(),
|
||||
_NotificationGroupingWidget(),
|
||||
_SpoilerHidingWidget(),
|
||||
_PromptOnReportingWidget(),
|
||||
_OpenTagsInAppWidget(),
|
||||
_ThemeWidget(),
|
||||
if (!kReleaseMode) _ColorBlindnessWidget(),
|
||||
|
@ -224,6 +225,24 @@ class _SpoilerHidingWidget extends ConsumerWidget {
|
|||
}
|
||||
}
|
||||
|
||||
class _PromptOnReportingWidget extends ConsumerWidget {
|
||||
const _PromptOnReportingWidget();
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context, WidgetRef ref) {
|
||||
final promptOnReporting = ref.watch(promptOnReportingProvider);
|
||||
return ListTile(
|
||||
title: const Text('Confirm Reporting Prompt'),
|
||||
trailing: Switch(
|
||||
onChanged: (value) {
|
||||
ref.read(promptOnReportingProvider.notifier).value = value;
|
||||
},
|
||||
value: promptOnReporting,
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
class _OpenTagsInAppWidget extends ConsumerWidget {
|
||||
const _OpenTagsInAppWidget();
|
||||
|
||||
|
|
Ładowanie…
Reference in New Issue