Skip to content

Commit e5672da

Browse files
fix(app): fix pageScroll (#474)
* fix(app): fix pageScroll * Update apps/app/src/utils/pageScroll.ts Co-authored-by: Michał Miszczyszyn <[email protected]> * Update apps/app/src/utils/pageScroll.ts Co-authored-by: Michał Miszczyszyn <[email protected]> * fix: wysiwyg editor border color * Update apps/app/src/utils/pageScroll.ts Co-authored-by: Michał Miszczyszyn <[email protected]> * Update apps/app/src/utils/pageScroll.ts Co-authored-by: Michał Miszczyszyn <[email protected]> * Changes which implement refactored code from 'pageScroll.ts' * Remove unused custom css class Co-authored-by: Michał Miszczyszyn <[email protected]>
1 parent 9b4fee3 commit e5672da

File tree

4 files changed

+20
-12
lines changed

4 files changed

+20
-12
lines changed

apps/app/src/components/BaseModal/BaseModal.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ export const BaseModal = ({ isOpen, onClose, children }: BaseModalProps) => {
2121

2222
useEffect(() => {
2323
if (isOpen) {
24-
lockScroll();
24+
lockScroll({ mobileOnly: false });
2525
}
2626
}, [isOpen]);
2727

@@ -38,7 +38,7 @@ export const BaseModal = ({ isOpen, onClose, children }: BaseModalProps) => {
3838
leaveTo="opacity-0"
3939
afterLeave={() => {
4040
if (!openedModal) {
41-
unlockScroll();
41+
unlockScroll({ mobileOnly: false });
4242
}
4343
}}
4444
>

apps/app/src/components/Header/HeaderNavigation.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,13 @@ export const HeaderNavigation = ({ children }: { children: ReactNode }) => {
1414

1515
const handleButtonClick = (event: MouseEvent<HTMLButtonElement>) => {
1616
event.preventDefault();
17-
isOpen ? unlockScroll() : lockScroll();
17+
isOpen ? unlockScroll({ mobileOnly: true }) : lockScroll({ mobileOnly: true });
1818
setIsOpen((prev) => !prev);
1919
};
2020

2121
const handleClickLink = () => {
2222
setIsOpen(false);
23-
unlockScroll();
23+
unlockScroll({ mobileOnly: true });
2424
};
2525

2626
return (

apps/app/src/components/QuestionsSidebar/QuestionsSidebar.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,9 @@ export const QuestionsSidebar = () => {
1414

1515
useEffect(() => {
1616
if (isSidebarOpen) {
17-
lockScroll();
17+
lockScroll({ mobileOnly: true });
1818
} else {
19-
unlockScroll();
19+
unlockScroll({ mobileOnly: true });
2020
}
2121
}, [isSidebarOpen]);
2222

apps/app/src/utils/pageScroll.ts

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,21 @@
11
import "client-only";
22

3-
const classes = ["overflow-hidden"];
4-
5-
export const lockScroll = () => {
3+
export const lockScroll = ({ mobileOnly }: { mobileOnly: boolean }) => {
64
document.body.style.paddingRight = `${window.innerWidth - document.body.offsetWidth}px`;
7-
document.body.classList.add(...classes);
5+
6+
if (mobileOnly) {
7+
document.body.classList.add("overflow-hidden", "sm:overflow-auto");
8+
} else {
9+
document.body.classList.add("!overflow-hidden");
10+
}
811
};
912

10-
export const unlockScroll = () => {
13+
export const unlockScroll = ({ mobileOnly }: { mobileOnly: boolean }) => {
1114
document.body.style.paddingRight = "";
12-
document.body.classList.remove(...classes);
15+
16+
if (mobileOnly) {
17+
document.body.classList.remove("overflow-hidden", "sm:overflow-auto");
18+
} else {
19+
document.body.classList.remove("!overflow-hidden");
20+
}
1321
};

0 commit comments

Comments
 (0)