From d2ce8012779064b2a2b54a5a530d69a3aab9f503 Mon Sep 17 00:00:00 2001 From: MaysWind Date: Sun, 1 Mar 2026 23:01:23 +0800 Subject: [PATCH] disable the sort button when fewer than two items are present --- src/stores/account.ts | 15 +++++++++++++++ src/views/base/accounts/AccountListPageBase.ts | 2 ++ src/views/desktop/tags/ListPage.vue | 10 +++++----- src/views/mobile/accounts/ListPage.vue | 3 ++- src/views/mobile/categories/ListPage.vue | 2 +- src/views/mobile/tags/ListPage.vue | 8 ++++---- src/views/mobile/templates/ListPage.vue | 2 +- 7 files changed, 30 insertions(+), 12 deletions(-) diff --git a/src/stores/account.ts b/src/stores/account.ts index af04402b..b63dd780 100644 --- a/src/stores/account.ts +++ b/src/stores/account.ts @@ -124,6 +124,20 @@ export const useAccountsStore = defineStore('accounts', () => { return shownAccountCount; }); + const maxCategoryAccountCount = computed(() => { + let maxCount = 0; + + for (const categorizedAccounts of values(allCategorizedAccountsMap.value)) { + const accountCount = categorizedAccounts.accounts.length; + + if (accountCount > maxCount) { + maxCount = accountCount; + } + } + + return maxCount; + }); + function loadAccountList(accounts: Account[]): void { allAccounts.value = accounts; allAccountsMap.value = {}; @@ -1076,6 +1090,7 @@ export const useAccountsStore = defineStore('accounts', () => { allVisiblePlainAccounts, allAvailableAccountsCount, allVisibleAccountsCount, + maxCategoryAccountCount, // functions updateAccountListInvalidState, resetAccounts, diff --git a/src/views/base/accounts/AccountListPageBase.ts b/src/views/base/accounts/AccountListPageBase.ts index 662c3f84..fadcf140 100644 --- a/src/views/base/accounts/AccountListPageBase.ts +++ b/src/views/base/accounts/AccountListPageBase.ts @@ -39,6 +39,7 @@ export function useAccountListPageBase() { const allAccounts = computed(() => accountsStore.allAccounts); const allCategorizedAccountsMap = computed>(() => accountsStore.allCategorizedAccountsMap); const allAccountCount = computed(() => accountsStore.allAvailableAccountsCount); + const maxCategoryAccountCount = computed(() => accountsStore.maxCategoryAccountCount); const netAssets = computed(() => { const netAssets: number | HiddenAmount | NumberWithSuffix = accountsStore.getNetAssets(showAccountBalance.value); @@ -101,6 +102,7 @@ export function useAccountListPageBase() { allAccounts, allCategorizedAccountsMap, allAccountCount, + maxCategoryAccountCount, netAssets, totalAssets, totalLiabilities, diff --git a/src/views/desktop/tags/ListPage.vue b/src/views/desktop/tags/ListPage.vue index a6f00b50..73190f06 100644 --- a/src/views/desktop/tags/ListPage.vue +++ b/src/views/desktop/tags/ListPage.vue @@ -83,15 +83,15 @@ :title="tt('Change Group Display Order')" v-if="allTagGroupsWithDefault.length >= 2" @click="showChangeGroupDisplayOrderDialog"> - + + @click="sortByName(false)"> + @click="sortByName(true)"> - {{ tt('Sort') }} + {{ tt('Sort') }} {{ tt('Show Hidden Accounts') }} {{ tt('Hide Hidden Accounts') }} @@ -252,6 +252,7 @@ const { customAccountCategoryOrder, allCategorizedAccountsMap, allAccountCount, + maxCategoryAccountCount, netAssets, totalAssets, totalLiabilities, diff --git a/src/views/mobile/categories/ListPage.vue b/src/views/mobile/categories/ListPage.vue index e84dadda..b0b0acd4 100644 --- a/src/views/mobile/categories/ListPage.vue +++ b/src/views/mobile/categories/ListPage.vue @@ -72,7 +72,7 @@ - {{ tt('Sort') }} + {{ tt('Sort') }} {{ tt('Show Hidden Transaction Categories') }} {{ tt('Hide Hidden Transaction Categories') }} diff --git a/src/views/mobile/tags/ListPage.vue b/src/views/mobile/tags/ListPage.vue index 48ac6814..5e0167c7 100644 --- a/src/views/mobile/tags/ListPage.vue +++ b/src/views/mobile/tags/ListPage.vue @@ -194,10 +194,10 @@ {{ tt('Change Group Display Order') }} - - {{ tt('Sort') }} - {{ tt('Sort by Name (A to Z)') }} - {{ tt('Sort by Name (Z to A)') }} + + {{ tt('Sort') }} + {{ tt('Sort by Name (A to Z)') }} + {{ tt('Sort by Name (Z to A)') }} {{ tt('Show Hidden Transaction Tags') }} {{ tt('Hide Hidden Transaction Tags') }} diff --git a/src/views/mobile/templates/ListPage.vue b/src/views/mobile/templates/ListPage.vue index 7cc77f72..404651f8 100644 --- a/src/views/mobile/templates/ListPage.vue +++ b/src/views/mobile/templates/ListPage.vue @@ -70,7 +70,7 @@ - {{ tt('Sort') }} + {{ tt('Sort') }} {{ tt('Show Hidden Transaction Templates') }} {{ tt('Hide Hidden Transaction Templates') }}