diff --git a/SodaLive/Sources/V2/CreatorChannel/Components/CreatorChannelTabBar.swift b/SodaLive/Sources/V2/CreatorChannel/Components/CreatorChannelTabBar.swift index 4132c3af..2b9e5560 100644 --- a/SodaLive/Sources/V2/CreatorChannel/Components/CreatorChannelTabBar.swift +++ b/SodaLive/Sources/V2/CreatorChannel/Components/CreatorChannelTabBar.swift @@ -4,26 +4,34 @@ struct CreatorChannelTabBar: View { @Binding var selectedTab: CreatorChannelTab var body: some View { - ScrollView(.horizontal, showsIndicators: false) { - HStack(spacing: 0) { - ForEach(CreatorChannelTab.allCases, id: \.self) { tab in - Button { - selectedTab = tab - } label: { - VStack(spacing: 0) { - Text(tab.title) - .appFont(size: 16, weight: .medium) - .foregroundColor(selectedTab == tab ? Color.white : Color.gray500) - .frame(maxWidth: .infinity, maxHeight: .infinity) + ScrollViewReader { proxy in + ScrollView(.horizontal, showsIndicators: false) { + HStack(spacing: 0) { + ForEach(CreatorChannelTab.allCases, id: \.self) { tab in + Button { + selectedTab = tab + } label: { + VStack(spacing: 0) { + Text(tab.title) + .appFont(size: 16, weight: .medium) + .foregroundColor(selectedTab == tab ? Color.white : Color.gray500) + .frame(maxWidth: .infinity, maxHeight: .infinity) - Rectangle() - .fill(selectedTab == tab ? Color.soda400 : Color.clear) - .frame(height: 3) + Rectangle() + .fill(selectedTab == tab ? Color.soda400 : Color.clear) + .frame(height: 3) + } + .frame(width: 110, height: 52) + .contentShape(Rectangle()) } - .frame(width: 110, height: 52) - .contentShape(Rectangle()) + .buttonStyle(.plain) + .id(tab) } - .buttonStyle(.plain) + } + } + .onChange(of: selectedTab) { tab in + withAnimation { + proxy.scrollTo(tab, anchor: .center) } } } diff --git a/SodaLive/Sources/V2/CreatorChannel/CreatorChannelView.swift b/SodaLive/Sources/V2/CreatorChannel/CreatorChannelView.swift index 67f48ccb..b9c2a69f 100644 --- a/SodaLive/Sources/V2/CreatorChannel/CreatorChannelView.swift +++ b/SodaLive/Sources/V2/CreatorChannel/CreatorChannelView.swift @@ -313,7 +313,7 @@ struct CreatorChannelView: View { onTapCommunityLike: viewModel.likeCommunityPost ) } else { - CreatorChannelPlaceholderTabView(title: viewModel.selectedTab.title) + EmptyView() } }