From 963b31604c6882a5f24b5827a872483cf3f58377 Mon Sep 17 00:00:00 2001 From: Lucas Jeffrey Date: Mon, 25 Aug 2025 23:12:06 -0300 Subject: [PATCH] Sort by premium when the order type is defined #2146 --- frontend/src/components/BookTable/index.tsx | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/frontend/src/components/BookTable/index.tsx b/frontend/src/components/BookTable/index.tsx index ba950038..e3c9f3b0 100644 --- a/frontend/src/components/BookTable/index.tsx +++ b/frontend/src/components/BookTable/index.tsx @@ -1,4 +1,4 @@ -import React, { useCallback, useContext, useEffect, useMemo, useState } from 'react'; +import React, { useCallback, useContext, useEffect, useMemo, useState, useRef } from 'react'; import { useTranslation } from 'react-i18next'; import { Box, @@ -774,6 +774,22 @@ const BookTable = ({ : orders; }, [showControls, orders, fav, paymentMethods]); + const currentSortModel = useMemo(() => { + if (fav.type === 1) { + // buyer + return [{field: 'premium', sort: 'asc'}]; + } else if (fav.type === 0) { + // seller + return [{field: 'premium', sort: 'desc'}]; + } else { + return undefined; + } + }, [fav]); + + const prevSortModel = useRef(); + const sortModel = prevSortModel.current !== fav.type ? currentSortModel : undefined; + prevSortModel.current = fav.type; + if (!fullscreen) { return ( `${String(params.coordinatorShortAlias)}/${params.id}`} loading={federation.loading} columns={columns} @@ -840,6 +857,7 @@ const BookTable = ({ rows={filteredOrders} loading={federation.loading} columns={columns} + sortModel={sortModel} hideFooter={!showFooter} slots={gridComponents} page={page}