Skip to content

Conversation

@Hrepay
Copy link
Member

@Hrepay Hrepay commented Nov 25, 2025

#️⃣ 관련 이슈

Resolved #360

💡작업 내용

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

핵심 변경 사항

  • 데이터 구조 리팩토링 ([String] → [[String]])
    • 위젯 타임라인과 뷰에서 사용하는 메뉴 데이터 구조를 기존의 1차원 배열에서 2차원 배열로 변경했습니다.
    • 이를 통해 메인 메뉴와 반찬 등 연관된 메뉴 아이템을 하나의 그룹으로 묶어서 관리할 수 있게 되었습니다.

세부 업데이트 내역

  • Core Data 모델 수정
    • ESEntry 모델의 menus 속성 타입과 초기화(Initializer) 구문을 새로운 구조에 맞게 수정했습니다.
    • DevTimelineProvider와 ESTimelineProvider의 Mock 데이터, 로딩/에러 상태 데이터, Fetch 로직을 모두 [[String]] 타입을 처리하도록 업데이트했습니다.

위젯 뷰(View) 로직 개선

  • MediumNormalView와 SmallNormalView에서 메뉴 데이터를 표시하는 방식을 변경했습니다.
  • 각 메뉴 그룹(배열)을 순회하며, 내부 아이템들을 " + " 문자열로 연결하여 한 줄로 표시하도록 수정했습니다 (예: 메인 + 반찬).

네트워크 및 기타

  • ESTimelineProvider의 네트워크 Fetch 로직을 수정하여 2차원 배열 형태의 메뉴 데이터를 반환하도록 했습니다.
  • 새로운 데이터 구조에 맞춰 주석(Comments)과 프리뷰(Preview) 코드를 정리했습니다.
image image image image

💬리뷰 요구사항(선택)

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

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

- 메뉴 하나일 때는 +로 연결
- 메뉴가 여러개일 때는 +로 연결하고 여백주기
- 메뉴를 받는 [String]을 [[String]]으로 변경
- Normal, Small 위젯 로직 수정
- 예시 메뉴 변경
@Hrepay Hrepay requested a review from Funital November 25, 2025 10:11
@Hrepay Hrepay self-assigned this Nov 25, 2025
@gemini-code-assist
Copy link

Summary of Changes

Hello @Hrepay, 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!

이 PR은 위젯 UI 버그를 해결하기 위해 메뉴 데이터 관리 방식을 개선합니다. 기존의 단일 배열 메뉴 구조를 2차원 배열로 변경하여, 메인 메뉴와 반찬 같은 연관된 항목들을 논리적으로 그룹화할 수 있게 되었습니다. 이로 인해 위젯에 메뉴가 더 명확하고 구조적으로 표시되며, 데이터 처리 로직의 일관성이 향상됩니다.

Highlights

  • 데이터 구조 리팩토링: 위젯 타임라인과 뷰에서 사용되는 메뉴 데이터 구조를 기존의 1차원 배열([String])에서 2차원 배열([[String]])로 변경하여 메인 메뉴와 반찬 등 연관된 메뉴 아이템을 하나의 그룹으로 묶어 관리할 수 있게 되었습니다.
  • Core Data 모델 및 프로바이더 업데이트: ESEntry 모델의 menus 속성 타입과 초기화 구문이 새로운 2차원 배열 구조에 맞춰 수정되었으며, DevTimelineProvider와 ESTimelineProvider의 목업 데이터, 로딩/에러 상태 데이터, Fetch 로직도 모두 [[String]] 타입을 처리하도록 업데이트되었습니다.
  • 위젯 뷰 로직 개선: MediumNormalView와 SmallNormalView에서 메뉴 데이터를 표시하는 방식이 변경되어, 각 메뉴 그룹(배열)을 순회하며 내부 아이템들을 ' + ' 문자열로 연결하여 한 줄로 표시하도록 수정되었습니다.
  • 네트워크 Fetch 로직 수정: ESTimelineProvider의 네트워크 Fetch 로직이 2차원 배열 형태의 메뉴 데이터를 반환하도록 수정되었으며, 새로운 데이터 구조에 맞춰 주석과 프리뷰 코드가 정리되었습니다.
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 by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

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 pull request 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. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

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.


데이터 배열, 이제는 겹겹이 쌓여, 메뉴는 더 선명히.

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은 위젯에서 메뉴 데이터를 표시하는 방식을 개선하기 위해 데이터 구조를 [String]에서 [[String]]으로 리팩토링하는 중요한 변경을 포함하고 있습니다. 전반적으로 코드 변경 사항이 명확하고 PR의 목적에 잘 부합합니다. 몇 가지 중복 코드 제거, 잠재적 런타임 오류 방지, 그리고 프로바이더 간의 로직 일관성 확보를 위한 제안 사항을 리뷰에 담았습니다. 확인 부탁드립니다.

Copy link
Collaborator

@Funital Funital left a comment

Choose a reason for hiding this comment

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

2차원 배열로 하나의 그룹을 만드니까 보기 더 편해졌네요

@Hrepay Hrepay merged commit 66336ca into develop Nov 27, 2025
@Hrepay Hrepay deleted the fix/#360 branch November 27, 2025 06:03
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.

[Fix] 위젯 UI 버그 수정

3 participants