Skip to content

Commit 43255e8

Browse files
committed
fix: prevent body scroll when modal is open
1 parent 0efd2e7 commit 43255e8

File tree

2 files changed

+11
-3
lines changed

2 files changed

+11
-3
lines changed

webdriver-ts-results/src/components/SelectionToolbar/BenchmarkSelector/BenchmarkSelector.tsx

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { BenchmarkType } from "@/Common";
22
import BenchmarkSelectorCategory from "./BenchmarkSelectorCategory";
33
import { Button, Modal } from "antd";
4-
import { useState } from "react";
4+
import { useState, useEffect } from "react";
55

66
const content = (
77
<>
@@ -16,6 +16,10 @@ const BenchmarkSelector = () => {
1616

1717
const [isModalOpen, setIsModalOpen] = useState(false);
1818

19+
useEffect(() => {
20+
isModalOpen ? (document.body.style.overflow = "hidden") : document.body.style.removeProperty("overflow");
21+
}, [isModalOpen]);
22+
1923
const showModal = () => {
2024
setIsModalOpen(true);
2125
};
@@ -33,7 +37,7 @@ const BenchmarkSelector = () => {
3337
<Button type="primary" onClick={showModal}>
3438
Which benchmarks?
3539
</Button>
36-
<Modal title="Benchmarks selector" onOk={handleOk} onCancel={handleCancel} open={isModalOpen} footer={null}>
40+
<Modal title="Benchmarks selector" footer={null} onOk={handleOk} onCancel={handleCancel} open={isModalOpen}>
3741
{content}
3842
</Modal>
3943
</>

webdriver-ts-results/src/components/SelectionToolbar/FrameworkSelector/FrameworkSelector.tsx

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { FrameworkType } from "@/Common";
22
import FrameworkSelectorCategory from "./FrameworkSelectorCategory";
33

4-
import { useState } from "react";
4+
import { useState, useEffect } from "react";
55
import { Button, Modal } from "antd";
66

77
const content = (
@@ -16,6 +16,10 @@ const FrameworkSelector = () => {
1616

1717
const [isModalOpen, setIsModalOpen] = useState(false);
1818

19+
useEffect(() => {
20+
isModalOpen ? (document.body.style.overflow = "hidden") : document.body.style.removeProperty("overflow");
21+
}, [isModalOpen]);
22+
1923
const showModal = () => {
2024
setIsModalOpen(true);
2125
};

0 commit comments

Comments
 (0)