Compare commits
No commits in common. "6d7e3a40e7f4ff92346bc7cdba7b9518ee4843bb" and "50e5f526a3bf3f417ab40c5a684d30ae435b7e2b" have entirely different histories.
6d7e3a40e7
...
50e5f526a3
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 |
21
SodaLive/Resources/Assets.xcassets/splash/splash_title.imageset/Contents.json
vendored
Normal file
21
SodaLive/Resources/Assets.xcassets/splash/splash_title.imageset/Contents.json
vendored
Normal 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
|
||||||
|
}
|
||||||
|
}
|
BIN
SodaLive/Resources/Assets.xcassets/splash/splash_title.imageset/splash_title.png
vendored
Normal file
BIN
SodaLive/Resources/Assets.xcassets/splash/splash_title.imageset/splash_title.png
vendored
Normal file
Binary file not shown.
After Width: | Height: | Size: 13 KiB |
|
@ -103,7 +103,7 @@ struct SeriesDetailIntroductionView: View {
|
||||||
.foregroundColor(Color.white)
|
.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))
|
.font(.custom(Font.medium.rawValue, size: 14.7))
|
||||||
.foregroundColor(Color.white)
|
.foregroundColor(Color.white)
|
||||||
|
|
||||||
|
|
|
@ -28,7 +28,7 @@ struct LiveRoomProfileItemTitleView: View {
|
||||||
}
|
}
|
||||||
|
|
||||||
if let totalCount = totalCount {
|
if let totalCount = totalCount {
|
||||||
Text("/\(totalCount > 5 ? 5 : totalCount - 1)")
|
Text("/\(totalCount > 4 ? 4 : totalCount - 1)")
|
||||||
.font(.custom(Font.medium.rawValue, size: 13))
|
.font(.custom(Font.medium.rawValue, size: 13))
|
||||||
.foregroundColor(Color.graybb)
|
.foregroundColor(Color.graybb)
|
||||||
}
|
}
|
||||||
|
|
|
@ -67,7 +67,6 @@ struct LiveRoomInfoCreatorView: View {
|
||||||
Text(creatorNickname)
|
Text(creatorNickname)
|
||||||
.font(.custom(Font.medium.rawValue, size: 12))
|
.font(.custom(Font.medium.rawValue, size: 12))
|
||||||
.foregroundColor(.gray77)
|
.foregroundColor(.gray77)
|
||||||
.lineLimit(1)
|
|
||||||
|
|
||||||
if isShowFollowingButton {
|
if isShowFollowingButton {
|
||||||
Image(isFollowing ? "btn_following" : "btn_follow")
|
Image(isFollowing ? "btn_following" : "btn_follow")
|
||||||
|
@ -76,8 +75,8 @@ struct LiveRoomInfoCreatorView: View {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.padding(8)
|
.padding(.vertical, 8)
|
||||||
.frame(width: screenSize().width / 2.5, alignment: .leading)
|
.padding(.horizontal, 5.3)
|
||||||
.overlay(
|
.overlay(
|
||||||
RoundedRectangle(cornerRadius: 5.3)
|
RoundedRectangle(cornerRadius: 5.3)
|
||||||
.stroke(Color.graybb, lineWidth: 1)
|
.stroke(Color.graybb, lineWidth: 1)
|
||||||
|
@ -88,7 +87,7 @@ struct LiveRoomInfoCreatorView: View {
|
||||||
struct LiveRoomInfoCreatorView_Previews: PreviewProvider {
|
struct LiveRoomInfoCreatorView_Previews: PreviewProvider {
|
||||||
static var previews: some View {
|
static var previews: some View {
|
||||||
LiveRoomInfoCreatorView(
|
LiveRoomInfoCreatorView(
|
||||||
roomTitle: "qwer",
|
roomTitle: "오늘 라이브방송은 OOO 입니다.",
|
||||||
creatorNickname: "도화",
|
creatorNickname: "도화",
|
||||||
creatorProfileUrl: "https://cf.sodalive.net/profile/26/26-profile-ddf78b4d-0300-4c50-9c84-5d8a95fd5fe2-4892-1705256364320",
|
creatorProfileUrl: "https://cf.sodalive.net/profile/26/26-profile-ddf78b4d-0300-4c50-9c84-5d8a95fd5fe2-4892-1705256364320",
|
||||||
isMute: false,
|
isMute: false,
|
||||||
|
|
|
@ -108,11 +108,10 @@ struct LiveRoomInfoGuestView: View {
|
||||||
onClickFollow: { onClickFollow(isFollowing) },
|
onClickFollow: { onClickFollow(isFollowing) },
|
||||||
onClickProfile: { onClickProfile(creatorId) }
|
onClickProfile: { onClickProfile(creatorId) }
|
||||||
)
|
)
|
||||||
|
.frame(width: 180, alignment: .leading)
|
||||||
|
|
||||||
Spacer()
|
Spacer()
|
||||||
|
|
||||||
ScrollView(.horizontal, showsIndicators: false) {
|
|
||||||
HStack(spacing: 8) {
|
|
||||||
ForEach(0..<speakerList.count, id: \.self) { index in
|
ForEach(0..<speakerList.count, id: \.self) { index in
|
||||||
let speaker = speakerList[index]
|
let speaker = speakerList[index]
|
||||||
|
|
||||||
|
@ -127,10 +126,6 @@ struct LiveRoomInfoGuestView: View {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.rotationEffect(Angle(degrees: 180))
|
|
||||||
}
|
|
||||||
.rotationEffect(Angle(degrees: 180))
|
|
||||||
}
|
|
||||||
|
|
||||||
HStack(spacing: 5.3) {
|
HStack(spacing: 5.3) {
|
||||||
LiveRoomOverlayStrokeTextToggleButton(
|
LiveRoomOverlayStrokeTextToggleButton(
|
||||||
|
@ -189,19 +184,13 @@ struct LiveRoomInfoGuestView: View {
|
||||||
.padding(.horizontal, 13.3)
|
.padding(.horizontal, 13.3)
|
||||||
.padding(.top, 16)
|
.padding(.top, 16)
|
||||||
.background(Color.gray22)
|
.background(Color.gray22)
|
||||||
.onAppear {
|
|
||||||
UIScrollView.appearance().bounces = false
|
|
||||||
}
|
|
||||||
.onDisappear {
|
|
||||||
UIScrollView.appearance().bounces = true
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
struct LiveRoomInfoGuestView_Previews: PreviewProvider {
|
struct LiveRoomInfoGuestView_Previews: PreviewProvider {
|
||||||
static var previews: some View {
|
static var previews: some View {
|
||||||
LiveRoomInfoGuestView(
|
LiveRoomInfoGuestView(
|
||||||
title: "qwer",
|
title: "오늘의 라이브방송은 OOO입니다.",
|
||||||
totalDonationCan: 123456,
|
totalDonationCan: 123456,
|
||||||
isOnBg: true,
|
isOnBg: true,
|
||||||
isOnNotice: false,
|
isOnNotice: false,
|
||||||
|
@ -229,7 +218,25 @@ struct LiveRoomInfoGuestView_Previews: PreviewProvider {
|
||||||
nickname: "LUNA",
|
nickname: "LUNA",
|
||||||
profileImage: "https://cf.sodalive.net/profile/4679/4679-profile-41e83399-234e-4541-8591-f961a025cfaa-5819-1699536915310",
|
profileImage: "https://cf.sodalive.net/profile/4679/4679-profile-41e83399-234e-4541-8591-f961a025cfaa-5819-1699536915310",
|
||||||
role: .SPEAKER
|
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: [],
|
muteSpeakerList: [],
|
||||||
activeSpeakerList: [],
|
activeSpeakerList: [],
|
||||||
|
|
|
@ -106,11 +106,10 @@ struct LiveRoomInfoHostView: View {
|
||||||
onClickFollow: {},
|
onClickFollow: {},
|
||||||
onClickProfile: {}
|
onClickProfile: {}
|
||||||
)
|
)
|
||||||
|
.frame(width: 180, alignment: .leading)
|
||||||
|
|
||||||
Spacer()
|
Spacer()
|
||||||
|
|
||||||
ScrollView(.horizontal, showsIndicators: false) {
|
|
||||||
HStack(spacing: 8) {
|
|
||||||
ForEach(0..<speakerList.count, id: \.self) { index in
|
ForEach(0..<speakerList.count, id: \.self) { index in
|
||||||
let speaker = speakerList[index]
|
let speaker = speakerList[index]
|
||||||
|
|
||||||
|
@ -125,10 +124,6 @@ struct LiveRoomInfoHostView: View {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.rotationEffect(Angle(degrees: 180))
|
|
||||||
}
|
|
||||||
.rotationEffect(Angle(degrees: 180))
|
|
||||||
}
|
|
||||||
|
|
||||||
HStack(spacing: 5.3) {
|
HStack(spacing: 5.3) {
|
||||||
LiveRoomOverlayStrokeTextToggleButton(
|
LiveRoomOverlayStrokeTextToggleButton(
|
||||||
|
@ -204,12 +199,6 @@ struct LiveRoomInfoHostView: View {
|
||||||
.padding(.horizontal, 13.3)
|
.padding(.horizontal, 13.3)
|
||||||
.padding(.top, 16)
|
.padding(.top, 16)
|
||||||
.background(Color.gray22)
|
.background(Color.gray22)
|
||||||
.onAppear {
|
|
||||||
UIScrollView.appearance().bounces = false
|
|
||||||
}
|
|
||||||
.onDisappear {
|
|
||||||
UIScrollView.appearance().bounces = true
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -239,7 +228,31 @@ struct LiveRoomInfoHostView_Previews: PreviewProvider {
|
||||||
nickname: "청령",
|
nickname: "청령",
|
||||||
profileImage: "https://cf.sodalive.net/profile/13/13-profile-fabb75e0-2870-4d99-900e-1d9aa63e605b-685-1704859996417",
|
profileImage: "https://cf.sodalive.net/profile/13/13-profile-fabb75e0-2870-4d99-900e-1d9aa63e605b-685-1704859996417",
|
||||||
role: .SPEAKER
|
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: [],
|
muteSpeakerList: [],
|
||||||
activeSpeakerList: [],
|
activeSpeakerList: [],
|
||||||
|
|
|
@ -19,19 +19,12 @@ struct LiveRoomInfoSpeakerView: View {
|
||||||
let onClickProfile: () -> Void
|
let onClickProfile: () -> Void
|
||||||
|
|
||||||
var body: some View {
|
var body: some View {
|
||||||
VStack(spacing: 5) {
|
VStack(spacing: 2.7) {
|
||||||
ZStack(alignment: .center) {
|
ZStack(alignment: .center) {
|
||||||
KFImage(URL(string: profileUrl))
|
KFImage(URL(string: profileUrl))
|
||||||
.resizable()
|
.resizable()
|
||||||
.frame(width: 25, height: 25)
|
.frame(width: 26.7, height: 26.7)
|
||||||
.clipShape(Circle())
|
.clipShape(Circle())
|
||||||
|
|
||||||
if isMute {
|
|
||||||
Image("ic_mute")
|
|
||||||
.resizable()
|
|
||||||
.frame(width: 25, height: 25)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.overlay(
|
.overlay(
|
||||||
Circle()
|
Circle()
|
||||||
.stroke(
|
.stroke(
|
||||||
|
@ -40,13 +33,18 @@ struct LiveRoomInfoSpeakerView: View {
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
Text(nickname)
|
if isMute {
|
||||||
.font(.custom(Font.medium.rawValue, fixedSize: 8.7))
|
Image("ic_mute")
|
||||||
.foregroundColor(.gray77)
|
.resizable()
|
||||||
.lineLimit(1)
|
.frame(width: 30, height: 30)
|
||||||
.truncationMode(.tail)
|
|
||||||
.frame(width: 28)
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Text(nickname)
|
||||||
|
.font(.custom(Font.medium.rawValue, fixedSize: 10.7))
|
||||||
|
.foregroundColor(.gray77)
|
||||||
|
}
|
||||||
|
.frame(width: 30, height: 30)
|
||||||
.onTapGesture { onClickProfile() }
|
.onTapGesture { onClickProfile() }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -54,7 +52,7 @@ struct LiveRoomInfoSpeakerView: View {
|
||||||
struct LiveRoomInfoSpeakerView_Previews: PreviewProvider {
|
struct LiveRoomInfoSpeakerView_Previews: PreviewProvider {
|
||||||
static var previews: some View {
|
static var previews: some View {
|
||||||
LiveRoomInfoSpeakerView(
|
LiveRoomInfoSpeakerView(
|
||||||
nickname: "테스트중입니다",
|
nickname: "청령",
|
||||||
profileUrl: "https://cf.sodalive.net/profile/13/13-profile-fabb75e0-2870-4d99-900e-1d9aa63e605b-685-1704859996417",
|
profileUrl: "https://cf.sodalive.net/profile/13/13-profile-fabb75e0-2870-4d99-900e-1d9aa63e605b-685-1704859996417",
|
||||||
isMute: false,
|
isMute: false,
|
||||||
isActiveSpeaker: true,
|
isActiveSpeaker: true,
|
||||||
|
|
|
@ -21,12 +21,14 @@ struct SplashView: View {
|
||||||
.scaledToFill()
|
.scaledToFill()
|
||||||
.edgesIgnoringSafeArea(.all)
|
.edgesIgnoringSafeArea(.all)
|
||||||
|
|
||||||
HStack(spacing: 0) {
|
VStack(spacing: 0) {
|
||||||
|
Image("splash_title")
|
||||||
|
.padding(.top, 60)
|
||||||
|
|
||||||
Spacer()
|
Spacer()
|
||||||
|
|
||||||
Image("splash_text")
|
Image("splash_text")
|
||||||
.padding(.top, 94)
|
.padding(.bottom, 36)
|
||||||
.padding(.trailing, 38)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if isShowUpdatePopup {
|
if isShowUpdatePopup {
|
||||||
|
|
Loading…
Reference in New Issue