From 5ee7d336efd1ab40d6c39e51599ed255b12b263a Mon Sep 17 00:00:00 2001 From: Joel Jeremy Marquez Date: Mon, 25 Mar 2024 08:23:29 -0700 Subject: [PATCH] Autocomplete changes related to mobile modals PR (#2500) * Autocomplete changes related to mobile modals PR * Release notes * Fix lint error * AccountDetails * Code review updates --- ...ion-via-footer-button-5-chromium-linux.png | Bin 32436 -> 33964 bytes ...ion-via-footer-button-6-chromium-linux.png | Bin 33307 -> 35188 bytes ...-filtering-is-working-1-chromium-linux.png | Bin 30588 -> 31944 bytes ...-filtering-is-working-2-chromium-linux.png | Bin 31338 -> 32797 bytes ...-filtering-is-working-3-chromium-linux.png | Bin 11635 -> 11644 bytes ...-filtering-is-working-4-chromium-linux.png | Bin 12048 -> 12064 bytes ...-filtering-is-working-5-chromium-linux.png | Bin 24556 -> 27872 bytes ...-filtering-is-working-6-chromium-linux.png | Bin 25374 -> 28845 bytes .../autocomplete/AccountAutocomplete.tsx | 77 +++++++-- .../components/autocomplete/Autocomplete.tsx | 161 ++++++++++-------- .../autocomplete/CategoryAutocomplete.tsx | 91 ++++++---- .../components/autocomplete/ItemHeader.tsx | 16 +- .../autocomplete/PayeeAutocomplete.tsx | 148 ++++++++++------ .../autocomplete/ReportAutocomplete.tsx | 8 +- .../budget/rollover/CoverTooltip.tsx | 2 +- .../budget/rollover/TransferTooltip.tsx | 2 +- .../src/components/common/Input.tsx | 2 +- .../src/components/common/Menu.tsx | 2 +- .../mobile/accounts/AccountDetails.jsx | 8 +- .../mobile/transactions/Transaction.jsx | 13 +- .../src/components/modals/CloseAccount.tsx | 2 +- .../modals/ConfirmCategoryDelete.tsx | 2 +- .../src/components/modals/EditField.jsx | 1 - .../src/components/reports/SaveReportMenu.tsx | 10 +- .../components/schedules/ScheduleDetails.jsx | 1 - .../src/components/select/DateSelect.tsx | 11 +- .../transactions/TransactionsTable.jsx | 13 +- .../src/components/util/GenericInput.jsx | 15 +- packages/desktop-client/src/style/styles.ts | 10 ++ .../loot-core/src/client/actions/queries.ts | 6 +- upcoming-release-notes/2500.md | 6 + 31 files changed, 388 insertions(+), 219 deletions(-) create mode 100644 upcoming-release-notes/2500.md diff --git a/packages/desktop-client/e2e/mobile.test.js-snapshots/Mobile-creates-a-transaction-via-footer-button-5-chromium-linux.png b/packages/desktop-client/e2e/mobile.test.js-snapshots/Mobile-creates-a-transaction-via-footer-button-5-chromium-linux.png index 5e5f6c3febb8974b7194e1ed71b725f8bf7b96f8..7faf369647c50435999b5bed682446bbb3755b2d 100644 GIT binary patch literal 33964 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