ghost-portal/packages/react-hooks/src/useWindowColumns.ts
Jaco 6ecccdc031
Additional alignment of staking UI layout (#8828)
* Additional alignment of staking UI layout

* Allow for validator tagging & sorting

* Adjust flag injection (re-create object)

* currentEra for staking queries

* Pass SessionInfo structure

* Display badges

* Adjust flags

* Adjust status media

* Badge background adjustments

* Don't do additional table split

* Adjust table split
2023-01-17 11:30:34 +02:00

25 lines
719 B
TypeScript

// Copyright 2017-2023 @polkadot/react-hooks authors & contributors
// SPDX-License-Identifier: Apache-2.0
import { useMemo } from 'react';
import { createNamedHook } from './createNamedHook';
import { useWindowSize } from './useWindowSize';
function useWindowColumnsImpl (maxColumns: 0 | 1 | 2 | 3 = 3, isActive = true): number {
const windowSize = useWindowSize(isActive);
return useMemo(
() => isActive
? windowSize.width >= 1500
? Math.min(3, maxColumns)
: windowSize.width >= 1050
? Math.min(maxColumns, 2)
: 1
: 1,
[isActive, maxColumns, windowSize]
);
}
export const useWindowColumns = createNamedHook('useWindowColumns', useWindowColumnsImpl);