Skip to content

Conversation

@Funital
Copy link
Collaborator

@Funital Funital commented Aug 7, 2025

#️⃣ 관련 이슈

Resolved #304

💡작업 내용

이번 PR에서 작업한 내용을 간략히 설명해주세요(이미지 첨부 가능)

  • 새로운 UI의 만든 사람들 페이지로 수정을 했습니다.
  • eatssu 인스타 계정 text는 인스타그램으로 연결시켰습니다.
  • Who's Next 이미지는 eatssu 랜딩페이지로 연결시켰습니다.
  • 인스타그램 로고 추가하여 변경했습니다.
스크린샷 2025-03-03 오후 7 43 48

💬리뷰 요구사항(선택)

리뷰어가 특별히 봐주었으면 하는 부분이 있다면 작성해주세요

ex) 메서드 XXX의 이름을 더 잘 짓고 싶은데 혹시 좋은 명칭이 있을까요?

  • 색상의 경우, 현재 Xcode 내에 등록되어있는 Gray700이 피그마에 있는 Gray700과 hex값이 달라서 우선 직접 지정으로 했는데, 색상을 새로 등록시켜놓아야 할까요? -> 색상은 기존에 gray700이 있어서 gray700Basic으로 새로 추가를 해두었습니다.

@Funital Funital requested review from CJiu01 and Hrepay August 7, 2025 15:31
@Funital Funital self-assigned this Aug 7, 2025
Copy link

@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.

Summary of Changes

Hello @Funital, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

I've updated the 'Creators' page to reflect a new UI design. This includes adding interactive elements that link to our official Instagram account and the eatssu landing page, enhancing user navigation and engagement within the application.

Highlights

  • UI Update: The 'Creators' page UI has been refreshed to align with a new design.
  • External Links: Implemented a clickable text element for '@eatssu.official' that directs users to our Instagram profile.
  • External Links: Added a tappable 'Who's Next' image that navigates users to the eatssu landing page.
  • Layout Adjustments: Adjusted the layout constraints and height of the main creators image to accommodate the new elements.
  • Asset Management: Included a new image asset, NextCreators.png, to support the updated UI.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point in your pull request via creating an issue comment (i.e. comment on the pull request page) using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in issue comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments or fill out our survey to provide feedback.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.


UI takes new form,Links now guide with gentle tap,Code flows, smooth and clean.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link

@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

이번 PR은 '만든 사람들' 페이지의 UI를 개편하고 인스타그램 및 랜딩 페이지로의 링크를 추가하는 작업을 포함하고 있습니다. 전반적으로 변경 사항은 의도한 대로 잘 동작할 것으로 보입니다. 코드의 유지보수성과 가독성을 높이기 위해 몇 가지 제안 사항을 남깁니다. 하드코딩된 색상과 URL 문자열을 디자인 시스템 및 상수로 관리하고, 중복되는 URL 열기 로직을 리팩토링하는 것을 고려해 보세요.

