From bbd345c2d9644b7447e16b4fffe5ae58ac0e8d1a Mon Sep 17 00:00:00 2001 From: R-J Lim Date: Sun, 16 Jun 2024 20:13:28 -0700 Subject: [PATCH] Missing feature flag checks in settings form --- common/components/SettingsForm.tsx | 88 +++++++++++++++++------------- 1 file changed, 50 insertions(+), 38 deletions(-) diff --git a/common/components/SettingsForm.tsx b/common/components/SettingsForm.tsx index 879ea45c..6fdffb62 100644 --- a/common/components/SettingsForm.tsx +++ b/common/components/SettingsForm.tsx @@ -274,7 +274,7 @@ function SelectableSetting({ }} > - {disabledDirection !== Direction.up && ( + {disabledDirection !== Direction.up && onOrderChange !== undefined && ( handleOrderChange(Direction.up)}> @@ -289,7 +289,7 @@ function SelectableSetting({ )} - {disabledDirection !== Direction.down && ( + {disabledDirection !== Direction.down && onOrderChange !== undefined && ( handleOrderChange(Direction.down)}> @@ -1321,42 +1321,54 @@ export default function SettingsForm({ {...rest} /> )} - {!model.custom && model.key === 'track1' && ( - handleSettingChanged('track1Field', event.target.value)} - onSelectionChange={(event) => - handleSettingChanged('track1Field', event.target.value as string) - } - {...rest} - /> - )} - {!model.custom && model.key === 'track2' && ( - handleSettingChanged('track2Field', event.target.value)} - onSelectionChange={(event) => - handleSettingChanged('track2Field', event.target.value as string) - } - {...rest} - /> - )} - {!model.custom && model.key === 'track3' && ( - handleSettingChanged('track3Field', event.target.value)} - onSelectionChange={(event) => - handleSettingChanged('track3Field', event.target.value as string) - } - {...rest} - /> - )} + {!model.custom && + model.key === 'track1' && + (!extensionInstalled || extensionSupportsOrderableAnkiFields) && ( + + handleSettingChanged('track1Field', event.target.value) + } + onSelectionChange={(event) => + handleSettingChanged('track1Field', event.target.value as string) + } + {...rest} + /> + )} + {!model.custom && + model.key === 'track2' && + (!extensionInstalled || extensionSupportsOrderableAnkiFields) && ( + + handleSettingChanged('track2Field', event.target.value) + } + onSelectionChange={(event) => + handleSettingChanged('track2Field', event.target.value as string) + } + {...rest} + /> + )} + {!model.custom && + model.key === 'track3' && + (!extensionInstalled || extensionSupportsOrderableAnkiFields) && ( + + handleSettingChanged('track3Field', event.target.value) + } + onSelectionChange={(event) => + handleSettingChanged('track3Field', event.target.value as string) + } + {...rest} + /> + )} {model.custom && (