Compare commits

..

No commits in common. "6d7e3a40e7f4ff92346bc7cdba7b9518ee4843bb" and "50e5f526a3bf3f417ab40c5a684d30ae435b7e2b" have entirely different histories.

11 changed files with 113 additions and 73 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 MiB

After

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 21 KiB

View File

@ -0,0 +1,21 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "splash_title.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

View File

@ -103,7 +103,7 @@ struct SeriesDetailIntroductionView: View {
.foregroundColor(Color.white)
}
Text(seriesDetail.publishedDaysOfWeek == "랜덤" ? seriesDetail.publishedDaysOfWeek : "\(seriesDetail.publishedDaysOfWeek)")
Text(seriesDetail.publishedDaysOfWeek == "랜덤" ? seriesDetail.publishedDaysOfWeek : "\(seriesDetail.publishedDaysOfWeek)요일")
.font(.custom(Font.medium.rawValue, size: 14.7))
.foregroundColor(Color.white)

View File

@ -28,7 +28,7 @@ struct LiveRoomProfileItemTitleView: View {
}
if let totalCount = totalCount {
Text("/\(totalCount > 5 ? 5 : totalCount - 1)")
Text("/\(totalCount > 4 ? 4 : totalCount - 1)")
.font(.custom(Font.medium.rawValue, size: 13))
.foregroundColor(Color.graybb)
}

View File

