fix(content): 성인 콘텐츠 설정 동기화와 국가별 인증 분기를 적용한다
This commit is contained in:
@@ -472,11 +472,29 @@ struct HomeView: View {
|
||||
AppState.shared.setAppStep(step: .login)
|
||||
return
|
||||
}
|
||||
if isAdult && auth == false {
|
||||
pendingAction = { openLiveDetail(roomId: roomId) }
|
||||
isShowAuthConfirmView = true
|
||||
return
|
||||
|
||||
if isAdult {
|
||||
let normalizedCountryCode = UserDefaults
|
||||
.string(forKey: .countryCode)
|
||||
.trimmingCharacters(in: .whitespacesAndNewlines)
|
||||
.uppercased()
|
||||
let isKoreanCountry = normalizedCountryCode.isEmpty || normalizedCountryCode == "KR"
|
||||
|
||||
if isKoreanCountry && auth == false {
|
||||
pendingAction = { openLiveDetail(roomId: roomId) }
|
||||
isShowAuthConfirmView = true
|
||||
return
|
||||
}
|
||||
|
||||
if !UserDefaults.isAdultContentVisible() {
|
||||
pendingAction = nil
|
||||
AppState.shared.errorMessage = I18n.Settings.adultContentEnableGuide
|
||||
AppState.shared.isShowErrorPopup = true
|
||||
AppState.shared.setAppStep(step: .contentViewSettings)
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
openLiveDetail(roomId: roomId)
|
||||
}
|
||||
|
||||
|
||||
@@ -59,6 +59,9 @@ final class HomeViewModel: ObservableObject {
|
||||
UserDefaults.set(data.isAuth, forKey: .auth)
|
||||
UserDefaults.set(data.role.rawValue, forKey: .role)
|
||||
UserDefaults.set(data.auditionNotice ?? false, forKey: .isAuditionNotification)
|
||||
UserDefaults.set(data.countryCode, forKey: .countryCode)
|
||||
UserDefaults.set(data.isAdultContentVisible, forKey: .isAdultContentVisible)
|
||||
UserDefaults.set(data.contentType, forKey: .contentPreference)
|
||||
if data.followingChannelLiveNotice == nil && data.followingChannelUploadContentNotice == nil && data.messageNotice == nil {
|
||||
AppState.shared.isShowNotificationSettingsDialog = true
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user