diff --git a/SodaLive/Resources/Assets.xcassets/ic_chat.imageset/Contents.json b/SodaLive/Resources/Assets.xcassets/ic_chat.imageset/Contents.json new file mode 100644 index 0000000..475e954 --- /dev/null +++ b/SodaLive/Resources/Assets.xcassets/ic_chat.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "ic_chat.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/SodaLive/Resources/Assets.xcassets/ic_chat.imageset/ic_chat.png b/SodaLive/Resources/Assets.xcassets/ic_chat.imageset/ic_chat.png new file mode 100644 index 0000000..f8cc575 Binary files /dev/null and b/SodaLive/Resources/Assets.xcassets/ic_chat.imageset/ic_chat.png differ diff --git a/SodaLive/Resources/Assets.xcassets/ic_chat_selected.imageset/Contents.json b/SodaLive/Resources/Assets.xcassets/ic_chat_selected.imageset/Contents.json new file mode 100644 index 0000000..179e419 --- /dev/null +++ b/SodaLive/Resources/Assets.xcassets/ic_chat_selected.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "ic_chat_selected.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/SodaLive/Resources/Assets.xcassets/ic_chat_selected.imageset/ic_chat_selected.png b/SodaLive/Resources/Assets.xcassets/ic_chat_selected.imageset/ic_chat_selected.png new file mode 100644 index 0000000..585a128 Binary files /dev/null and b/SodaLive/Resources/Assets.xcassets/ic_chat_selected.imageset/ic_chat_selected.png differ diff --git a/SodaLive/Resources/Assets.xcassets/ic_home.imageset/Contents.json b/SodaLive/Resources/Assets.xcassets/ic_home.imageset/Contents.json new file mode 100644 index 0000000..b977944 --- /dev/null +++ b/SodaLive/Resources/Assets.xcassets/ic_home.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "ic_home.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/SodaLive/Resources/Assets.xcassets/ic_home.imageset/ic_home.png b/SodaLive/Resources/Assets.xcassets/ic_home.imageset/ic_home.png new file mode 100644 index 0000000..1782cc1 Binary files /dev/null and b/SodaLive/Resources/Assets.xcassets/ic_home.imageset/ic_home.png differ diff --git a/SodaLive/Resources/Assets.xcassets/ic_home_selected.imageset/Contents.json b/SodaLive/Resources/Assets.xcassets/ic_home_selected.imageset/Contents.json new file mode 100644 index 0000000..05c5bab --- /dev/null +++ b/SodaLive/Resources/Assets.xcassets/ic_home_selected.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "ic_home_selected.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/SodaLive/Resources/Assets.xcassets/ic_home_selected.imageset/ic_home_selected.png b/SodaLive/Resources/Assets.xcassets/ic_home_selected.imageset/ic_home_selected.png new file mode 100644 index 0000000..8e4aa77 Binary files /dev/null and b/SodaLive/Resources/Assets.xcassets/ic_home_selected.imageset/ic_home_selected.png differ diff --git a/SodaLive/Resources/Assets.xcassets/ic_live.imageset/Contents.json b/SodaLive/Resources/Assets.xcassets/ic_live.imageset/Contents.json new file mode 100644 index 0000000..3152a65 --- /dev/null +++ b/SodaLive/Resources/Assets.xcassets/ic_live.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "ic_live.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/SodaLive/Resources/Assets.xcassets/ic_live.imageset/ic_live.png b/SodaLive/Resources/Assets.xcassets/ic_live.imageset/ic_live.png new file mode 100644 index 0000000..a9b1666 Binary files /dev/null and b/SodaLive/Resources/Assets.xcassets/ic_live.imageset/ic_live.png differ diff --git a/SodaLive/Resources/Assets.xcassets/ic_live_selected.imageset/Contents.json b/SodaLive/Resources/Assets.xcassets/ic_live_selected.imageset/Contents.json new file mode 100644 index 0000000..fb48747 --- /dev/null +++ b/SodaLive/Resources/Assets.xcassets/ic_live_selected.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "ic_live_selected.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/SodaLive/Resources/Assets.xcassets/ic_live_selected.imageset/ic_live_selected.png b/SodaLive/Resources/Assets.xcassets/ic_live_selected.imageset/ic_live_selected.png new file mode 100644 index 0000000..bcec1ad Binary files /dev/null and b/SodaLive/Resources/Assets.xcassets/ic_live_selected.imageset/ic_live_selected.png differ diff --git a/SodaLive/Resources/Assets.xcassets/ic_my.imageset/Contents.json b/SodaLive/Resources/Assets.xcassets/ic_my.imageset/Contents.json new file mode 100644 index 0000000..2957a74 --- /dev/null +++ b/SodaLive/Resources/Assets.xcassets/ic_my.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "ic_my.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/SodaLive/Resources/Assets.xcassets/ic_my.imageset/ic_my.png b/SodaLive/Resources/Assets.xcassets/ic_my.imageset/ic_my.png new file mode 100644 index 0000000..9716ab7 Binary files /dev/null and b/SodaLive/Resources/Assets.xcassets/ic_my.imageset/ic_my.png differ diff --git a/SodaLive/Resources/Assets.xcassets/ic_my_selected.imageset/Contents.json b/SodaLive/Resources/Assets.xcassets/ic_my_selected.imageset/Contents.json new file mode 100644 index 0000000..61b6807 --- /dev/null +++ b/SodaLive/Resources/Assets.xcassets/ic_my_selected.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "ic_my_selected.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/SodaLive/Resources/Assets.xcassets/ic_my_selected.imageset/ic_my_selected.png b/SodaLive/Resources/Assets.xcassets/ic_my_selected.imageset/ic_my_selected.png new file mode 100644 index 0000000..029522f Binary files /dev/null and b/SodaLive/Resources/Assets.xcassets/ic_my_selected.imageset/ic_my_selected.png differ diff --git a/SodaLive/Resources/Assets.xcassets/ic_subscribe.imageset/Contents.json b/SodaLive/Resources/Assets.xcassets/ic_subscribe.imageset/Contents.json new file mode 100644 index 0000000..46da3fc --- /dev/null +++ b/SodaLive/Resources/Assets.xcassets/ic_subscribe.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "ic_subscribe.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/SodaLive/Resources/Assets.xcassets/ic_subscribe.imageset/ic_subscribe.png b/SodaLive/Resources/Assets.xcassets/ic_subscribe.imageset/ic_subscribe.png new file mode 100644 index 0000000..4e071a7 Binary files /dev/null and b/SodaLive/Resources/Assets.xcassets/ic_subscribe.imageset/ic_subscribe.png differ diff --git a/SodaLive/Resources/Assets.xcassets/ic_subscribe_selected.imageset/Contents.json b/SodaLive/Resources/Assets.xcassets/ic_subscribe_selected.imageset/Contents.json new file mode 100644 index 0000000..28fe254 --- /dev/null +++ b/SodaLive/Resources/Assets.xcassets/ic_subscribe_selected.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "ic_subscribe_selected.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/SodaLive/Resources/Assets.xcassets/ic_subscribe_selected.imageset/ic_subscribe_selected.png b/SodaLive/Resources/Assets.xcassets/ic_subscribe_selected.imageset/ic_subscribe_selected.png new file mode 100644 index 0000000..a896c51 Binary files /dev/null and b/SodaLive/Resources/Assets.xcassets/ic_subscribe_selected.imageset/ic_subscribe_selected.png differ diff --git a/SodaLive/Resources/Assets.xcassets/img_text_logo.imageset/Contents.json b/SodaLive/Resources/Assets.xcassets/img_text_logo.imageset/Contents.json new file mode 100644 index 0000000..f9d33fc --- /dev/null +++ b/SodaLive/Resources/Assets.xcassets/img_text_logo.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "img_text_logo.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/SodaLive/Resources/Assets.xcassets/img_text_logo.imageset/img_text_logo.png b/SodaLive/Resources/Assets.xcassets/img_text_logo.imageset/img_text_logo.png new file mode 100644 index 0000000..f5e6fce Binary files /dev/null and b/SodaLive/Resources/Assets.xcassets/img_text_logo.imageset/img_text_logo.png differ diff --git a/SodaLive/Sources/App/AppDelegate.swift b/SodaLive/Sources/App/AppDelegate.swift index 892f008..a975c44 100644 --- a/SodaLive/Sources/App/AppDelegate.swift +++ b/SodaLive/Sources/App/AppDelegate.swift @@ -285,16 +285,10 @@ extension AppDelegate : UNUserNotificationCenterDelegate { AppState.shared.pushMessageId = messageId } - if let auditionIdString = auditionIdString, let auditionId = Int(auditionIdString), auditionId > 0 { - AppState.shared.startTab = .audition - NotificationCenter.default.post(name: .didReceiveHomeTab, object: HomeViewModel.CurrentTab.audition) - } - completionHandler() } } extension Notification.Name { static let pointGranted = Notification.Name("POINT_GRANTED") - static let didReceiveHomeTab = Notification.Name("didReceiveHomeTab") } diff --git a/SodaLive/Sources/App/AppState.swift b/SodaLive/Sources/App/AppState.swift index 6e75b2e..1222b9a 100644 --- a/SodaLive/Sources/App/AppState.swift +++ b/SodaLive/Sources/App/AppState.swift @@ -44,7 +44,7 @@ class AppState: ObservableObject { @Published var purchasedContentOrderType = OrderType.KEEP @Published var isChangeAdultContentVisible = false - @Published var startTab: HomeViewModel.CurrentTab = .content + @Published var startTab: HomeViewModel.CurrentTab = .home @Published var marketingUtmSource = "" @Published var marketingUtmMedium = "" diff --git a/SodaLive/Sources/Main/Home/BottomTabView.swift b/SodaLive/Sources/Main/Home/BottomTabView.swift index 6f1e762..1fc674b 100644 --- a/SodaLive/Sources/Main/Home/BottomTabView.swift +++ b/SodaLive/Sources/Main/Home/BottomTabView.swift @@ -13,27 +13,27 @@ struct BottomTabView: View { var body: some View { HStack(spacing: 0) { - let tabWidth = width / 4 + let tabWidth = width / 3 TabButton( - title: "콘텐츠", + title: "홈", action: { - if currentTab != .content { - currentTab = .content + if currentTab != .home { + currentTab = .home } }, image: { - currentTab == .content ? - "ic_tabbar_content_selected" : - "ic_tabbar_content_normal" + currentTab == .home ? + "ic_home_selected" : + "ic_home" }, fontName: { - currentTab == .content ? + currentTab == .home ? Font.bold.rawValue : Font.medium.rawValue }, color: { - currentTab == .content ? + currentTab == .home ? Color.button : Color.graybb }, @@ -49,8 +49,8 @@ struct BottomTabView: View { }, image: { currentTab == .live ? - "ic_tabbar_live_selected" : - "ic_tabbar_live_normal" + "ic_live_selected" : + "ic_live" }, fontName: { currentTab == .live ? @@ -65,31 +65,6 @@ struct BottomTabView: View { width: tabWidth ) - TabButton( - title: "오디션", - action: { - if currentTab != .audition { - currentTab = .audition - } - }, - image: { - currentTab == .audition ? - "ic_tabbar_audition_selected" : - "ic_tabbar_audition_normal" - }, - fontName: { - currentTab == .audition ? - Font.bold.rawValue : - Font.medium.rawValue - }, - color: { - currentTab == .audition ? - Color.button : - Color.graybb - }, - width: tabWidth - ) - TabButton( title: "마이", action: { @@ -99,8 +74,8 @@ struct BottomTabView: View { }, image: { currentTab == .mypage ? - "ic_tabbar_my_selected" : - "ic_tabbar_my_normal" + "ic_my_selected" : + "ic_my" }, fontName: { currentTab == .mypage ? diff --git a/SodaLive/Sources/Main/Home/HomeView.swift b/SodaLive/Sources/Main/Home/HomeView.swift index c088395..479d848 100644 --- a/SodaLive/Sources/Main/Home/HomeView.swift +++ b/SodaLive/Sources/Main/Home/HomeView.swift @@ -18,7 +18,6 @@ struct HomeView: View { @StateObject var contentPlayerPlayManager = ContentPlayerPlayManager.shared private let liveView = LiveView() - private let audition = AuditionView() private let contentView = ContentMainTabHomeView() @State private var isShowPlayer = false @@ -30,17 +29,13 @@ struct HomeView: View { VStack(spacing: 0) { ZStack { contentView - .frame(width: viewModel.currentTab == .content ? proxy.size.width : 0) - .opacity(viewModel.currentTab == .content ? 1.0 : 0.01) + .frame(width: viewModel.currentTab == .home ? proxy.size.width : 0) + .opacity(viewModel.currentTab == .home ? 1.0 : 0.01) liveView .frame(width: viewModel.currentTab == .live ? proxy.size.width : 0) .opacity(viewModel.currentTab == .live ? 1.0 : 0.01) - audition - .frame(width: viewModel.currentTab == .audition ? proxy.size.width : 0) - .opacity(viewModel.currentTab == .audition ? 1.0 : 0.01) - if viewModel.currentTab == .mypage { MyPageView() } diff --git a/SodaLive/Sources/Main/Home/HomeViewModel.swift b/SodaLive/Sources/Main/Home/HomeViewModel.swift index a010eab..8022fcf 100644 --- a/SodaLive/Sources/Main/Home/HomeViewModel.swift +++ b/SodaLive/Sources/Main/Home/HomeViewModel.swift @@ -18,24 +18,11 @@ final class HomeViewModel: ObservableObject { private let playbackTrackingRepository = PlaybackTrackingRepository() enum CurrentTab: String { - case content, live, audition, mypage + case home, live, mypage } @Published var currentTab: CurrentTab = AppState.shared.startTab - init() { - NotificationCenter.default - .publisher(for: .didReceiveHomeTab) - .compactMap { - $0.object as? CurrentTab - } - .sink { [weak self] currentTab in - AppState.shared.setAppStep(step: .main) - self?.currentTab = currentTab - } - .store(in: &subscription) - } - func pushTokenUpdate(pushToken: String) { userRepository.updatePushToken(pushToken: pushToken) .sink { result in