[4차] Next.js 리그오브레전드 정보 프로젝트 (반응형 작업)
[4차] Next.js 리그오브레전드 정보 프로젝트
베포 링크
- vercel
- github
- https://github.com/rarrit/lol-info-app
- branch
- feat/champion
- feat/rotation
- feat/item
프로젝트 설명
NextJS와 TypeScript을 사용하고 Riot API를 활용하여 리그오브레전드의 다양한 데이터를 조회하고 이를 기반으로 생성한 프로젝트 입니다.
STACK
프로젝트 구조
- 4차에선 전체 페이지 반응형 작업을 진행했습니다.
전체 프로젝트 구조
📦app┣ 📂_components
┃ ┣ 📂champions
┃ ┃ ┣ 📜ChampionCard.tsx
┃ ┃ ┗ 📜ChampionList.tsx
┃ ┗ 📂items
┃ ┃ ┣ 📜itemCard.tsx
┃ ┃ ┣ 📜itemDesc.tsx
┃ ┃ ┗ 📜itemList.tsx
┣ 📂api
┃ ┣ 📂rotation
┃ ┃ ┗ 📜route.ts
┃ ┗ 📜apiKey.ts
┣ 📂champions
┃ ┣ 📂[id]
┃ ┃ ┗ 📜page.tsx
┃ ┣ 📜layout.tsx
┃ ┣ 📜loading.tsx
┃ ┗ 📜page.tsx
┣ 📂fonts
┃ ┣ 📜GeistMonoVF.woff
┃ ┗ 📜GeistVF.woff
┣ 📂items
┃ ┣ 📜loading.tsx
┃ ┗ 📜page.tsx
┣ 📂rotation
┃ ┣ 📜loading.tsx
┃ ┗ 📜page.tsx
┣ 📂types
┃ ┣ 📜Champion.ts
┃ ┣ 📜ChampionRotation.ts
┃ ┗ 📜Item.ts
┣ 📂utils
┃ ┣ 📜riotApi.ts
┃ ┗ 📜serverApi.ts
┣ 📜favicon.ico
┣ 📜global-error.tsx
┣ 📜globals.css
┣ 📜layout.tsx
┣ 📜loading.tsx
┗ 📜page.tsx
작업 목록
4-1) 반응형 작업 세팅
- 반응형 작업을 처음으로 해보면서
min-width
로 세팅되어 있던걸max
로 변경하고, 브레이크 포인트를 지정해주었음
import type { Config } from "tailwindcss";
const config: Config = {
content: [
"./src/pages/**/*.{js,ts,jsx,tsx,mdx}",
"./src/components/**/*.{js,ts,jsx,tsx,mdx}",
"./src/app/**/*.{js,ts,jsx,tsx,mdx}",
],
theme: {
extend: {
backgroundImage: {
lol01: "url('/assets/images/bg-lol-01.jpg')",
lol02: "url('/assets/images/bg-lol-02.jpg')",
lol03: "url('/assets/images/bg-lol-03.jpg')",
lol04: "url('/assets/images/bg-lol-04.jpg')",
icon01: "url('/assets/images/icon-logo.png')",
loading: "url('/assets/images/loading.gif')",
},
boxShadow: {
'custom': '0.5px 0.5px 10px rgba(0, 0, 0, 0.8)',
'custom-white': '0.5px 0.5px 10px rgba(255, 255, 255, 0.8)'
},
colors: {
background: "var(--background)",
foreground: "var(--foreground)",
},
screens: {
'max-n': {'max': '1460px'},
'max-t': {'max': '1260px'},
'max-m': {'max': '600px'},
'max-sm': {'max': '400px'},
},
},
},
plugins: [],
};
export default config;
4-2) 전체 반응형 작업
초기 tailwind.config.ts 에서 screen 값을 세팅해주고 메인, 모든 리스트 페이지에 반응형 작업을 해주었다.
회고
이전에 StyledComponent를 사용했을 때 tailwind보다 더 편리하다고 생각했는데, 테일윈드가 손에 익기 시작하면서 테일윈드도 많이 알수록 편리하다고 생각이 들고있다.
Keep - 현재 만족하고 있는 부분
비교적 레이아웃이 쉬운 편이라 반응형 작업이 어렵진 않았지만, 이후에 작업할 때 조금 더 빠르게 작업가능할 것 같다.
Problem - 불편하게 느끼는 부분
아직 테일윈드에 대해서 모르는것이 많은 것 같고 속도는 아직 느리다.
Try - problem에 대한 해결책, 당장 실행 가능한 것
앞으로 계속 사용해보면서 나만의 스타일을 찾으면 속도도 빨라질 것 같다.