fix: 메인 홈 - 인기 크리에이터

- 팔로우 수 제거
- 팔로우 버튼 추가
- 배경: 그라데이션 제거, 하나의 색으로 설정
This commit is contained in:
Yu Sung
2025-07-21 23:10:24 +09:00
parent 23053b4223
commit 7318d7fcda
5 changed files with 94 additions and 40 deletions

View File

@@ -14,6 +14,7 @@ enum SeriesPublishedDaysOfWeek: String, Encodable {
final class HomeTabViewModel: ObservableObject {
private let repository = HomeTabRepository()
private let userRepository = UserRepository()
private var subscription = Set<AnyCancellable>()
@Published var errorMessage = ""
@@ -160,4 +161,40 @@ final class HomeTabViewModel: ObservableObject {
}
.store(in: &subscription)
}
func creatorFollow(creatorId: Int, follow: Bool = true, notify: Bool = true) {
isLoading = true
userRepository.creatorFollow(creatorId: creatorId, follow: follow, notify: notify)
.sink { result in
switch result {
case .finished:
DEBUG_LOG("finish")
case .failure(let error):
ERROR_LOG(error.localizedDescription)
}
} receiveValue: { [unowned self] response in
self.isLoading = false
let responseData = response.data
do {
let jsonDecoder = JSONDecoder()
let decoded = try jsonDecoder.decode(ApiResponseWithoutData.self, from: responseData)
if !decoded.success {
if let message = decoded.message {
self.errorMessage = message
} else {
self.errorMessage = "다시 시도해 주세요.\n계속 같은 문제가 발생할 경우 고객센터로 문의 주시기 바랍니다."
}
self.isShowPopup = true
}
} catch {
self.errorMessage = "다시 시도해 주세요.\n계속 같은 문제가 발생할 경우 고객센터로 문의 주시기 바랍니다."
self.isShowPopup = true
}
}
.store(in: &subscription)
}
}