From e7bfd35b9a82959bb41ba1450c108bab5ae0c874 Mon Sep 17 00:00:00 2001 From: Matiss Janis Aboltins <matiss@mja.lv> Date: Sat, 18 Mar 2023 20:48:37 +0000 Subject: [PATCH] :sparkles: (autocomplete) enable new version for dev/preview deploys (#789) Enabling the new autocomplete for dev/preview deployments. This will allow us to spot any more issues there might be before we release the new autocomplete. https://github.com/actualbudget/actual/issues/773 --- .../src/components/schedules/EditSchedule.js | 2 ++ packages/desktop-client/src/hooks/useFeatureFlag.js | 7 ++++++- packages/loot-design/src/components/NewAutocomplete.js | 2 +- .../loot-design/src/components/NewPayeeAutocomplete.js | 6 +++--- upcoming-release-notes/789.md | 6 ++++++ 5 files changed, 18 insertions(+), 5 deletions(-) create mode 100644 upcoming-release-notes/789.md diff --git a/packages/desktop-client/src/components/schedules/EditSchedule.js b/packages/desktop-client/src/components/schedules/EditSchedule.js index 90d7ebbdc..8b4d42782 100644 --- a/packages/desktop-client/src/components/schedules/EditSchedule.js +++ b/packages/desktop-client/src/components/schedules/EditSchedule.js @@ -442,6 +442,7 @@ export default function ScheduleDetails() { <FormLabel title="Payee" htmlFor="payee-field" /> <PayeeAutocomplete value={state.fields.payee} + inputId="payee-field" inputProps={{ id: 'payee-field', placeholder: '(none)' }} onSelect={id => dispatch({ type: 'set-field', field: 'payee', value: id }) @@ -455,6 +456,7 @@ export default function ScheduleDetails() { <AccountAutocomplete includeClosedAccounts={false} value={state.fields.account} + inputId="account-field" inputProps={{ id: 'account-field', placeholder: '(none)' }} onSelect={id => dispatch({ type: 'set-field', field: 'account', value: id }) diff --git a/packages/desktop-client/src/hooks/useFeatureFlag.js b/packages/desktop-client/src/hooks/useFeatureFlag.js index 6cda94e42..27920fe18 100644 --- a/packages/desktop-client/src/hooks/useFeatureFlag.js +++ b/packages/desktop-client/src/hooks/useFeatureFlag.js @@ -1,7 +1,12 @@ import { useSelector } from 'react-redux'; +import { + isDevelopmentEnvironment, + isPreviewEnvironment, +} from 'loot-design/src/util/environment'; + const DEFAULT_FEATURE_FLAG_STATE = { - newAutocomplete: false, + newAutocomplete: isDevelopmentEnvironment() || isPreviewEnvironment(), syncAccount: false, goalTemplatesEnabled: false, }; diff --git a/packages/loot-design/src/components/NewAutocomplete.js b/packages/loot-design/src/components/NewAutocomplete.js index dc2bf91f6..263160c79 100644 --- a/packages/loot-design/src/components/NewAutocomplete.js +++ b/packages/loot-design/src/components/NewAutocomplete.js @@ -40,7 +40,7 @@ const Autocomplete = React.forwardRef( // Create a new option if (selected.__isNew__) { - onCreateOption(selected); + onCreateOption(selected.value); return; } diff --git a/packages/loot-design/src/components/NewPayeeAutocomplete.js b/packages/loot-design/src/components/NewPayeeAutocomplete.js index c6310f60f..389f992a5 100644 --- a/packages/loot-design/src/components/NewPayeeAutocomplete.js +++ b/packages/loot-design/src/components/NewPayeeAutocomplete.js @@ -93,9 +93,9 @@ export default function PayeeAutocomplete({ inputValue={inputValue} onInputChange={setInputValue} onSelect={onSelect} - onCreateOption={async selected => { + onCreateOption={async selectedValue => { const existingOption = allOptions.find(option => - option.label.toLowerCase().includes(selected.label?.toLowerCase()), + option.label.toLowerCase().includes(selectedValue?.toLowerCase()), ); // Prevent creating duplicates @@ -105,7 +105,7 @@ export default function PayeeAutocomplete({ } // This is actually a new option, so create it - onSelect(await dispatch(createPayee(selected.value))); + onSelect(await dispatch(createPayee(selectedValue))); }} isCreatable={useCreatableComponent} createOptionPosition="first" diff --git a/upcoming-release-notes/789.md b/upcoming-release-notes/789.md new file mode 100644 index 000000000..447b15ca0 --- /dev/null +++ b/upcoming-release-notes/789.md @@ -0,0 +1,6 @@ +--- +category: Maintenance +authors: [MatissJanis] +--- + +Enable new autocomplete in dev/preview builds -- GitLab