@@ -127,8 +128,11 @@ import { computed, ref } from 'vue'
import BasicButton from '@/components/BasicPacks/BasicButton.vue'
import type { Transaction } from '@/models/transaction'
import { toJalaliOutOfUTC } from '@/utils/useDateTime'
+import { isBoursecuProject } from '@/utils/config'
import TransactionDetailPanel from './TransactionDetailPanel.vue'
+const isBoursecu = isBoursecuProject()
+
const infoVisible = ref(false)
const props = withDefaults(
diff --git a/src/views/base/transactions/composables/useTransactionsPage.ts b/src/views/base/transactions/composables/useTransactionsPage.ts
index ea0ad9a..d53da35 100644
--- a/src/views/base/transactions/composables/useTransactionsPage.ts
+++ b/src/views/base/transactions/composables/useTransactionsPage.ts
@@ -7,6 +7,7 @@ import {
BOURSECU_TRANSACTION_TABS,
getBoursecuStatusFilterGroup,
getBoursecuStatusOptionsForTab,
+ boursecuTabSupportsProductFilter,
type BoursecuTradeSide,
type BoursecuTransactionTab,
type BoursecuTransactionTabId,
@@ -92,7 +93,7 @@ export function useTransactionsPageProvider(options?: { boursecu?: boolean }) {
)
const showProductFilter = computed(
- () => transactionsBoursecuMode.value && activeTab.value.id !== 'deposit',
+ () => transactionsBoursecuMode.value && boursecuTabSupportsProductFilter(activeTab.value),
)
const emptyText = computed(() => {
@@ -129,6 +130,10 @@ export function useTransactionsPageProvider(options?: { boursecu?: boolean }) {
transactionStatusFilter.value = undefined
}
+ if (boursecuTabSupportsProductFilter(currentTab) && !boursecuTabSupportsProductFilter(nextTab)) {
+ transactionProductFilter.value = undefined
+ }
+
transactionActiveTabId.value = tabId
await reloadTransactionsTable()
}
diff --git a/src/views/base/transactions/config/boursecuTabs.ts b/src/views/base/transactions/config/boursecuTabs.ts
index fb87ace..0ac07f6 100644
--- a/src/views/base/transactions/config/boursecuTabs.ts
+++ b/src/views/base/transactions/config/boursecuTabs.ts
@@ -85,7 +85,7 @@ const TRADE_TYPE_BY_SIDE: Record = {
}
export function getBoursecuStatusFilterGroup(tab: BoursecuTransactionTab): BoursecuStatusFilterGroup {
- return tab.id === 'withdrawal' || tab.id === 'physical' ? 'fulfillment' : 'trade'
+ return tab.id === 'physical' ? 'fulfillment' : 'trade'
}
export function getBoursecuStatusOptionsForTab(
@@ -96,6 +96,10 @@ export function getBoursecuStatusOptionsForTab(
: BOURSECU_TRADE_STATUS_OPTIONS
}
+export function boursecuTabSupportsProductFilter(tab: BoursecuTransactionTab): boolean {
+ return tab.id === 'trades' || tab.id === 'physical'
+}
+
function getBoursecuStatusFilterField(tab: BoursecuTransactionTab): string {
if (tab.fetchMode === 'deposit') {
return 'sts'
@@ -172,7 +176,7 @@ export function buildBoursecuTransactionPagination(
})
}
- if (productId != null && tab.id !== 'deposit') {
+ if (productId != null && boursecuTabSupportsProductFilter(tab)) {
filters.push({
field: 'wallet.product_id',
cr: 'and',