Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[NDD-85] 랜딩 페이지 구현, 웹팩 file-loader, svgr 설정 (9h/8h) #27

Merged
merged 34 commits into from
Nov 10, 2023

Conversation

milk717
Copy link
Collaborator

@milk717 milk717 commented Nov 9, 2023

NDD-85 Powered by Pull Request Badge

Why

랜딩페이지 디자인과 구현을 완료했습니다. 노가다 작업은 이제 끝입니다.
랜딩 페이지 작업을 하면서 이미지와 svg가 필요해서 웹팩 로더 설정도 함께 진행했습니다.

How

랜딩페이지 디자인 관련

  • 랜딩 페이지의 느낌과 통일성을 주기 위해 기존 벡터 로고를 3d 로고로 변경했습니다.
  • 다른 페이지들이 토스와 프로그래머스를 래퍼런스로 삼아서 만들어졌기 때문에 랜딩페이지도 토스 소개페이지를 참고했습니다.
  • LandingPageLayout을 grid 레이아웃으로 구성했습니다. flex 레이아웃으로 구성해도 되지만 grid를 사용한 이유는 page에서 각 컴포넌트를 불러올 때 아래와 같이 사용하기 위함입니다.
 <LandingPageLayout>
  <WelcomeBlurb />
  <StartButton />
  <LandingImage />
</LandingPageLayout>

만약 flex 레이아웃을 사용했다면 <WelcomeBlurb /><StartButton />를 또 하나의 div로 묶어줘야 하고, 이렇게 되면 page에 css 로직이 포함되기 때문입니다. 그래서 페이지를 깔끔하게 유지하고자 grid로 구성했습니다.

  • Layout 컴포넌트의 스타일을 덮어씌울 수 있도록 props를 변경했습니다.

웹팩 설정 관련

  • 이미지 파일을 불러오기 위해 file-loader를 설정했습니다.
  • svg는 svgr을 사용해서 불러오도록 했습니다. 다른 svg-loader도 있지만 svgr을 선택한 이유는 svgr에서는 svg를 react 컴포넌트처럼 불러올 수 있기 때문입니다.

Result

  • 랜딩페이지 디자과 구현을 완료했습니다.
  • 문구가 전환되는 로직은 추후에 서비스 캡쳐본과 함께 넣을 생각이라서 일단은 작업하지 않았습니다.
  • 모바일 사이즈에서는 우측 이미지가 사라지도록 처리했습니다.
image

Reference

디자인 관련

웹팩 설정 관련

@milk717 milk717 self-assigned this Nov 9, 2023
@milk717 milk717 added FE 프론트엔드 코드 변경사항 feature 새로운 기능이 추가 된 경우 labels Nov 9, 2023
FE/src/components/landingPage/Layout.tsx Outdated Show resolved Hide resolved
FE/src/components/landingPage/WelcomeBlurb.tsx Outdated Show resolved Hide resolved
FE/src/styles/_typography.ts Show resolved Hide resolved
@@ -16,7 +16,8 @@
"@foundation/*": ["./src/components/foundation/*"],
"@page/*": ["./src/page/*"],
"@constants/*": ["./src/constants/*"],
"@styles/*": ["./src/styles/*"]
"@styles/*": ["./src/styles/*"],
"@assets/*": ["./src/assets/*"]
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

assets는 src내부에 있어야 할까요? 요것두 고민해보죠! 우선 머지합시다!

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

loader가 따로 있으니 src 안에 있을 필요가 없겠네요!

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

약간 src폴더 내부에서 사용하는 assets이니 의미적으로 src내부가 맞지 않을까요?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

일단 이 부분은 금방 수정할 수 있고, 아직 논의중이니 이번 PR에서 수정하지 않고 내일 다시 이야기해봅시다!!

Copy link
Collaborator

@Yoon-Hae-Min Yoon-Hae-Min left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

첫페이지 작업이라니 저희도 뭔가 띄울게 생겼군요?!?!

FE/src/assets/images/landing-bear.png Outdated Show resolved Hide resolved
FE/src/components/landingPage/GoogleLoginButton.tsx Outdated Show resolved Hide resolved
FE/src/components/landingPage/Layout.tsx Outdated Show resolved Hide resolved
FE/src/components/landingPage/Header.tsx Outdated Show resolved Hide resolved
FE/src/components/landingPage/WelcomeBlurb.tsx Outdated Show resolved Hide resolved
@@ -16,7 +16,8 @@
"@foundation/*": ["./src/components/foundation/*"],
"@page/*": ["./src/page/*"],
"@constants/*": ["./src/constants/*"],
"@styles/*": ["./src/styles/*"]
"@styles/*": ["./src/styles/*"],
"@assets/*": ["./src/assets/*"]
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

약간 src폴더 내부에서 사용하는 assets이니 의미적으로 src내부가 맞지 않을까요?

FE/webpack.config.js Outdated Show resolved Hide resolved
FE/src/styles/_shadow.ts Outdated Show resolved Hide resolved
FE/src/components/landingPage/StartButton.tsx Outdated Show resolved Hide resolved
@milk717 milk717 merged commit 8a831a0 into dev Nov 10, 2023
@delete-merged-branch delete-merged-branch bot deleted the feature/NDD-85 branch November 10, 2023 13:40
Yoon-Hae-Min added a commit that referenced this pull request Nov 11, 2023
* design: Header 영역을 위한 컴포넌트 생성 후 위치만 잡음

* design: 랜딩 페이지 레이아웃 잡기

* feat: Layout 컴포넌트의 스타일을 덮어씌울 수 있도록 타입과 props 변경

* feat: LandingPageLayout 간격 변경

* rename: Intro -> StartButton으로 이름 변경

* design: 그라데이션 테마 추가

* design: typography variant 추가

* design: 그림자 테마 추가

* design: 랜딩페이지 시작버튼 디자인 완료

* design: 랜딩페이지 시작버튼 hover, active 효과 추가

* design: 랜딩페이지 뒷배경 추가하고 가운대로 배치

* chore: 웹팩에 file-loader 추가

* feat: png 로드를 위한 타입 선언

* design: 랜딩페이지에 곰인형 배치

* feat: Typography 컴포넌트에서 paragraph 활성화하면 줄바꿈 인식하도록 변경

* design: WelcomeBlurb 문구 수정 후 애니메이션 추가

* chore: assets 경로별칭 추가

* design: 로고 추가

* chore: svgr loader 추가

* design: 구글 로그인 버튼 추가

* design: header 스크롤 안되게 위치 고정

* design: 시작 버튼 눌림 효과 변경

* design: 메인 이미지 다른 버전도 추가

* remove: 랜딩 이미지 2안 제거

* design: 랜딩 페이지 반응형 대응 완료

* fix: import 경로 잘못된 것 수정

* rename: StartButton 타입을 StartButtonProps타입으로 이름 변경

* fix: px로 되어있는 단위 모두 rem으로 수정

* rename: Header -> LandingPageHeader으로 변경

* feat: breakpoint 테마 추가하고 적용

* rename: 파일명 === export명 통일성 맞춤

* style: Typography 내부에 들어가는 개행 <br />로 수정

Co-authored-by: YoonHaeMin <yunhatmi@gachon.ac.kr>

* rename: buttonLargeShadow를 buttonLargeHoverShadow, buttonLargeDefaultShadow로 분리

* fix: PR에서 리뷰 바로 반영 후 코드 오류난 것 수정

---------

Co-authored-by: YoonHaeMin <yunhatmi@gachon.ac.kr>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
FE 프론트엔드 코드 변경사항 feature 새로운 기능이 추가 된 경우
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants