diff --git a/lib/utils/keymap/apps/my_whoosh.dart b/lib/utils/keymap/apps/my_whoosh.dart index 9d71a87..7efe67e 100644 --- a/lib/utils/keymap/apps/my_whoosh.dart +++ b/lib/utils/keymap/apps/my_whoosh.dart @@ -1,4 +1,7 @@ +import 'dart:io'; + import 'package:dartx/dartx.dart'; +import 'package:flutter/foundation.dart'; import 'package:flutter/services.dart'; import 'package:swift_control/utils/keymap/apps/supported_app.dart'; import 'package:swift_control/utils/requirements/multi.dart'; @@ -11,7 +14,9 @@ class MyWhoosh extends SupportedApp { : super( name: 'MyWhoosh', packageName: "com.mywhoosh.whooshgame", - compatibleTargets: Target.values, + compatibleTargets: !kIsWeb && Platform.isIOS + ? Target.values.filterNot((e) => e == Target.thisDevice).toList() + : Target.values, supportsZwiftEmulation: false, keymap: Keymap( keyPairs: [ diff --git a/lib/utils/keymap/apps/rouvy.dart b/lib/utils/keymap/apps/rouvy.dart index 555d197..7f9ab50 100644 --- a/lib/utils/keymap/apps/rouvy.dart +++ b/lib/utils/keymap/apps/rouvy.dart @@ -15,7 +15,9 @@ class Rouvy extends SupportedApp { : super( name: 'Rouvy', packageName: "eu.virtualtraining.rouvy.android", - compatibleTargets: Target.values, + compatibleTargets: !kIsWeb && Platform.isIOS + ? Target.values.filterNot((e) => e == Target.thisDevice).toList() + : Target.values, supportsZwiftEmulation: !kIsWeb && Platform.isAndroid, keymap: Keymap( keyPairs: [ diff --git a/lib/utils/keymap/apps/training_peaks.dart b/lib/utils/keymap/apps/training_peaks.dart index af3f7c4..686b566 100644 --- a/lib/utils/keymap/apps/training_peaks.dart +++ b/lib/utils/keymap/apps/training_peaks.dart @@ -1,4 +1,7 @@ +import 'dart:io'; + import 'package:dartx/dartx.dart'; +import 'package:flutter/foundation.dart'; import 'package:flutter/services.dart'; import 'package:swift_control/bluetooth/devices/elite/elite_square.dart'; import 'package:swift_control/bluetooth/devices/zwift/constants.dart'; @@ -13,7 +16,9 @@ class TrainingPeaks extends SupportedApp { : super( name: 'TrainingPeaks Virtual / IndieVelo', packageName: "com.indieVelo.client", - compatibleTargets: Target.values, + compatibleTargets: !kIsWeb && Platform.isIOS + ? Target.values.filterNot((e) => e == Target.thisDevice).toList() + : Target.values, supportsZwiftEmulation: false, keymap: Keymap( keyPairs: [ diff --git a/lib/utils/requirements/multi.dart b/lib/utils/requirements/multi.dart index 5f1c54f..37339e5 100644 --- a/lib/utils/requirements/multi.dart +++ b/lib/utils/requirements/multi.dart @@ -282,6 +282,7 @@ class TargetRequirement extends PlatformRequirement { value: target, label: target.title, leadingIcon: Icon(target.icon), + enabled: target.isCompatible, labelWidget: Padding( padding: const EdgeInsets.symmetric(vertical: 8.0), child: Column(