support custom quick save button styles on the mobile transaction edit page

This commit is contained in:
MaysWind
2026-03-17 00:16:37 +08:00
parent 5ee93a5db1
commit 9772d9ca62
27 changed files with 215 additions and 6 deletions
+40 -1
View File
@@ -95,6 +95,33 @@
<f7-list-item
class="item-truncate-after-text"
link="#"
@click="showQuickSaveButtonStyleInMobileTransactionListPagePopup = true"
>
<template #after-title>
<div class="item-actual-title">
<span>{{ tt('Quick Save Button Style') }}</span>
</div>
</template>
<template #after>
{{ findDisplayNameByType(allTransactionQuickSaveButtonStyles, quickSaveButtonStyleInMobileTransactionListPage) }}
</template>
<list-item-selection-popup value-type="item"
key-field="type" value-field="type"
title-field="displayName"
:title="tt('Quick Save Button Style')"
:enable-filter="true"
:filter-placeholder="tt('Quick Save Button Style')"
:filter-no-items-text="tt('No results')"
:items="allTransactionQuickSaveButtonStyles"
v-model:show="showQuickSaveButtonStyleInMobileTransactionListPagePopup"
v-model="quickSaveButtonStyleInMobileTransactionListPage">
</list-item-selection-popup>
</f7-list-item>
<f7-list-item
class="item-truncate-after-text"
link="#"
:disabled="quickSaveButtonStyleInMobileTransactionListPage === TransactionQuickSaveButtonStyle.Disabled.type"
@click="showQuickAddButtonActionInMobileTransactionEditPagePopup = true"
>
<template #after-title>
@@ -237,10 +264,15 @@ import { useTransactionCategoriesStore } from '@/stores/transactionCategory.ts';
import type { TypeAndDisplayName } from '@/core/base.ts';
import { CategoryType } from '@/core/category.ts';
import { TransactionQuickSaveButtonStyle } from '@/core/transaction.ts';
import { findNameByValue, findDisplayNameByType } from '@/lib/common.ts';
const { tt, getAllTransactionQuickAddButtonActionTypes } = useI18n();
const {
tt,
getAllTransactionQuickSaveButtonStyles,
getAllTransactionQuickAddButtonActionTypes
} = useI18n();
const { showToast } = useI18nUIComponents();
const {
loadingAccounts,
@@ -269,12 +301,19 @@ const accountsStore = useAccountsStore();
const transactionCategoriesStore = useTransactionCategoriesStore();
const showTimezoneUsedForStatisticsInHomePagePopup = ref<boolean>(false);
const showQuickSaveButtonStyleInMobileTransactionListPagePopup = ref<boolean>(false);
const showQuickAddButtonActionInMobileTransactionEditPagePopup = ref<boolean>(false);
const showAutoSaveTransactionDraftPopup = ref<boolean>(false);
const showCurrencySortByInExchangeRatesPagePopup = ref<boolean>(false);
const allTransactionQuickSaveButtonStyles = computed<TypeAndDisplayName[]>(() => getAllTransactionQuickSaveButtonStyles());
const allTransactionQuickAddButtonActionTypes = computed<TypeAndDisplayName[]>(() => getAllTransactionQuickAddButtonActionTypes());
const quickSaveButtonStyleInMobileTransactionListPage = computed<number>({
get: () => settingsStore.appSettings.quickSaveButtonStyleInMobileTransactionListPage,
set: (value) => settingsStore.setQuickSaveButtonStyleInMobileTransactionListPage(value)
});
const quickAddButtonActionInMobileTransactionEditPage = computed<number>({
get: () => settingsStore.appSettings.quickAddButtonActionInMobileTransactionEditPage,
set: (value) => settingsStore.setQuickAddButtonActionInMobileTransactionEditPage(value)