chore: Better no compression supported UX

pull/1658/head
Krille 3 days ago
parent 9e7d939c2f
commit a8bf39aca0
No known key found for this signature in database
GPG Key ID: E067ECD60F1A0652

@ -3204,5 +3204,6 @@
"verifiedDevicesOnly": "Verified devices only",
"takeAPhoto": "Take a photo",
"recordAVideo": "Record a video",
"optionalMessage": "(Optional) message..."
"optionalMessage": "(Optional) message...",
"notSupportedOnThisDevice": "Not supported on this device"
}

@ -192,6 +192,9 @@ class SendFileDialogState extends State<SendFileDialog> {
sendStr = L10n.of(context).sendVideo;
}
final compressionSupported =
uniqueFileType != 'video' || PlatformInfos.isMobile;
return FutureBuilder<String>(
future: _calcCombinedFileSize(),
builder: (context, snapshot) {
@ -340,19 +343,17 @@ class SendFileDialogState extends State<SendFileDialog> {
if ({TargetPlatform.iOS, TargetPlatform.macOS}
.contains(theme.platform))
CupertinoSwitch(
value: compress,
onChanged: uniqueFileType == 'video' &&
!PlatformInfos.isMobile
? null
: (v) => setState(() => compress = v),
value: compressionSupported && compress,
onChanged: compressionSupported
? (v) => setState(() => compress = v)
: null,
)
else
Switch.adaptive(
value: compress,
onChanged: uniqueFileType == 'video' &&
!PlatformInfos.isMobile
? null
: (v) => setState(() => compress = v),
value: compressionSupported && compress,
onChanged: compressionSupported
? (v) => setState(() => compress = v)
: null,
),
const SizedBox(width: 16),
Expanded(
@ -375,6 +376,11 @@ class SendFileDialogState extends State<SendFileDialog> {
' ($sizeString)',
style: theme.textTheme.labelSmall,
),
if (!compressionSupported)
Text(
L10n.of(context).notSupportedOnThisDevice,
style: theme.textTheme.labelSmall,
),
],
),
),

Loading…
Cancel
Save