mirror of
https://gitlab.com/mysocialportal/relatica
synced 2024-10-18 15:53:32 +00:00
Only allow post-level spoiler text for Friendica servers with v2023.03 or later
This commit is contained in:
parent
3f6f04c9e7
commit
693f781ea9
2 changed files with 10 additions and 8 deletions
|
@ -178,6 +178,8 @@ class _EditorScreenState extends State<EditorScreen> {
|
||||||
|
|
||||||
final vc = getIt<FriendicaVersionChecker>();
|
final vc = getIt<FriendicaVersionChecker>();
|
||||||
final canEdit = vc.canUseFeature(RelaticaFeatures.statusEditing);
|
final canEdit = vc.canUseFeature(RelaticaFeatures.statusEditing);
|
||||||
|
final canSpoilerText = vc.canUseFeature(RelaticaFeatures.postSpoilerText) ||
|
||||||
|
widget.parentId.isNotEmpty;
|
||||||
|
|
||||||
late final body;
|
late final body;
|
||||||
|
|
||||||
|
@ -205,14 +207,14 @@ class _EditorScreenState extends State<EditorScreen> {
|
||||||
buildCommentPreview(context, parentEntry!),
|
buildCommentPreview(context, parentEntry!),
|
||||||
TextFormField(
|
TextFormField(
|
||||||
readOnly: isSubmitting,
|
readOnly: isSubmitting,
|
||||||
enabled: !isSubmitting,
|
enabled: !isSubmitting && canSpoilerText,
|
||||||
controller: spoilerController,
|
controller: spoilerController,
|
||||||
decoration: InputDecoration(
|
decoration: InputDecoration(
|
||||||
labelText: '$statusType Spoiler Text (optional)',
|
labelText: canSpoilerText
|
||||||
|
? '$statusType Spoiler Text (optional)'
|
||||||
|
: 'Your server doesnt support $statusType Spoiler Text',
|
||||||
border: OutlineInputBorder(
|
border: OutlineInputBorder(
|
||||||
borderSide: BorderSide(
|
borderSide: const BorderSide(),
|
||||||
color: Theme.of(context).backgroundColor,
|
|
||||||
),
|
|
||||||
borderRadius: BorderRadius.circular(5.0),
|
borderRadius: BorderRadius.circular(5.0),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
@ -290,9 +292,7 @@ class _EditorScreenState extends State<EditorScreen> {
|
||||||
labelText: '$statusType Content',
|
labelText: '$statusType Content',
|
||||||
alignLabelWithHint: true,
|
alignLabelWithHint: true,
|
||||||
border: OutlineInputBorder(
|
border: OutlineInputBorder(
|
||||||
borderSide: BorderSide(
|
borderSide: const BorderSide(),
|
||||||
color: Theme.of(context).backgroundColor,
|
|
||||||
),
|
|
||||||
borderRadius: BorderRadius.circular(5.0),
|
borderRadius: BorderRadius.circular(5.0),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
|
|
@ -6,6 +6,7 @@ import '../globals.dart';
|
||||||
import '../models/friendica_version.dart';
|
import '../models/friendica_version.dart';
|
||||||
|
|
||||||
enum RelaticaFeatures {
|
enum RelaticaFeatures {
|
||||||
|
postSpoilerText,
|
||||||
statusEditing,
|
statusEditing,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -43,6 +44,7 @@ class FriendicaVersionChecker {
|
||||||
"This account's server doesn't meet the necessary minimum requirement: ${getVersionRequirement(feature).toVersionString()}";
|
"This account's server doesn't meet the necessary minimum requirement: ${getVersionRequirement(feature).toVersionString()}";
|
||||||
|
|
||||||
static final featureVersionRequirement = <RelaticaFeatures, FriendicaVersion>{
|
static final featureVersionRequirement = <RelaticaFeatures, FriendicaVersion>{
|
||||||
|
RelaticaFeatures.postSpoilerText: v2023_03,
|
||||||
RelaticaFeatures.statusEditing: v2023_03,
|
RelaticaFeatures.statusEditing: v2023_03,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue