Compare commits

..

No commits in common. "d10bb3dd7879c9cb232788f21af753b294fa91f7" and "4f17fb166df520f071d0dc26500109ecff43101a" have entirely different histories.

View File

@ -187,14 +187,6 @@ function getEffectiveQuantity(item: any) {
return firstNumber(item?.effective_quantity, getSettledQuantity(item) + getT1Quantity(item)); return firstNumber(item?.effective_quantity, getSettledQuantity(item) + getT1Quantity(item));
} }
function getNetQuantity(item: any) {
const parsed = Number(item?.net_quantity);
if (Number.isFinite(parsed)) {
return parsed;
}
return getEffectiveQuantity(item);
}
function getAveragePrice(item: any) { function getAveragePrice(item: any) {
return firstNumber(item?.average_price, item?.avg_price); return firstNumber(item?.average_price, item?.avg_price);
} }
@ -206,20 +198,12 @@ function getLastPrice(item: any) {
function getDisplayPnl(item: any) { function getDisplayPnl(item: any) {
return firstNumber( return firstNumber(
item?.display_pnl, item?.display_pnl,
getNetQuantity(item) * (getLastPrice(item) - getAveragePrice(item)), getEffectiveQuantity(item) * (getLastPrice(item) - getAveragePrice(item)),
); );
} }
function getHoldingValue(item: any) { function getHoldingValue(item: any) {
const netQuantity = getNetQuantity(item); return firstNumber(item?.holding_value, getEffectiveQuantity(item) * getLastPrice(item));
if (Number.isFinite(Number(item?.net_quantity)) && netQuantity <= 0) {
return 0;
}
const brokerValue = Number(item?.holding_value);
if (Number.isFinite(brokerValue) && brokerValue >= 0) {
return brokerValue;
}
return Math.max(netQuantity, 0) * Math.abs(getLastPrice(item));
} }
function getPortfolioItemKey(item: any, idx: number) { function getPortfolioItemKey(item: any, idx: number) {
@ -228,9 +212,7 @@ function getPortfolioItemKey(item: any, idx: number) {
function renderPortfolioRows(items: any[]) { function renderPortfolioRows(items: any[]) {
return items.map((item, idx) => { return items.map((item, idx) => {
const qty = Number.isFinite(Number(item?.net_quantity)) const qty = getEffectiveQuantity(item);
? getNetQuantity(item)
: getEffectiveQuantity(item);
const settledQty = getSettledQuantity(item); const settledQty = getSettledQuantity(item);
const t1Qty = getT1Quantity(item); const t1Qty = getT1Quantity(item);
const avg = getAveragePrice(item); const avg = getAveragePrice(item);
@ -744,7 +726,7 @@ export default function PortfolioSection() {
[holdings], [holdings],
); );
const activePositionCount = useMemo( const activePositionCount = useMemo(
() => positions.filter((item) => getNetQuantity(item) !== 0).length, () => positions.filter((item) => getEffectiveQuantity(item) !== 0).length,
[positions], [positions],
); );