Skip to content

추천 기능 UI에 맞게 컴포넌트들을 수정 / 구현합니다.#320

Merged
pinocchio22 merged 9 commits intodevfrom
fix/#315-Components
Apr 20, 2026
Merged

추천 기능 UI에 맞게 컴포넌트들을 수정 / 구현합니다.#320
pinocchio22 merged 9 commits intodevfrom
fix/#315-Components

Conversation

@pinocchio22
Copy link
Copy Markdown
Contributor

📌 이슈

✅ 작업 사항

로그인 유도 UI를 진입 경로에 따라 분기 처리할 수 있도록 수정

  • bookmark 진입 시 기존 북마크 유도 목적에 맞는 UI 노출
  • recommend 진입 시 추천 플로우에 맞는 안내 UI 노출
  • 동일 컴포넌트를 재사용하면서 타입 분기로 동작하도록 구조 개선

레벨 및 직업 입력 UI를 진입 경로에 따라 분기 처리할 수 있도록 수정

  • normal : 온보딩 / 마이페이지에서 사용하는 기본 입력 흐름
  • recommend : 추천 기능 진입 시 사용하는 입력 흐름
  • 진입 목적에 따라 타이틀 및 안내 문구가 다르게 표시되도록 수정

도감 리스트 셀에 랭킹 태그를 추가하기 위하여 CardList 및 TagChip 컴포넌트 수정

  • TagChip에 text 타입을 추가하여 랭킹 태그 표현 가능하도록 확장
  • CardList에 recommend 타입을 추가하여 추천 케이스 대응
  • 기존 UI에 영향 없이 확장 가능한 구조로 수정

Tooltip 표시를 위한 컴포넌트 및 Factory 구현

  • overlayView를 추가하여 외부 영역 터치 시 dismiss 되도록 처리
  • UIBezierPath를 사용하여 말풍선 형태 및 꼬리(arrow) 구현
  • 말풍선 방향(top/bottom, leading/trailing)에 따른 타입 분기 추가
  • anchorView 기준으로 화살표가 정렬되도록 위치 계산 로직 구현
  • 재사용 가능한 TooltipFactory 형태로 구성

+추가 : 기존 class 타입이었던 ToastFactory를 enum으로 변경하여 인스턴스 생성 방지 및 안정성 개선

특정 View를 기준으로 툴팁을 띄움
문자열 파라미터를 구체적인 타입으로 수정하여 사용성 증가
@pinocchio22 pinocchio22 requested a review from dongglehada April 9, 2026 09:34
@pinocchio22 pinocchio22 self-assigned this Apr 9, 2026
@pinocchio22 pinocchio22 added feat 새로운 기능을 추가 fix 버그 수정, 잔잔바리 수정, 병합 시 충돌 해결 labels Apr 9, 2026
Copy link
Copy Markdown

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request introduces a new Tooltip component to the design system, comprising TooltipView, TooltipOverlayView, and a TooltipFactory for management. It also refactors CharacterInputView and ToLoginView to utilize enums for better type safety and updates ToastFactory to an enum. The review feedback highlights opportunities to reduce code duplication regarding window access and hardcoded layout constants, optimize layer management in layoutSubviews, remove the unused TooltipArrowView file, and enhance the user experience by adding a fade-out animation during tooltip dismissal.

Comment thread MLS/MLSDesignSystem/Sources/MLSDesignSystem/Components/Tooltip/TooltipView.swift Outdated
Comment thread MLS/MLSDesignSystem/Sources/MLSDesignSystem/Components/Tooltip/TooltipView.swift Outdated
Comment on lines +11 to +16
static var window: UIWindow? {
UIApplication.shared
.connectedScenes
.flatMap { ($0 as? UIWindowScene)?.windows ?? [] }
.first { $0.isKeyWindow }
}
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

medium

최상단 window를 찾는 로직이 ToastFactory.swift와 완전히 중복되어 구현되어 있습니다. 향후 윈도우 탐색 로직이 변경될 경우 두 곳을 모두 수정해야 하는 번거로움이 있으므로, UIWindow extension 등으로 분리하여 공통으로 사용하는 것이 좋습니다.

pinocchio22 and others added 3 commits April 19, 2026 15:17
…nto fix/#315-Components

# Conflicts:
#	MLS/MLSDesignSystem/Sources/MLSDesignSystem/Components/Tooltip/TooltipView.swift
#	MLS/MLSDesignSystem/Sources/MLSDesignSystem/Layouts/Factory/TooltipFactory.swift
Copy link
Copy Markdown
Member

@dongglehada dongglehada left a comment

Choose a reason for hiding this comment

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

수고 많으셨습니다! 의견이 있거나 궁금한 부분들이 주요하지는 않은 것 같아서 승인처리 하였고, 따로 코멘트만 확인 부탁드리겠습니다 :>

// MARK: - Properties
private let disposeBag = DisposeBag()

var onDismiss: (() -> Void)?
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

onDismiss 를 Rx기반 대신 클로저로 사용한 이유가 궁금합니다! 지금 import 를 보니 rx에 의존성이 이미 있는 view로 보여서요!

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

기존에 rx 의존성 없이 구현중이던 코드를 그대로 이어 갔네요.. 확실하게 rxGesture로 수정하였습니다~

import RxCocoa
import RxSwift

final class TooltipOverlayView: UIView {
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

모듈 내에서 internal 수준의 접근 제어가 필요한 상황에는 생략하는게 좋을지 명시적으로 표기하는게 좋을지 의견이 궁금합니다

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

혼동을 피하기 위해서라도 명시적으로 붙여주는게 맞는 것 같아요!!

@pinocchio22 pinocchio22 merged commit 40e949f into dev Apr 20, 2026
2 checks passed
@pinocchio22 pinocchio22 deleted the fix/#315-Components branch April 23, 2026 06:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feat 새로운 기능을 추가 fix 버그 수정, 잔잔바리 수정, 병합 시 충돌 해결

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants