35 lines
1.1 KiB
TypeScript
35 lines
1.1 KiB
TypeScript
// Metro module 9686 (f9687).
|
|
import { useRef, useEffect } from "react";
|
|
import useWindowSizeClassifier, { WindowSizeClassifier } from "../../screen/native/useWindowSizeClassifier";
|
|
export function useMediaKeyboardItemsPerRow() {
|
|
const windowSizeClassifier = useWindowSizeClassifier();
|
|
const XLARGE = WindowSizeClassifier.XLARGE;
|
|
let itemsPerRow = 8;
|
|
if (XLARGE !== windowSizeClassifier) {
|
|
const LARGE = WindowSizeClassifier.LARGE;
|
|
itemsPerRow = 6;
|
|
if (LARGE !== windowSizeClassifier) {
|
|
const NORMAL = WindowSizeClassifier.NORMAL;
|
|
itemsPerRow = 4;
|
|
if (NORMAL !== windowSizeClassifier) {
|
|
const SMALL = WindowSizeClassifier.SMALL;
|
|
itemsPerRow = 3;
|
|
if (SMALL !== windowSizeClassifier) {
|
|
throw new Error(`Unknown window size classifier: ${windowSizeClassifier}`);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
let c17405_0 = itemsPerRow;
|
|
const itemsPageSize = 17 * itemsPerRow;
|
|
const ref = useRef(itemsPageSize);
|
|
useEffect(() => {
|
|
ref.current = 17 * c17405_0;
|
|
}, [itemsPerRow]);
|
|
return {
|
|
itemsPerRow,
|
|
itemsPageSize,
|
|
itemsPageSizeRef: ref
|
|
};
|
|
}
|