Skip to content

Commit 748ff29

Browse files
committed
design: 모바일 viewport 문제 개션을 위한 훅 추가
1 parent dec3a8f commit 748ff29

File tree

3 files changed

+24
-0
lines changed

3 files changed

+24
-0
lines changed

src/App.tsx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import { Route, Routes } from 'react-router';
22

3+
import useViewport from './hooks/useViewport';
34
import Home from './pages/Home';
45
import LetterBoardPage from './pages/LetterBoard';
56
import LetterBoardDetailPage from './pages/LetterBoardDetail';
@@ -14,6 +15,8 @@ import RollingPaperPage from './pages/RollingPaper';
1415
import WritePage from './pages/Write';
1516

1617
const App = () => {
18+
useViewport();
19+
1720
return (
1821
<Routes>
1922
<Route>

src/hooks/.gitkeep

Whitespace-only changes.

src/hooks/useViewport.ts

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
import { useEffect } from 'react';
2+
3+
function useViewport() {
4+
useEffect(() => {
5+
const setViewport = () => {
6+
const vh = window.innerHeight * 0.00999;
7+
const vw = document.documentElement.clientWidth * 0.00999;
8+
document.documentElement.style.setProperty('--vh', `${vh}px`);
9+
document.documentElement.style.setProperty('--vw', `${vw}px`);
10+
};
11+
12+
setViewport();
13+
window.addEventListener('resize', setViewport);
14+
15+
return () => {
16+
window.removeEventListener('resize', setViewport);
17+
};
18+
}, []);
19+
}
20+
21+
export default useViewport;

0 commit comments

Comments
 (0)