์ด๋ฒ ์์ ์ ์ธ ๊ฐ์ง ํฌ์ธํธ๋ฅผ ์ค์ฌ์ผ๋ก ์งํํ๋ค.
- Slick Slider๋ฅผ ํ์ฉํ ๋ฉ์ธ ๋ฐฐ๋ ๊ตฌ์ฑ
- ํ์์ด ๋์์ธํ ๊ฑฐ๋ ๊ฒ์๊ธ ํ์ด์ง๋ก ์ด๋ ๊ธฐ๋ฅ
- PWA ํ๊ฒฝ์์ ๋ชจ๋ฐ์ผ ๋น์จ ๊ณ ์ ํ๊ธฐ (ํ์ด์ค๋ถ ์ฐธ๊ณ )
๊ธฐ๋ณธ์ ์ผ๋ก react-slick์ ํ์ฉํด์ ์ฌ๋ผ์ด๋๋ฅผ ๊ตฌ์ฑํ๋ค. Banner.tsx์์ ์ค์ ์ ์ง์ ํ๊ณ , ๊ฐ ์ฌ๋ผ์ด๋๋ BannerContainer๋ฅผ ํตํด ์ด๋ฏธ์ง props๋ฅผ ์ ๋ฌ๋ฐ๋ ๊ตฌ์กฐ๋ก ๊ตฌ์ฑํ๋ค.
const settings = {
dots: true,
infinite: false,
speed: 500,
slidesToShow: 1,
slidesToScroll: 1,
};
์ฌ๋ผ์ด๋๋ ์ค์ ์ ๋ ฌ์ ์ํด absolute์ transform์ ์ ์ ํ ํ์ฉํ๊ณ , CSS๋ก ๋น์จ์ ์กฐ์ ํ๋ค.
const SliderContainer = styled.div`
width: 95%;
height: 60%;
position: absolute;
top: 40%;
left: 50%;
transform: translate(-50%, -50%);
`;
์ด๋ฏธ์ง๋ BannerImage ์์์์ key๋ฅผ ํตํด ๋ถ๋ฌ์ค๋ ๋ฐฉ์์ด๋ผ ์ถํ ์ด๋ฏธ์ง ๊ต์ฒด๋ ์ถ๊ฐ๋ ์ ์ฐํ๊ฒ ๋์ํ ์ ์๋๋ก ์ค๊ณํ๋ค.
ํ์์ด ๋ง๋ ๋์์ธ์ ์ฐธ๊ณ ํด์, WorldSelectButton์์ ๊ฐ ์์ด์ฝ ํด๋ฆญ ์ /trade ํ์ด์ง๋ก ์ด๋ํ๋๋ก ๊ตฌ์ฑํ๋ค.
์ด ํ์ด์ง๋ App.tsx์์ ๋ค์๊ณผ ๊ฐ์ด ๋ผ์ฐํ
๋๊ณ ์๋ค:
<Route path='/trade' element={<TitleList filter={filter} setFilter={setFilter} />} />
๋๋ถ์ ์ํ๋ ์๋ ํํฐ ๊ฐ๋ ์ถํ ๋๊ธธ ์ ์๊ฒ ์ ์ฐํ๊ฒ ๊ตฌ์ฑํด๋์๋ค.
(์ง๊ธ์ filter ์์ด ์ด๋๋ง ๊ตฌํํด๋ ์ํ)
PWA๋ก ์ฑ์ฒ๋ผ ๋ณด์ด๊ฒ ํ๊ธฐ ์ํด AppContent์ ์คํ์ผ์ ๋น์จ ๊ณ ์ ์ ์ถ๊ฐํ๋ค.
const AppContent = styled.div max-width: calc(100vh * 5 / 9);
;
์ด ๋น์จ์ 5:9๋ก ์ค์ ํ๋๋ฐ, ์ด๊ฑด ํ์ด์ค๋ถ์์ ์๊ฐ์ ์ป์๋ค. ๋๋ถ์ ์ด๋ค ๊ธฐ๊ธฐ์์๋ ์ ํด์ง ๋น์จ๋ก ๋ชจ๋ฐ์ผ ์ฑ์ฒ๋ผ ๋ณด์ด๋๋ก ๋ง๋ค ์ ์์๋ค.
๋จ์ ์ PC์์ ๋ณด๋ฉด ๊ธฐ์กด์ ์นํ์ด์ง์๋ ui๊ฐ ๋ค์ ๋ค๋ฅด๊ธฐ ๋๋ฌธ์ ์ด์ํ๋ค๊ณ ๋๋ ์ ์๋ค๋ ์ ์ด์์ง๋ง, ๋ชฉํ๊ฐ ๋ชจ๋ฐ์ผ ์ต์ ํ๋ผ ์ด ์ ๋๋ ๊ด์ฐฎ๋ค๊ณ ํ๋จํ๋ค.
์ด๋ฒ ์์
์ ํนํ ํ์
์ด ํต์ฌ์ด์๋ค.
๋์์ธ ๊ฐ์ด๋๋ฅผ ๋ฏธ๋ฆฌ ๊ณต์ ๋ฐ๊ณ , ๋ผ์ฐํ
๊ตฌ์กฐ๋ ์ฌ๋ผ์ด๋ ๋ฐฉ์๋ ์์ํ๋ฉด์ ์งํํ๋ค. ๋๋ถ์ ๊ฐ์์ ํํธ๊ฐ ๋ช
ํํ ๋๋์๊ณ , ์ถฉ๋ ์์ด ์์
ํ ์ ์์๋ค.
์ฒ์์๋ Slider์ ์์น ์กฐ์ ์ด ๊น๋ค๋ก์ ๋ค. ํนํ ์ฌ๋ผ์ด๋ ์์ ์ด๋ฏธ์ง ๋น์จ์ด ์ ๋ง์์ object-fit: cover๋ก ํด๊ฒฐ.
PWA ๋น์จ ์ค์ ์ ์๊ฐ๋ณด๋ค ๋ณต์กํ๋๋ฐ, ๊ธฐ์ค์ ์ vh๋ก ํด์ 5/9๋ฅผ ๊ณฑํด์ ์ผ์ ํ ๋น์จ์ ์ ์ง์ํค๋ ๋ฐฉ๋ฒ์ ์ฑํํ๋ค.
ํ์๊ณผ์ ํ์ ์ผ๋ก ๋ด๊ฐ ๋งก์ ์์ญ ์ธ์ ํฐ ๊ทธ๋ฆผ์ ๋ณผ ์ ์์๋ค๋ ์ ์ด ์ข์๋ค.
ํ์ฌ๋ max-width๋ก ํ๋ฉด ๋น์จ์ ๊ฐ์ ๋ก ์ค์ ํ๋๋ฐ, ๋ค์์๋ ๋ฏธ๋์ด ์ฟผ๋ฆฌ(media query) ๋ฅผ ํ์ฉํด์ ๋๋ฐ์ด์ค ํด์๋์ ๋ง์ถฐ ์์ฐ์ค๋ฝ๊ฒ ๋ฐ์ํ์ผ๋ก ๋ง๋ค๊ณ ์ถ๋ค. ๊ทธ๊ฒ ๋ ์น ์ ๊ทผ์ฑ์๋ ์ข๊ณ ์ ์ง๋ณด์๋ ์ฌ์ธ ๊ฒ ๊ฐ๋ค.