1405/04/27

-responive bugs
This commit is contained in:
2026-07-18 15:46:38 +03:30
parent c2a355f2de
commit 37d86ba36e
39 changed files with 1910 additions and 404 deletions
+45
View File
@@ -0,0 +1,45 @@
import type { Product } from '@/models/products'
type TradeOpenProduct = Pick<Product, 'open_buy' | 'open_sell'> | null | undefined
function asBool(value: boolean | number | null | undefined) {
return value === true || Number(value) === 1
}
export function isProductBuyOpen(product: TradeOpenProduct) {
if (!product) return true
return asBool(product?.open_buy)
}
export function isProductSellOpen(product: TradeOpenProduct) {
if (!product) return true
return asBool(product?.open_sell)
}
export function isAnyProductTradeOpen(product: TradeOpenProduct) {
return isProductBuyOpen(product) || isProductSellOpen(product)
}
export function isProductTradeOpen(product: TradeOpenProduct, isBuy: boolean) {
return isBuy ? isProductBuyOpen(product) : isProductSellOpen(product)
}
/** تب اولیه با توجه به query و وضعیت باز/بسته خرید و فروش */
export function resolveProductTradeIsBuy(product: TradeOpenProduct, routeState?: string | null) {
const wantSell = routeState === 'sell'
const wantBuy = routeState === 'buy'
const buyOpen = isProductBuyOpen(product)
const sellOpen = isProductSellOpen(product)
if (wantSell && sellOpen) return false
if (wantBuy && buyOpen) return true
if (buyOpen) return true
if (sellOpen) return false
return true
}
export function productTradeClosedMessage(isBuy: boolean) {
return isBuy
? 'خرید این محصول در این لحظه مقدور نمی‌باشد'
: 'فروش این محصول در این لحظه مقدور نمی‌باشد'
}