Skip to content

Conversation

@mindaaaa
Copy link
Collaborator

@mindaaaa mindaaaa commented Dec 30, 2025

📌 관련 이슈

Closed #40

✅ PR 체크리스트(최소요구조건)

  • 테스트 작성했다.

✨ 작업 개요

  • OAuth 로그인 페이지 UI 컴포넌트 구현
  • 소셜 로그인 버튼(Google / Naver / Kakao) UI 구성
  • Storybook에서 반응형 확인을 위한 viewport 설정 추가

🧹 작업 상세 내용

  1. OAuth 로그인 페이지 UI 구현

    • 로고, 안내 문구, 소셜 로그인 버튼으로 구성된 로그인 페이지 추가
    • 버튼 컴포넌트는 provider 기반으로 재사용 가능하도록 구성
  2. Storybook 스토리 추가

    • OAuthLoginPage에 대한 스토리 작성
    • Mobile / Tablet / Desktop viewport별 렌더링 확인 가능하도록 구성

📸 스크린샷 (선택)

모바일

모바일

데스크톱

데스크톱


🔍 고민 지점

[ 첫 번째 고민 ]

  • 문제점
    Storybook에서 viewport별 UI를 확인하려 했으나,
    기본 설정만으로는 원하는 viewport 옵션이 노출되지 않아 설정이 막힌 것처럼 느껴졌습니다.

  • 해결 과정
    Storybook preview.ts에서 viewport.options를 직접 정의하여
    Mobile / Tablet / Desktop 환경을 명시적으로 설정했고,
    각 스토리에서 globals를 통해 viewport를 선택할 수 있도록 구성했습니다.

[ 두 번째 고민 ]

  • 문제점
    OAuth 로그인 UI는 초기 단계라 실제 인증 로직과 분리된 상태로 작업해야 했습니다.

  • 해결 과정
    UI 컴포넌트와 OAuth 처리 함수를 분리하여
    현재는 UI 검증과 구조 확인에 집중하고,
    추후 실제 인증 로직을 연결할 수 있도록 여지를 남겼습니다.

💬 기타 참고 사항

  • 현재 PR은 UI 및 Storybook 환경 구성에 초점을 둔 작업입니다.
  • 실제 OAuth 인증 플로우 연동은 이후 단계에서 진행 예정입니다.

- Icons.stories.tsx 생성
- 카테고리별 아이콘 갤러리 제공
- 모든 아이콘을 한눈에 확인 가능한 카탈로그로 스토리 통합
- 기존 스토리 제거
- GoogleIcon, NaverIcon, KakaoIcon 소셜 로그인 아이콘 추가
- Logo 브랜드 로고 컴포넌트 추가
- IconProps 타입을 사용한 일관된 인터페이스
- index.ts에 export 추가
- Google, Naver, Kakao 소셜 로그인 버튼 컴포넌트 구현
- provider별 스타일링 및 아이콘 적용
- Storybook 스토리 추가
- actions 설정으로 클릭 이벤트 중복 기록 방지
- alert를 Storybook Actions로 변경하여 개발자 경험 개선
- 개발 확인을 위한 임시 연결
- 추후 라우팅 설정 시 제거 예정
- 커스텀 viewport 설정 추가 (Mobile, Tablet, Desktop)
- OAuthLoginPage 컴포넌트 구현
- OAuth 로그인 처리 함수 구조 추가 (data 레이어)
- Storybook 스토리 추가 (반응형 뷰포트 지원)
@mindaaaa mindaaaa added this to the User Domain & Ownership milestone Dec 30, 2025
@mindaaaa mindaaaa self-assigned this Dec 30, 2025
@mindaaaa mindaaaa added UI 화면, 레이아웃, UX 흐름, UI 구조와 관련된 작업 goal: feature 사용자에게 제공되는 기능 구현 작업 priority: p2 있으면 좋지만 미뤄도 되는 작업 labels Dec 30, 2025
Copy link
Collaborator

@qjatjr29 qjatjr29 left a comment

Choose a reason for hiding this comment

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

벌써 UI 작업이 끝나셨군요..?!?

추후에 기본 이메일 + 패스워드 방식도 추가할 수도 있을거 같아요~!!

  • 또, oauth2 로그인 성공시 어느 path로 리다이렉트 해야할지도 나중에 이야기해보면 좋을것 같아요!!

@@ -0,0 +1,36 @@
import type { IconProps } from '../types';

export default function NaverIcon({ className, ...props }: IconProps) {
Copy link
Collaborator

Choose a reason for hiding this comment

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

요고 민다가 보여주신 화면에서 조금 이상하게 보이는데 원래 이건가요?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

앗 !
피그마에서 만들어준대로 가져왔는데 수상함을 인식하지 못했습니다
네이버 로고 예쁘네 하고 넘겼는데...😲

로고 파일 수정할게요~!

className?: string;
}

const providerConfig = {
Copy link
Collaborator

Choose a reason for hiding this comment

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

👍

@mindaaaa
Copy link
Collaborator Author

  • 또, oauth2 로그인 성공시 어느 path로 리다이렉트 해야할지도 나중에 이야기해보면 좋을것 같아요!!

좋아요~!
이 부분은 인터미션 때는 일단 임의 페이지로 넘기는 방식으로 두고,
인터미션 이후 데일리 스크럼이나 코어 타임에서
함께 정리하고 넘어가면 좋을 것 같아요👍👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

goal: feature 사용자에게 제공되는 기능 구현 작업 priority: p2 있으면 좋지만 미뤄도 되는 작업 UI 화면, 레이아웃, UX 흐름, UI 구조와 관련된 작업

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feature] 로그인 화면 UI 작업

3 participants