Skip to content
Merged
Show file tree
Hide file tree
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 Oct 3, 2025
f7f10b2
[#321] 리뷰페이지 진입 시, CustomTabbar hidden 처리 후 리뷰 작성 버튼 생성 및 위치를 고정시켜서 띄…
Funital Oct 3, 2025
8962b0d
[#321] 리뷰개수에 따른 차트 뷰 수정
Funital Oct 3, 2025
de50420
[#321] 리뷰 라벨 및 구분선 추가, 리뷰가 없는 경우 '-'로 대체
Funital Oct 4, 2025
ccd7cb5
[#321] 이름 옆에 메뉴명 및 rateNumberLabel 텍스트 제거
Funital Oct 4, 2025
dabe357
[#321] 좋아요 버튼 색상 변경
Funital Oct 10, 2025
69ef824
[#321] 리뷰 리포트 뷰 offset 수정
Funital Nov 9, 2025
3cd70a7
Merge branch 'develop' into feat/#321
Funital Nov 9, 2025
372b13f
Merge branch 'develop' into feat/#321
Funital Nov 15, 2025
b607c29
[#321] 충돌 문제 해결하기
Funital Nov 16, 2025
ebd4d7b
[#321] Meal, Menu requestDTO 작성
Funital Nov 16, 2025
1f3913a
[#321] mealId로 리뷰할 메뉴 띄우기
Funital Nov 16, 2025
13e747e
[#321] meal, menu list 조회 DTO 추가
Funital Nov 16, 2025
330c176
[#321] meal, menu 리뷰 조회 dto, router 작성
Funital Nov 16, 2025
1cbe62c
[#321] 메뉴, 식단 정보조회 api 연결
Funital Nov 16, 2025
2495cd6
[#321] 리뷰 작성 api 작성
Funital Nov 23, 2025
3596814
[#321] 리뷰 DTO 및 Router 수정
Funital Nov 23, 2025
6a59602
[#321] 리뷰 및 리뷰작성 api 적용 수정
Funital Nov 23, 2025
de1e34d
[#321] 리뷰 삭제 api 적용
Funital Nov 24, 2025
11ef6f4
[#321] 커스텀 다이얼로그 변경 및 탭바 숨김처리
Funital Nov 24, 2025
b9d96c8
[#321] 리뷰 작성 메뉴 조회 api 연결 수정
Funital Nov 28, 2025
6010e79
[#321] 사용하지 않은 파일 제거 및 코드 정리
Funital Nov 28, 2025
700218a
[#321] 신고하기 view 수정
Funital Nov 28, 2025
d04d653
Merge branch 'develop' into feat/#321
Funital Nov 29, 2025
f0c4376
Merge branch 'develop' into feat/#321
Funital Nov 29, 2025
63730ef
[#321] 충돌 문제 해결
Funital Nov 29, 2025
4a9814f
[#321] 코드 정리
Funital Nov 29, 2025
044c1fa
[#321] 내 리뷰도 V2로 수정
Funital Nov 29, 2025
2921c07
[#321] 태그 왼쪽 정렬되도록 수정
Funital Nov 29, 2025
19d0ac3
[#321] 리뷰 작성 중간에 나가기 오류 수정
Funital Nov 29, 2025
e3079f8
[#321] 리뷰 페이지 refresh 제거
Funital Nov 29, 2025
0516728
[#321] 리뷰 페이지 UI 높이 수정
Funital Nov 30, 2025
49976d3
[#321] 리뷰 리스트 null 처리
Funital Nov 30, 2025
1dc5a6b
[#321] 하단 탭바 숨김처리 적용 수정
Funital Nov 30, 2025
702d570
[#321] 리뷰 작성 시 이미지 nil값을 빈 배열로 처리
Funital Nov 30, 2025
f3146ac
[#321] 리뷰 태그가 화면을 넘어갈때 2줄로 표시되도록 수정
Funital Nov 30, 2025
345a08f
[#321] NetworkService 테스트 로그 제거
Funital Nov 30, 2025
0ff5406
[#321] 토스트 메시지 추가
Funital Nov 30, 2025
67b656f
[#321] 강제 언래핑 수정
Funital Dec 1, 2025
cdc8543
[#321] 동일한 MenuLike 구조체 통일시키기
Funital Dec 1, 2025
16bd2bb
[#321] 중복된 myReviewList 제거
Funital Dec 1, 2025
aa0b6c7
[#321] 제거되지 않는 myReviewList Task 제거
Funital Dec 1, 2025
cf0ec3f
[#321] Report 디렉토리명 수정
Funital Dec 1, 2025
f345afd
[#321] 리뷰 중간에 나가기 시 화면 전환오류 수정
Funital Dec 1, 2025
4f44f2e
[#321] 리뷰 점수 차트 높이 및 둥근 정도 수정
Funital Dec 20, 2025
c5f366a
[#321] 리뷰 작성 hint text font 수정
Funital Dec 20, 2025
93c4690
[#321] 리뷰 글자수 텍스트 font 수정
Funital Dec 20, 2025
6785413
[#321] 리뷰작성 사진 버튼 수정
Funital Dec 20, 2025
54ea975
[#321] 리뷰 게시 제한 수정
Funital Dec 20, 2025
c8701ec
[#321] 리뷰 메뉴 font 수정
Funital Dec 20, 2025
ce695a0
[#321] 좋아요 버튼 비율 수정
Funital Dec 20, 2025
99a59d1
[#321] 좋아요 안누른 버튼도 기본 태그로 표현
Funital Dec 20, 2025
917233c
[#321] 평점 및 차트바 중앙 정렬
Funital Dec 20, 2025
eba548f
[#321] 리뷰 작성 페이지 x버튼으로 수정
Funital Dec 20, 2025
4466f55
[#321] BaseUIView 상속으로 수정
Funital Dec 20, 2025
5ee6987
[#321] 필요없는 코드 제거
Funital Dec 20, 2025
7a1d7d4
[#321] 없어진 주석 다시 추가
Funital Dec 20, 2025
787b1b9
Merge branch 'develop' into feat/#321
Funital Dec 20, 2025
fb3d7d7
[#321] 충돌 해결하기
Funital Dec 20, 2025
e9ec5bd
[#321] 내 리뷰 데이터 변환 수정
Funital Dec 21, 2025
3b79526
[#321] 내 리뷰 페이지 수정
Funital Dec 21, 2025
20c9fdf
[#321] 내 리뷰 수정하기 수정
Funital Dec 21, 2025
c5daa67
[#321] 내 리뷰 완료 버튼 수정
Funital Dec 21, 2025
c7a4888
[#321] 수정 시, 사진 버튼 사라짐 해결
Funital Dec 21, 2025
ca60fed
[#321] 데이터 변환 오류 수정
Funital Dec 27, 2025
72eac01
[#321] ReviewTableCell 레이아웃 경고 수정
Funital Dec 27, 2025
fd03084
[#321] MenuLikeCell 레이아웃 오류 수정
Funital Dec 27, 2025
e22870e
[#321] 주석 및 코드 정리하기
Funital Dec 27, 2025
31263d2
[#321] 작성 중단 alert text 수정
Funital Dec 27, 2025
991fec3
[#321] 작성 후 ReviewVC의 api 새로고침
Funital Dec 27, 2025
d49623c
[#321] 신고하기 요청 오류 수정
Funital Dec 27, 2025
bdb626e
[#321] ReportVC 레이아웃 오류 수정
Funital Dec 27, 2025
f7500bf
[#321] 고정 메뉴 리뷰의 태그없는 오류 수정 및 쉼표로 메뉴 구분하기
Funital Dec 30, 2025
ddb0cd6
[#321] 홈 메뉴 쉼표 구분으로 수정
Funital Dec 30, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -2,21 +2,12 @@
// BeforeSelectedImageDTO.swift
// EAT-SSU
//
// Created by 박윤빈 on 3/7/24.
// Created by 한금준 on 28/11/25.
//

import Foundation

struct BeforeSelectedImageDTO: Codable {
let mainRating: Int
let amountRating: Int?
let tasteRating: Int?
let content: String

init(mainRating: Int, amountRating: Int?, tasteRating: Int?, content: String) {
self.mainRating = mainRating
self.amountRating = amountRating
self.tasteRating = tasteRating
self.content = content
}
}

This file was deleted.

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 EATSSU/App/Sources/Data/Network/DTO/Review/MenuInfoResponse.swift

This file was deleted.

This file was deleted.

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 EATSSU/App/Sources/Data/Network/DTO/Review/NewReviewListResponse.swift
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
}

This file was deleted.

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
}
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
}

This file was deleted.

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
}

This file was deleted.

Loading