-
Notifications
You must be signed in to change notification settings - Fork 1
[#304] 새로운 UI의 만든 사람들 페이지 수정 및 링크 연결 #305
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
Conversation
- 인스타 계정 연결 일부 완료 #304
There was a problem hiding this 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
-
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. ↩
There was a problem hiding this 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) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
저번 PR에서도 만든사람들 관련해서 색 언급이 나왔었는데, 동일하게 계속 가져갈 디자인인 것 같아서 등록하는 것이 좋지 않을까 생각합니다.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
색상 등록해두었습니다.
| 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) | ||
| } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| 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) | ||
| } | ||
| } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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)
}- gray700이 기존에 사용되어서 gray700Basic으로 정의 #304
#️⃣ 관련 이슈
Resolved #304
💡작업 내용
💬리뷰 요구사항(선택)