mirror of
https://gitlab.com/mysocialportal/relatica
synced 2024-10-18 12:23:31 +00:00
Add check of network capabilities for reshare button
This commit is contained in:
parent
2b347b5572
commit
ee2421f691
1 changed files with 17 additions and 10 deletions
|
@ -1,7 +1,9 @@
|
|||
import 'package:relatica/models/timeline_entry.dart';
|
||||
import 'package:relatica/models/timeline_network_info.dart';
|
||||
|
||||
import '../globals.dart';
|
||||
import '../models/timeline_entry.dart';
|
||||
import '../models/timeline_network_info.dart';
|
||||
import '../models/visibility.dart';
|
||||
import '../services/setting_service.dart';
|
||||
import 'known_network_extensions.dart';
|
||||
|
||||
enum Reshareable {
|
||||
no,
|
||||
|
@ -24,13 +26,6 @@ extension InteractionAvailabilityExtension on TimelineEntry {
|
|||
);
|
||||
}
|
||||
|
||||
if (networkInfo.network == KnownNetworks.threads) {
|
||||
return const ReshareableResult(
|
||||
isReshareable: Reshareable.no,
|
||||
reason: "You have requested to not allow resharing of Threads posts.",
|
||||
);
|
||||
}
|
||||
|
||||
if (networkInfo.network == KnownNetworks.bluesky) {
|
||||
return const ReshareableResult(
|
||||
isReshareable: Reshareable.no,
|
||||
|
@ -39,6 +34,18 @@ extension InteractionAvailabilityExtension on TimelineEntry {
|
|||
);
|
||||
}
|
||||
|
||||
final settingsService = getIt<SettingsService>();
|
||||
final nc = settingsService.networkCapabilities
|
||||
.getCapabilities(networkInfo.network);
|
||||
|
||||
if (!nc.reshare) {
|
||||
return ReshareableResult(
|
||||
isReshareable: Reshareable.no,
|
||||
reason:
|
||||
"User disabled resharing ${networkInfo.network.labelName}. Go into settings to change.",
|
||||
);
|
||||
}
|
||||
|
||||
if (visibility.type == VisibilityType.public ||
|
||||
visibility.type == VisibilityType.unlisted) {
|
||||
return const ReshareableResult(
|
||||
|
|
Loading…
Reference in a new issue