Skip to content

Commit f9fbca5

Browse files
committed
fix: fixed the useMediaQuery hook
1 parent b3553df commit f9fbca5

File tree

1 file changed

+14
-10
lines changed

1 file changed

+14
-10
lines changed

src/hooks/useMediaQuery.ts

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -14,30 +14,34 @@ type SubQuery = {
1414
type Query = Array<SubQuery>;
1515

1616
export function useMediaQuery(query: SubQuery | Query) {
17-
let dims = useWindowDimensions();
17+
const dims = useWindowDimensions();
1818
const height = dims?.height;
1919
const width = dims?.width;
20+
2021
return iterateQuery(query, height, width);
2122
}
2223

24+
function queryResolver(query: any, width?: number, height?: number) {
25+
for (const queryKey in query) {
26+
if (!calculateQuery(queryKey, query[queryKey], height, width)) {
27+
return false;
28+
}
29+
}
30+
return true;
31+
}
32+
2333
function iterateQuery(
2434
query: SubQuery | Query,
2535
height?: number,
2636
width?: number
2737
) {
28-
let key;
29-
let val;
30-
let queryResults = [];
38+
const queryResults = [];
3139
if (Array.isArray(query)) {
3240
query.forEach((subQuery: SubQuery) => {
33-
key = Object.keys(subQuery)[0];
34-
val = Object.values(subQuery)[0];
35-
queryResults.push(calculateQuery(key, val, height, width));
41+
queryResults.push(queryResolver(subQuery, width, height));
3642
});
3743
} else {
38-
key = Object.keys(query)[0];
39-
val = Object.values(query)[0];
40-
queryResults.push(calculateQuery(key, val, height, width));
44+
queryResults.push(queryResolver(query, width, height));
4145
}
4246
return queryResults;
4347
}

0 commit comments

Comments
 (0)