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

Loading…
Cancel
Save