@ -67,7 +67,6 @@ struct LiveRoomInfoCreatorView: View {
Text(creatorNickname)
.font(.custom(Font.medium.rawValue, size: 12))
.foregroundColor(.gray77)
.lineLimit(1)
if isShowFollowingButton {
Image(isFollowing ? "btn_following" : "btn_follow")
@ -76,8 +75,8 @@ struct LiveRoomInfoCreatorView: View {
}
}
}
.padding(8)
.frame(width: screenSize().width / 2.5, alignment: .leading)
.padding(.vertical, 8)
.padding(.horizontal, 5.3)
.overlay(
RoundedRectangle(cornerRadius: 5.3)
.stroke(Color.graybb, lineWidth: 1)
@ -88,7 +87,7 @@ struct LiveRoomInfoCreatorView: View {
struct LiveRoomInfoCreatorView_Previews: PreviewProvider {
static var previews: some View {
LiveRoomInfoCreatorView(
roomTitle: "qwer",
roomTitle: "오늘 라이브방송은 OOO 입니다.",
creatorNickname: "도화",
creatorProfileUrl: "https://cf.sodalive.net/profile/26/26-profile-ddf78b4d-0300-4c50-9c84-5d8a95fd5fe2-4892-1705256364320",
isMute: false,

View File

@ -108,28 +108,23 @@ struct LiveRoomInfoGuestView: View {
onClickFollow: { onClickFollow(isFollowing) },
onClickProfile: { onClickProfile(creatorId) }
)
.frame(width: 180, alignment: .leading)
Spacer()
ScrollView(.horizontal, showsIndicators: false) {
HStack(spacing: 8) {
ForEach(0..<speakerList.count, id: \.self) { index in
let speaker = speakerList[index]
ForEach(0..<speakerList.count, id: \.self) { index in
let speaker = speakerList[index]
if speaker.id != UInt(creatorId) {
LiveRoomInfoSpeakerView(
nickname: speaker.nickname,
profileUrl: speaker.profileImage,
isMute: muteSpeakerList.contains(UInt(speaker.id)),
isActiveSpeaker: activeSpeakerList.contains(UInt(speaker.id)),
onClickProfile: { onClickProfile(speaker.id) }
)
}
}
if speaker.id != UInt(creatorId) {
LiveRoomInfoSpeakerView(
nickname: speaker.nickname,
profileUrl: speaker.profileImage,
isMute: muteSpeakerList.contains(UInt(speaker.id)),
isActiveSpeaker: activeSpeakerList.contains(UInt(speaker.id)),
onClickProfile: { onClickProfile(speaker.id) }
)
}
.rotationEffect(Angle(degrees: 180))
}
.rotationEffect(Angle(degrees: 180))
}
HStack(spacing: 5.3) {
@ -189,19 +184,13 @@ struct LiveRoomInfoGuestView: View {
.padding(.horizontal, 13.3)
.padding(.top, 16)
.background(Color.gray22)
.onAppear {
UIScrollView.appearance().bounces = false
}
.onDisappear {
UIScrollView.appearance().bounces = true
}
}
}
struct LiveRoomInfoGuestView_Previews: PreviewProvider {
static var previews: some View {
LiveRoomInfoGuestView(
title: "qwer",
title: "오늘의 라이브방송은 OOO입니다.",
totalDonationCan: 123456,
isOnBg: true,
isOnNotice: false,
@ -229,7 +218,25 @@ struct LiveRoomInfoGuestView_Previews: PreviewProvider {
nickname: "LUNA",
profileImage: "https://cf.sodalive.net/profile/4679/4679-profile-41e83399-234e-4541-8591-f961a025cfaa-5819-1699536915310",
role: .SPEAKER
)
),
LiveRoomMember(
id: 4,
nickname: "도화",
profileImage: "https://cf.sodalive.net/profile/26/26-profile-ddf78b4d-0300-4c50-9c84-5d8a95fd5fe2-4892-1705256364320",
role: .SPEAKER
),
LiveRoomMember(
id: 5,
nickname: "도화",
profileImage: "https://cf.sodalive.net/profile/26/26-profile-ddf78b4d-0300-4c50-9c84-5d8a95fd5fe2-4892-1705256364320",
role: .SPEAKER
),
LiveRoomMember(
id: 6,
nickname: "도화",
profileImage: "https://cf.sodalive.net/profile/26/26-profile-ddf78b4d-0300-4c50-9c84-5d8a95fd5fe2-4892-1705256364320",
role: .SPEAKER
),
],
muteSpeakerList: [],
activeSpeakerList: [],

View File

@ -106,28 +106,23 @@ struct LiveRoomInfoHostView: View {
onClickFollow: {},
onClickProfile: {}
)
.frame(width: 180, alignment: .leading)
Spacer()
ScrollView(.horizontal, showsIndicators: false) {
HStack(spacing: 8) {
ForEach(0..<speakerList.count, id: \.self) { index in
let speaker = speakerList[index]
ForEach(0..<speakerList.count, id: \.self) { index in
let speaker = speakerList[index]
if speaker.id != UInt(creatorId) {
LiveRoomInfoSpeakerView(
nickname: speaker.nickname,
profileUrl: speaker.profileImage,
isMute: muteSpeakerList.contains(UInt(speaker.id)),
isActiveSpeaker: activeSpeakerList.contains(UInt(speaker.id)),
onClickProfile: { onClickProfile(speaker.id) }
)
}
}
if speaker.id != UInt(creatorId) {
LiveRoomInfoSpeakerView(
nickname: speaker.nickname,
profileUrl: speaker.profileImage,
isMute: muteSpeakerList.contains(UInt(speaker.id)),
isActiveSpeaker: activeSpeakerList.contains(UInt(speaker.id)),
onClickProfile: { onClickProfile(speaker.id) }
)
}
.rotationEffect(Angle(degrees: 180))
}
.rotationEffect(Angle(degrees: 180))
}
HStack(spacing: 5.3) {
@ -204,12 +199,6 @@ struct LiveRoomInfoHostView: View {
.padding(.horizontal, 13.3)
.padding(.top, 16)
.background(Color.gray22)
.onAppear {
UIScrollView.appearance().bounces = false
}
.onDisappear {
UIScrollView.appearance().bounces = true
}
}
}
@ -239,7 +228,31 @@ struct LiveRoomInfoHostView_Previews: PreviewProvider {
nickname: "청령",
profileImage: "https://cf.sodalive.net/profile/13/13-profile-fabb75e0-2870-4d99-900e-1d9aa63e605b-685-1704859996417",
role: .SPEAKER
)
),
LiveRoomMember(
id: 3,
nickname: "LUNA",
profileImage: "https://cf.sodalive.net/profile/4679/4679-profile-41e83399-234e-4541-8591-f961a025cfaa-5819-1699536915310",
role: .SPEAKER
),
LiveRoomMember(
id: 4,
nickname: "도화",
profileImage: "https://cf.sodalive.net/profile/26/26-profile-ddf78b4d-0300-4c50-9c84-5d8a95fd5fe2-4892-1705256364320",
role: .SPEAKER
),
LiveRoomMember(
id: 5,
nickname: "도화",
profileImage: "https://cf.sodalive.net/profile/26/26-profile-ddf78b4d-0300-4c50-9c84-5d8a95fd5fe2-4892-1705256364320",
role: .SPEAKER
),
LiveRoomMember(
id: 6,
nickname: "도화",
profileImage: "https://cf.sodalive.net/profile/26/26-profile-ddf78b4d-0300-4c50-9c84-5d8a95fd5fe2-4892-1705256364320",
role: .SPEAKER
),
],
muteSpeakerList: [],
activeSpeakerList: [],

View File

@ -19,34 +19,32 @@ struct LiveRoomInfoSpeakerView: View {
let onClickProfile: () -> Void
var body: some View {
VStack(spacing: 5) {
VStack(spacing: 2.7) {
ZStack(alignment: .center) {
KFImage(URL(string: profileUrl))
.resizable()
.frame(width: 25, height: 25)
.frame(width: 26.7, height: 26.7)
.clipShape(Circle())
.overlay(
Circle()
.stroke(
Color.button,
lineWidth: isActiveSpeaker ? 3 : 0
)
)
if isMute {
Image("ic_mute")
.resizable()
.frame(width: 25, height: 25)
.frame(width: 30, height: 30)
}
}
.overlay(
Circle()
.stroke(
Color.button,
lineWidth: isActiveSpeaker ? 3 : 0
)
)
Text(nickname)
.font(.custom(Font.medium.rawValue, fixedSize: 8.7))
.font(.custom(Font.medium.rawValue, fixedSize: 10.7))
.foregroundColor(.gray77)
.lineLimit(1)
.truncationMode(.tail)
.frame(width: 28)
}
.frame(width: 30, height: 30)
.onTapGesture { onClickProfile() }
}
}
@ -54,7 +52,7 @@ struct LiveRoomInfoSpeakerView: View {
struct LiveRoomInfoSpeakerView_Previews: PreviewProvider {
static var previews: some View {
LiveRoomInfoSpeakerView(
nickname: "테스트중입니다",
nickname: "청령",
profileUrl: "https://cf.sodalive.net/profile/13/13-profile-fabb75e0-2870-4d99-900e-1d9aa63e605b-685-1704859996417",
isMute: false,
isActiveSpeaker: true,

View File

@ -21,12 +21,14 @@ struct SplashView: View {
.scaledToFill()
.edgesIgnoringSafeArea(.all)
HStack(spacing: 0) {
VStack(spacing: 0) {
Image("splash_title")
.padding(.top, 60)
Spacer()
Image("splash_text")
.padding(.top, 94)
.padding(.trailing, 38)
.padding(.bottom, 36)
}
if isShowUpdatePopup {