-
Notifications
You must be signed in to change notification settings - Fork 1
[#321] 리뷰 v2 UI 제작 및 api 연결하기 #364
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
Merged
Changes from all commits
Commits
Show all changes
74 commits
Select commit
Hold shift + click to select a range
48aa978
[#321] develop-3.0.0에 작성한 수정된 리뷰v2 UI 작업 옮기기
Funital f7f10b2
[#321] 리뷰페이지 진입 시, CustomTabbar hidden 처리 후 리뷰 작성 버튼 생성 및 위치를 고정시켜서 띄…
Funital 8962b0d
[#321] 리뷰개수에 따른 차트 뷰 수정
Funital de50420
[#321] 리뷰 라벨 및 구분선 추가, 리뷰가 없는 경우 '-'로 대체
Funital ccd7cb5
[#321] 이름 옆에 메뉴명 및 rateNumberLabel 텍스트 제거
Funital dabe357
[#321] 좋아요 버튼 색상 변경
Funital 69ef824
[#321] 리뷰 리포트 뷰 offset 수정
Funital 3cd70a7
Merge branch 'develop' into feat/#321
Funital 372b13f
Merge branch 'develop' into feat/#321
Funital b607c29
[#321] 충돌 문제 해결하기
Funital ebd4d7b
[#321] Meal, Menu requestDTO 작성
Funital 1f3913a
[#321] mealId로 리뷰할 메뉴 띄우기
Funital 13e747e
[#321] meal, menu list 조회 DTO 추가
Funital 330c176
[#321] meal, menu 리뷰 조회 dto, router 작성
Funital 1cbe62c
[#321] 메뉴, 식단 정보조회 api 연결
Funital 2495cd6
[#321] 리뷰 작성 api 작성
Funital 3596814
[#321] 리뷰 DTO 및 Router 수정
Funital 6a59602
[#321] 리뷰 및 리뷰작성 api 적용 수정
Funital de1e34d
[#321] 리뷰 삭제 api 적용
Funital 11ef6f4
[#321] 커스텀 다이얼로그 변경 및 탭바 숨김처리
Funital b9d96c8
[#321] 리뷰 작성 메뉴 조회 api 연결 수정
Funital 6010e79
[#321] 사용하지 않은 파일 제거 및 코드 정리
Funital 700218a
[#321] 신고하기 view 수정
Funital d04d653
Merge branch 'develop' into feat/#321
Funital f0c4376
Merge branch 'develop' into feat/#321
Funital 63730ef
[#321] 충돌 문제 해결
Funital 4a9814f
[#321] 코드 정리
Funital 044c1fa
[#321] 내 리뷰도 V2로 수정
Funital 2921c07
[#321] 태그 왼쪽 정렬되도록 수정
Funital 19d0ac3
[#321] 리뷰 작성 중간에 나가기 오류 수정
Funital e3079f8
[#321] 리뷰 페이지 refresh 제거
Funital 0516728
[#321] 리뷰 페이지 UI 높이 수정
Funital 49976d3
[#321] 리뷰 리스트 null 처리
Funital 1dc5a6b
[#321] 하단 탭바 숨김처리 적용 수정
Funital 702d570
[#321] 리뷰 작성 시 이미지 nil값을 빈 배열로 처리
Funital f3146ac
[#321] 리뷰 태그가 화면을 넘어갈때 2줄로 표시되도록 수정
Funital 345a08f
[#321] NetworkService 테스트 로그 제거
Funital 0ff5406
[#321] 토스트 메시지 추가
Funital 67b656f
[#321] 강제 언래핑 수정
Funital cdc8543
[#321] 동일한 MenuLike 구조체 통일시키기
Funital 16bd2bb
[#321] 중복된 myReviewList 제거
Funital aa0b6c7
[#321] 제거되지 않는 myReviewList Task 제거
Funital cf0ec3f
[#321] Report 디렉토리명 수정
Funital f345afd
[#321] 리뷰 중간에 나가기 시 화면 전환오류 수정
Funital 4f44f2e
[#321] 리뷰 점수 차트 높이 및 둥근 정도 수정
Funital c5f366a
[#321] 리뷰 작성 hint text font 수정
Funital 93c4690
[#321] 리뷰 글자수 텍스트 font 수정
Funital 6785413
[#321] 리뷰작성 사진 버튼 수정
Funital 54ea975
[#321] 리뷰 게시 제한 수정
Funital c8701ec
[#321] 리뷰 메뉴 font 수정
Funital ce695a0
[#321] 좋아요 버튼 비율 수정
Funital 99a59d1
[#321] 좋아요 안누른 버튼도 기본 태그로 표현
Funital 917233c
[#321] 평점 및 차트바 중앙 정렬
Funital eba548f
[#321] 리뷰 작성 페이지 x버튼으로 수정
Funital 4466f55
[#321] BaseUIView 상속으로 수정
Funital 5ee6987
[#321] 필요없는 코드 제거
Funital 7a1d7d4
[#321] 없어진 주석 다시 추가
Funital 787b1b9
Merge branch 'develop' into feat/#321
Funital fb3d7d7
[#321] 충돌 해결하기
Funital e9ec5bd
[#321] 내 리뷰 데이터 변환 수정
Funital 3b79526
[#321] 내 리뷰 페이지 수정
Funital 20c9fdf
[#321] 내 리뷰 수정하기 수정
Funital c5daa67
[#321] 내 리뷰 완료 버튼 수정
Funital c7a4888
[#321] 수정 시, 사진 버튼 사라짐 해결
Funital ca60fed
[#321] 데이터 변환 오류 수정
Funital 72eac01
[#321] ReviewTableCell 레이아웃 경고 수정
Funital fd03084
[#321] MenuLikeCell 레이아웃 오류 수정
Funital e22870e
[#321] 주석 및 코드 정리하기
Funital 31263d2
[#321] 작성 중단 alert text 수정
Funital 991fec3
[#321] 작성 후 ReviewVC의 api 새로고침
Funital d49623c
[#321] 신고하기 요청 오류 수정
Funital bdb626e
[#321] ReportVC 레이아웃 오류 수정
Funital f7500bf
[#321] 고정 메뉴 리뷰의 태그없는 오류 수정 및 쉼표로 메뉴 구분하기
Funital ddb0cd6
[#321] 홈 메뉴 쉼표 구분으로 수정
Funital File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
17 changes: 0 additions & 17 deletions
17
EATSSU/App/Sources/Data/Network/DTO/Review/FixedReviewRateResponse.swift
This file was deleted.
Oops, something went wrong.
14 changes: 14 additions & 0 deletions
14
EATSSU/App/Sources/Data/Network/DTO/Review/FixedReviewRequestDTO.swift
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,14 @@ | ||
| // | ||
| // FixedReviewRequestDTO.swift | ||
| // EATSSU | ||
| // | ||
| // Created by 한금준 on 11/24/25. | ||
| // | ||
|
|
||
| import Foundation | ||
|
|
||
| struct FixedReviewRequestDTO: Encodable { | ||
| let rating: Int | ||
| let menuLikes: [MenuLike] | ||
| let content: String | ||
| } |
10 changes: 0 additions & 10 deletions
10
EATSSU/App/Sources/Data/Network/DTO/Review/MenuInfoResponse.swift
This file was deleted.
Oops, something went wrong.
23 changes: 0 additions & 23 deletions
23
EATSSU/App/Sources/Data/Network/DTO/Review/MenuReviewResponse.swift
This file was deleted.
Oops, something went wrong.
36 changes: 36 additions & 0 deletions
36
EATSSU/App/Sources/Data/Network/DTO/Review/MyReviewResponseDTO.swift
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,36 @@ | ||
| // | ||
| // MyReviewResponseDTO.swift | ||
| // EATSSU | ||
| // | ||
| // Created by 한금준 on 11/29/25. | ||
| // | ||
|
|
||
| import Foundation | ||
|
|
||
| // MARK: - Review List DTO | ||
|
|
||
| /// 리뷰 리스트 데이터 컨테이너 (NetworkService의 result로 전달됨) | ||
| struct MyReviewResponseDTO: Codable { | ||
| let numberOfElements: Int | ||
| let hasNext: Bool | ||
| let dataList: [MyReviewListItem] | ||
| } | ||
|
|
||
| // MARK: - Review Item DTO | ||
|
|
||
| /// 개별 리뷰 아이템 구조 | ||
| struct MyReviewListItem: Codable { | ||
| let reviewId: Int | ||
| let rating: Int? | ||
| let writtenAt: String | ||
| let content: String? | ||
| let imageUrls: [String] | ||
| let menuList: [ReviewMenu] | ||
| } | ||
|
|
||
| /// 리뷰에 포함된 개별 메뉴 구조 | ||
| struct ReviewMenu: Codable { | ||
| let id: Int | ||
| let name: String | ||
| let isLike: Bool | ||
| } |
100 changes: 100 additions & 0 deletions
100
EATSSU/App/Sources/Data/Network/DTO/Review/NewReviewListResponse.swift
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,100 @@ | ||
| // | ||
| // NewReviewListResponse.swift | ||
| // EATSSU | ||
| // | ||
| // Created by 한금준 on 11/16/25. | ||
| // | ||
|
|
||
| /// 리뷰 V2 리스트 조회 API | ||
| struct NewReviewListResponse: Codable { | ||
| let numberOfElements: Int? | ||
| let hasNext: Bool | ||
| let dataList: [ReviewListItem] | ||
| } | ||
|
|
||
| struct ReviewListItem: Codable { | ||
| let reviewId: Int | ||
| var menu: [ReviewMenuInfo]? // 항상 배열로 저장 | ||
| let writerId: Int? | ||
| let isWriter: Bool | ||
| let writerNickname: String | ||
| let rating: Double | ||
| let writtenAt: String | ||
| let content: String? | ||
| /// 유효한 이미지 URL 문자열만 담는 배열 (null / 빈 문자열은 필터링) | ||
| let imageUrls: [String] | ||
|
|
||
| enum CodingKeys: String, CodingKey { | ||
| case reviewId | ||
| case menu | ||
| case menuList | ||
| case writerId | ||
| case isWriter | ||
| case writerNickname | ||
| case rating | ||
| case writtenAt | ||
| case content | ||
| case imageUrls | ||
| } | ||
|
|
||
| init(from decoder: Decoder) throws { | ||
| let container = try decoder.container(keyedBy: CodingKeys.self) | ||
|
|
||
| reviewId = try container.decode(Int.self, forKey: .reviewId) | ||
| writerId = try container.decodeIfPresent(Int.self, forKey: .writerId) | ||
| isWriter = try container.decode(Bool.self, forKey: .isWriter) | ||
| writerNickname = try container.decode(String.self, forKey: .writerNickname) | ||
| rating = try container.decode(Double.self, forKey: .rating) | ||
| writtenAt = try container.decode(String.self, forKey: .writtenAt) | ||
| content = try container.decodeIfPresent(String.self, forKey: .content) | ||
|
|
||
| // menu 처리: Fixed 메뉴(객체)와 Variable 메뉴(배열) 모두 처리 | ||
| if let menuArray = try? container.decodeIfPresent([ReviewMenuInfo].self, forKey: .menuList) { | ||
| // Variable 메뉴: menuList가 배열로 들어오는 경우 | ||
| menu = menuArray | ||
| } else if let singleMenu = try? container.decodeIfPresent(ReviewMenuInfo.self, forKey: .menu) { | ||
| // Fixed 메뉴: menu가 단일 객체로 들어오는 경우 -> 배열로 변환 | ||
| menu = [singleMenu] | ||
| } else { | ||
| menu = nil | ||
| } | ||
|
|
||
| // imageUrls: [String?] 형태로 받아서 nil / 빈 문자열을 제거해 [String]으로 정제 | ||
| let rawImageUrls = try container.decodeIfPresent([String?].self, forKey: .imageUrls) ?? [] | ||
| imageUrls = rawImageUrls.compactMap { url in | ||
| guard let url, url.isEmpty == false else { return nil } | ||
| return url | ||
| } | ||
| } | ||
|
|
||
| func encode(to encoder: Encoder) throws { | ||
| var container = encoder.container(keyedBy: CodingKeys.self) | ||
|
|
||
| try container.encode(reviewId, forKey: .reviewId) | ||
| try container.encodeIfPresent(menu, forKey: .menuList) | ||
| try container.encodeIfPresent(writerId, forKey: .writerId) | ||
| try container.encode(isWriter, forKey: .isWriter) | ||
| try container.encode(writerNickname, forKey: .writerNickname) | ||
| try container.encode(rating, forKey: .rating) | ||
| try container.encode(writtenAt, forKey: .writtenAt) | ||
| try container.encodeIfPresent(content, forKey: .content) | ||
| try container.encode(imageUrls, forKey: .imageUrls) | ||
| } | ||
| } | ||
|
|
||
| struct ReviewMenuInfo: Codable { | ||
| let menuId: Int | ||
| let name: String | ||
| let isLike: Bool | ||
|
|
||
| enum CodingKeys: String, CodingKey { | ||
| case menuId = "id" | ||
| case name | ||
| case isLike | ||
| } | ||
| } | ||
|
|
||
| struct Tag: Codable { | ||
| let name: String | ||
| let isLiked: Bool | ||
| } |
36 changes: 0 additions & 36 deletions
36
EATSSU/App/Sources/Data/Network/DTO/Review/ReviewListResponse.swift
This file was deleted.
Oops, something went wrong.
28 changes: 28 additions & 0 deletions
28
EATSSU/App/Sources/Data/Network/DTO/Review/ReviewMealStatisticsResponse.swift
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,28 @@ | ||
| // | ||
| // ReviewMealStatisticsResponse.swift | ||
| // EATSSU | ||
| // | ||
| // Created by 한금준 on 11/16/25. | ||
| // | ||
|
|
||
| // 리뷰V2 api | ||
| struct ReviewMealStatisticsResponse: Codable { | ||
| let menuList: [MenuInfo] | ||
| let totalReviewCount: Int | ||
| let rating: Double? | ||
| let likeCount: Int? | ||
| let reviewRatingCount: ReviewRatingCount | ||
| } | ||
|
|
||
| struct MenuInfo: Codable { | ||
| let id: Int | ||
| let name: String | ||
| } | ||
|
|
||
| struct ReviewMealRatingCount: Codable { | ||
| let oneStarCount: Int | ||
| let twoStarCount: Int | ||
| let threeStarCount: Int | ||
| let fourStarCount: Int | ||
| let fiveStarCount: Int | ||
| } | ||
23 changes: 23 additions & 0 deletions
23
EATSSU/App/Sources/Data/Network/DTO/Review/ReviewMenuStatisticsResponse.swift
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,23 @@ | ||
| // | ||
| // ReviewMenuStatistics.swift | ||
| // EATSSU | ||
| // | ||
| // Created by 한금준 on 11/16/25. | ||
| // | ||
|
|
||
| // 리뷰V2 api | ||
| struct ReviewMenuStatisticsResponse: Codable { | ||
| let menuName: String | ||
| let totalReviewCount: Int | ||
| let rating: Double? | ||
| let likeCount: Int? | ||
| let reviewRatingCount: ReviewRatingCount | ||
| } | ||
|
|
||
| struct ReviewRatingCount: Codable { | ||
| let oneStarCount: Int | ||
| let twoStarCount: Int | ||
| let threeStarCount: Int | ||
| let fourStarCount: Int | ||
| let fiveStarCount: Int | ||
| } |
25 changes: 0 additions & 25 deletions
25
EATSSU/App/Sources/Data/Network/DTO/Review/ReviewRateResponse.swift
This file was deleted.
Oops, something went wrong.
16 changes: 16 additions & 0 deletions
16
EATSSU/App/Sources/Data/Network/DTO/Review/ReviewValidMenuResponse.swift
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,16 @@ | ||
| // | ||
| // ReviewValidMenuResponse.swift | ||
| // EATSSU | ||
| // | ||
| // Created by 한금준 on 11/16/25. | ||
| // | ||
|
|
||
| // 리뷰V2 식단 id를 통해 리뷰 작성할 수 있는 메뉴들 조회 | ||
| struct ReviewValidMenusResponse: Codable { | ||
| let menuList: [ReviewValidMenu] | ||
| } | ||
|
|
||
| struct ReviewValidMenu: Codable { | ||
| let menuId: Int | ||
| let name: String | ||
| } |
23 changes: 0 additions & 23 deletions
23
EATSSU/App/Sources/Data/Network/DTO/Review/TotalReviewResponse.swift
This file was deleted.
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.