let instagramButton: UIButton = {
let button = UIButton(type: .system)
button.setTitle("@ eatssu.official", for: .normal)
button.setTitleColor(UIColor(hex: "#1F1F1F"), for: .normal)

Choose a reason for hiding this comment

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

medium

PR 설명에 언급해주신 것처럼, 하드코딩된 색상("#1F1F1F")을 사용하기보다는 EATSSUDesign 시스템에 새로운 색상을 추가하고 사용하는 것이 유지보수성 측면에서 더 좋습니다. 예를 들어 gray900 또는 textPrimary와 같은 이름으로 추가하는 것을 고려해볼 수 있습니다.

Copy link
Member

Choose a reason for hiding this comment

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

저번 PR에서도 만든사람들 관련해서 색 언급이 나왔었는데, 동일하게 계속 가져갈 디자인인 것 같아서 등록하는 것이 좋지 않을까 생각합니다.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

색상 등록해두었습니다.

Comment on lines 89 to 106
instagramButton.snp.makeConstraints { make in
make.top.equalToSuperview().offset(34)
make.centerX.equalToSuperview()
}

nextCreatorsImageView.snp.makeConstraints { make in
make.top.equalTo(instagramButton.snp.bottom).offset(16)
make.centerX.equalToSuperview()
make.width.equalTo(292)
make.height.equalTo(74)
}

creatorsImageView.snp.makeConstraints { make in
make.center.equalToSuperview()
make.top.equalTo(nextCreatorsImageView.snp.bottom).offset(30)
make.centerX.equalToSuperview()
make.width.equalTo(276)
make.height.equalTo(1770)
make.height.equalTo(1720)
}

Choose a reason for hiding this comment

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

medium

레이아웃을 설정할 때 사용된 숫자들(e.g., 34, 16, 292, 74, 30, 1720)이 하드코딩되어 있습니다. 디자인 시스템의 일부로 간격(spacing)이나 크기(size) 관련 상수를 정의하여 사용하면 코드의 가독성과 일관성을 높일 수 있습니다. 예를 들어, CGFloat.spacingMedium 과 같이 정의하여 사용할 수 있습니다.

Comment on lines 73 to 96
private func setUpAction() {
/// @eatssu_official 인스타그램 연결
creatorsView.instagramButton.addTarget(self, action: #selector(openInstagram), for: .touchUpInside)

/// eatssu 랜딩페이지 연결
let tapGesture = UITapGestureRecognizer(target: self, action: #selector(nextCreatorsImageTapped))
creatorsView.nextCreatorsImageView.addGestureRecognizer(tapGesture)
}

/// @eatssu_official 인스타그램 연결 동작
@objc private func openInstagram() {
if let url = URL(string: "https://www.instagram.com/eatssu.official/"),
UIApplication.shared.canOpenURL(url) {
UIApplication.shared.open(url, options: [:], completionHandler: nil)
}
}

/// eatssu 랜딩페이지 연결 동작
@objc private func nextCreatorsImageTapped() {
if let url = URL(string: "https://eat-ssu.notion.site/eat-ssu-landing"),
UIApplication.shared.canOpenURL(url) {
UIApplication.shared.open(url, options: [:], completionHandler: nil)
}
}

Choose a reason for hiding this comment

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

medium

URL을 여는 로직이 중복되고, URL 문자열이 하드코딩되어 있습니다. 이 로직을 별도의 private helper 메서드로 추출하고, URL은 상수(예: private enum)로 관리하면 코드가 더 간결해지고 유지보수가 용이해집니다. 또한 if let 대신 guard let을 사용하면 코드의 중첩을 줄일 수 있습니다.

    private enum URLConstants {
        static let instagram = "https://www.instagram.com/eatssu.official/"
        static let landingPage = "https://eat-ssu.notion.site/eat-ssu-landing"
    }

    private func setUpAction() {
        /// @eatssu_official 인스타그램 연결
        creatorsView.instagramButton.addTarget(self, action: #selector(openInstagram), for: .touchUpInside)

        /// eatssu 랜딩페이지 연결
        let tapGesture = UITapGestureRecognizer(target: self, action: #selector(nextCreatorsImageTapped))
        creatorsView.nextCreatorsImageView.addGestureRecognizer(tapGesture)
    }

    private func open(urlString: String) {
        guard let url = URL(string: urlString),
              UIApplication.shared.canOpenURL(url) else { return }
        UIApplication.shared.open(url, options: [:], completionHandler: nil)
    }

    /// @eatssu_official 인스타그램 연결 동작
    @objc private func openInstagram() {
        open(urlString: URLConstants.instagram)
    }

    /// eatssu 랜딩페이지 연결 동작
    @objc private func nextCreatorsImageTapped() {
        open(urlString: URLConstants.landingPage)
    }

Funital added 2 commits August 8, 2025 00:38
- gray700이 기존에 사용되어서 gray700Basic으로 정의

#304
@Funital Funital merged commit adfc011 into develop Aug 17, 2025
@Funital Funital deleted the feat/#304 branch August 17, 2025 07:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feat] 만든사람들 인스타 계정 이동 버튼 추가

3 participants