Skip to content

Commit 0261206

Browse files
committed
[DDW-1012] Review changes
1 parent 79190d9 commit 0261206

File tree

6 files changed

+35
-11
lines changed

6 files changed

+35
-11
lines changed

source/renderer/app/components/staking/stake-pools/StakePoolsTable.tsx

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,13 @@ import {
1717
useSortedStakePoolList,
1818
useCreateColumns,
1919
StakePoolsOrder,
20+
StakePoolSortableProps,
2021
} from './hooks';
2122

22-
export const defaultTableOrdering = {
23+
export const defaultTableOrdering: Record<
24+
StakePoolSortableProps,
25+
StakePoolsOrder
26+
> = {
2327
ranking: StakePoolsOrder.Asc,
2428
ticker: StakePoolsOrder.Asc,
2529
saturation: StakePoolsOrder.Asc,
@@ -52,7 +56,7 @@ type Props = {
5256
type State = {
5357
isPreloading: boolean;
5458
stakePoolsOrder: StakePoolsOrder;
55-
stakePoolsSortBy: keyof StakePool;
59+
stakePoolsSortBy: StakePoolSortableProps;
5660
};
5761
const initialState: State = {
5862
isPreloading: true,
@@ -72,7 +76,6 @@ function StakePoolsTableComponent({
7276
onOpenExternalLink,
7377
containerClassName,
7478
onSelect,
75-
selectedPoolId,
7679
}: Props) {
7780
const [state, setState] = useState<State>(initialState);
7881

@@ -81,7 +84,7 @@ function StakePoolsTableComponent({
8184
}, []);
8285

8386
const handleSort = useCallback(
84-
(newSortBy: keyof StakePool) => {
87+
(newSortBy: StakePoolSortableProps) => {
8588
const { stakePoolsOrder, stakePoolsSortBy } = state;
8689
let newOrder = defaultTableOrdering[newSortBy];
8790

source/renderer/app/components/staking/stake-pools/StakePoolsTableHeaderCell.tsx

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,17 @@
11
import React, { Component } from 'react';
22
import { observer } from 'mobx-react';
3-
import { map } from 'lodash';
43
import classNames from 'classnames';
54
import SVGInline from 'react-svg-inline';
65
import styles from './StakePoolsTable.scss';
7-
// @ts-ignore ts-migrate(2307) FIXME: Cannot find module '../../../assets/images/ascendi... Remove this comment to see the full error message
86
import sortIcon from '../../../assets/images/ascending.inline.svg';
97
import { defaultTableOrdering } from './StakePoolsTable';
8+
import { StakePoolsOrder, StakePoolSortableProps } from './hooks';
109

1110
type TableHeaderProps = {
1211
name: string;
13-
stakePoolsSortBy: string;
14-
stakePoolsOrder: string;
15-
onHandleSort: (...args: Array<any>) => any;
12+
stakePoolsSortBy: StakePoolSortableProps;
13+
stakePoolsOrder: StakePoolsOrder;
14+
onHandleSort: (name: string) => void;
1615
children: React.ReactNode;
1716
};
1817

source/renderer/app/components/staking/stake-pools/hooks/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,4 @@ export {
33
useSortedStakePoolList,
44
StakePoolsOrder,
55
} from './useSortedStakePoolList';
6+
export { StakePoolSortableProps } from './types';
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
import StakePool from '../../../../domains/StakePool';
2+
3+
export type StakePoolSortableProps = keyof Pick<
4+
StakePool,
5+
| 'ranking'
6+
| 'ticker'
7+
| 'saturation'
8+
| 'cost'
9+
| 'profitMargin'
10+
| 'producedBlocks'
11+
| 'nonMyopicMemberRewards'
12+
| 'pledge'
13+
| 'retiring'
14+
>;

source/renderer/app/components/staking/stake-pools/hooks/useCreateColumns.tsx

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ import {
1818
toFixedUserFormat,
1919
} from '../../../../utils/formatters';
2020
import { messages } from '../StakePoolsTable.messages';
21+
import { StakePoolSortableProps } from './types';
2122

2223
type UseCreateColumnsArgs = {
2324
currentTheme: string;
@@ -29,6 +30,11 @@ type UseCreateColumnsArgs = {
2930
intl: Intl;
3031
};
3132

33+
type StakePoolColumn = Column<StakePool> & {
34+
id: StakePoolSortableProps;
35+
accessor: StakePoolSortableProps;
36+
};
37+
3238
export const useCreateColumns = ({
3339
numberOfRankedStakePools,
3440
intl,
@@ -38,7 +44,7 @@ export const useCreateColumns = ({
3844
containerClassName,
3945
showWithSelectButton,
4046
}: UseCreateColumnsArgs) =>
41-
useMemo<Column<StakePool>[]>(
47+
useMemo<StakePoolColumn[]>(
4248
() => [
4349
{
4450
id: 'ranking',

source/renderer/app/components/staking/stake-pools/hooks/useSortedStakePoolList.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import { useMemo } from 'react';
22
import { orderBy } from 'lodash';
33
import StakePool from '../../../../domains/StakePool';
4+
import { StakePoolSortableProps } from './types';
45

56
export enum StakePoolsOrder {
67
Asc = 'asc',
@@ -9,7 +10,7 @@ export enum StakePoolsOrder {
910

1011
interface UseSortedStakePoolListArgs {
1112
stakePoolList: StakePool[];
12-
sortBy: keyof StakePool;
13+
sortBy: StakePoolSortableProps;
1314
order: StakePoolsOrder;
1415
}
1516

0 commit comments

Comments
 (0)