fix(profile): 프로필 소셜 URL 필드를 신규 명세로 정리한다
This commit is contained in:
@@ -23,8 +23,9 @@ final class ProfileUpdateViewModel: ObservableObject {
|
||||
@Published var nickname = ""
|
||||
@Published var youtubeUrl = ""
|
||||
@Published var instagramUrl = ""
|
||||
@Published var websiteUrl = ""
|
||||
@Published var blogUrl = ""
|
||||
@Published var kakaoOpenChatUrl = ""
|
||||
@Published var fancimmUrl = ""
|
||||
@Published var xUrl = ""
|
||||
@Published var gender: Gender = .NONE
|
||||
@Published var introduce = ""
|
||||
|
||||
@@ -75,8 +76,9 @@ final class ProfileUpdateViewModel: ObservableObject {
|
||||
self.nickname = data.nickname
|
||||
self.youtubeUrl = data.youtubeUrl ?? ""
|
||||
self.instagramUrl = data.instagramUrl ?? ""
|
||||
self.blogUrl = data.blogUrl ?? ""
|
||||
self.websiteUrl = data.websiteUrl ?? ""
|
||||
self.kakaoOpenChatUrl = data.kakaoOpenChatUrl ?? ""
|
||||
self.fancimmUrl = data.fancimmUrl ?? ""
|
||||
self.xUrl = preferredXUrl(xUrl: data.xUrl, xurl: data.xurl)
|
||||
self.introduce = data.introduce
|
||||
self.gender = data.gender
|
||||
self.tags.append(contentsOf: data.tags)
|
||||
@@ -100,11 +102,18 @@ final class ProfileUpdateViewModel: ObservableObject {
|
||||
}
|
||||
|
||||
func updateProfile() {
|
||||
let originalYouTubeUrl = profileResponse!.youtubeUrl ?? ""
|
||||
let originalInstagramUrl = profileResponse!.instagramUrl ?? ""
|
||||
let originalKakaoOpenChatUrl = profileResponse!.kakaoOpenChatUrl ?? ""
|
||||
let originalFancimmUrl = profileResponse!.fancimmUrl ?? ""
|
||||
let originalXUrl = preferredXUrl(xUrl: profileResponse!.xUrl, xurl: profileResponse!.xurl)
|
||||
|
||||
if profileResponse!.nickname != nickname ||
|
||||
profileResponse!.youtubeUrl != youtubeUrl ||
|
||||
profileResponse!.instagramUrl != instagramUrl ||
|
||||
profileResponse!.blogUrl != blogUrl ||
|
||||
profileResponse!.websiteUrl != websiteUrl ||
|
||||
originalYouTubeUrl != youtubeUrl ||
|
||||
originalInstagramUrl != instagramUrl ||
|
||||
originalKakaoOpenChatUrl != kakaoOpenChatUrl ||
|
||||
originalFancimmUrl != fancimmUrl ||
|
||||
originalXUrl != xUrl ||
|
||||
profileResponse!.gender != gender ||
|
||||
profileResponse!.introduce != introduce ||
|
||||
!insertTags.isEmpty ||
|
||||
@@ -115,10 +124,11 @@ final class ProfileUpdateViewModel: ObservableObject {
|
||||
nickname: profileResponse!.nickname != nickname ? nickname : nil,
|
||||
gender: profileResponse!.gender != gender ? gender : nil,
|
||||
introduce: profileResponse!.introduce != introduce && introduce.trimmingCharacters(in: .whitespacesAndNewlines) != placeholder ? introduce : nil,
|
||||
youtubeUrl: profileResponse!.youtubeUrl != youtubeUrl ? youtubeUrl : nil,
|
||||
instagramUrl: profileResponse!.instagramUrl != instagramUrl ? instagramUrl : nil,
|
||||
websiteUrl: profileResponse!.websiteUrl != websiteUrl ? websiteUrl : nil,
|
||||
blogUrl: profileResponse!.blogUrl != blogUrl ? blogUrl : nil,
|
||||
youtubeUrl: originalYouTubeUrl != youtubeUrl ? youtubeUrl : nil,
|
||||
instagramUrl: originalInstagramUrl != instagramUrl ? instagramUrl : nil,
|
||||
fancimmUrl: originalFancimmUrl != fancimmUrl ? fancimmUrl : nil,
|
||||
xUrl: originalXUrl != xUrl ? xUrl : nil,
|
||||
kakaoOpenChatUrl: originalKakaoOpenChatUrl != kakaoOpenChatUrl ? kakaoOpenChatUrl : nil,
|
||||
insertTags: !insertTags.isEmpty ? insertTags : nil,
|
||||
removeTags: !removeTags.isEmpty ? removeTags : nil
|
||||
)
|
||||
@@ -327,4 +337,18 @@ final class ProfileUpdateViewModel: ObservableObject {
|
||||
let predicate = NSPredicate(format:"SELF MATCHES %@", passwordRegEx)
|
||||
return predicate.evaluate(with: newPassword)
|
||||
}
|
||||
|
||||
private func preferredXUrl(xUrl: String?, xurl: String?) -> String {
|
||||
if let xUrl,
|
||||
!xUrl.trimmingCharacters(in: .whitespacesAndNewlines).isEmpty {
|
||||
return xUrl
|
||||
}
|
||||
|
||||
if let xurl,
|
||||
!xurl.trimmingCharacters(in: .whitespacesAndNewlines).isEmpty {
|
||||
return xurl
|
||||
}
|
||||
|
||||
return ""
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user