Remove ZStack NavigationViews

This commit is contained in:
Jackson Harper 2023-09-11 16:25:44 +08:00
parent 70db82d938
commit d1eca8b6fd
6 changed files with 105 additions and 93 deletions

View file

@ -0,0 +1,8 @@
//
// File.swift
//
//
// Created by Jackson Harper on 9/11/23.
//
import Foundation

View file

@ -12,24 +12,21 @@ struct MacFeedCardNavigationLink: View {
@ObservedObject var viewModel: HomeFeedViewModel
var body: some View {
ZStack {
NavigationLink(
destination: LinkItemDetailView(
linkedItemObjectID: item.objectID,
isPDF: item.isPDF
),
tag: item.objectID,
selection: $viewModel.selectedLinkItem
) {
EmptyView()
}
.opacity(0)
.buttonStyle(PlainButtonStyle())
.onAppear {
Task { await viewModel.itemAppeared(item: item, dataService: dataService) }
}
NavigationLink(
destination: LinkItemDetailView(
linkedItemObjectID: item.objectID,
isPDF: item.isPDF
),
tag: item.objectID,
selection: $viewModel.selectedLinkItem
) {
LibraryItemCard(item: item, viewer: dataService.currentViewer)
}
.opacity(0)
.buttonStyle(PlainButtonStyle())
.onAppear {
Task { await viewModel.itemAppeared(item: item, dataService: dataService) }
}
}
}
@ -42,22 +39,16 @@ struct FeedCardNavigationLink: View {
@ObservedObject var viewModel: HomeFeedViewModel
var body: some View {
ZStack {
Button {
viewModel.selectedItem = item
viewModel.linkIsActive = true
} label: {
NavigationLink(destination: EmptyView()) {
EmptyView()
}
.opacity(0)
.buttonStyle(PlainButtonStyle())
.onAppear {
Task { await viewModel.itemAppeared(item: item, dataService: dataService) }
}
LibraryItemCard(item: item, viewer: dataService.currentViewer)
NavigationLink(destination: LinkItemDetailView(
linkedItemObjectID: item.objectID,
isPDF: item.isPDF
), label: {
LibraryItemCard(item: item, viewer: dataService.currentViewer)
.padding(10)
})
.onAppear {
Task { await viewModel.itemAppeared(item: item, dataService: dataService) }
}
}
}
}

View file

@ -45,15 +45,15 @@ struct AnimatingCellHeight: AnimatableModifier {
var body: some View {
ZStack {
if let linkRequest = viewModel.linkRequest {
NavigationLink(
destination: WebReaderLoadingContainer(requestID: linkRequest.serverID),
tag: linkRequest,
selection: $viewModel.linkRequest
) {
EmptyView()
}
}
// if let linkRequest = viewModel.linkRequest {
// NavigationLink(
// destination: WebReaderLoadingContainer(requestID: linkRequest.serverID),
// tag: linkRequest,
// selection: $viewModel.linkRequest
// ) {
// EmptyView()
// }
// }
HomeFeedView(
listTitle: $listTitle,
isListScrolled: $isListScrolled,

View file

@ -38,23 +38,23 @@ struct LibraryListView: View {
)
var body: some View {
ZStack {
NavigationLink(
destination: LinkDestination(selectedItem: libraryViewModel.selectedItem),
isActive: $libraryViewModel.linkIsActive
) {
EmptyView()
}
HomeView(viewModel: libraryViewModel)
.tabItem {
Label {
Text("Library")
} icon: {
Image.tabLibrary
}
// ZStack {
// NavigationLink(
// destination: LinkDestination(selectedItem: libraryViewModel.selectedItem),
// isActive: $libraryViewModel.linkIsActive
// ) {
// EmptyView()
// }
HomeView(viewModel: libraryViewModel)
.tabItem {
Label {
Text("Library")
} icon: {
Image.tabLibrary
}
}
.navigationViewStyle(.stack)
.navigationBarTitleDisplayMode(.inline)
}
// }
.navigationViewStyle(.stack)
.navigationBarTitleDisplayMode(.inline)
}
}

View file

@ -44,44 +44,49 @@ struct LibraryTabView: View {
var body: some View {
NavigationView {
ZStack {
NavigationLink(
destination: LinkDestination(selectedItem: libraryViewModel.selectedItem),
isActive: $libraryViewModel.linkIsActive
) {
EmptyView()
}
// TabView(selection: $selection) {
// BriefingView(
// articleId: "98e017a3-79d5-4049-97bc-ff170153792a"
// )
// .tabItem {
// Label {
// Text("Your Briefing")
// } icon: {
// Image.tabBriefing.padding(.trailing, 5)
// }
// }.tag(0)
// ZStack {
// NavigationLink(
// destination: LinkDestination(selectedItem: libraryViewModel.selectedItem),
// isActive: $libraryViewModel.linkIsActive
// ) {
// EmptyView()
// }
// TabView(selection: $selection) {
// BriefingView(
// articleId: "98e017a3-79d5-4049-97bc-ff170153792a"
// )
// .tabItem {
// Label {
// Text("Your Briefing")
// } icon: {
// Image.tabBriefing.padding(.trailing, 5)
// }
// }.tag(0)
HomeView(viewModel: libraryViewModel)
// .tabItem {
// Label {
// Text("Library")
// } icon: {
// Image.tabLibrary
// }
// }.tag(1)
HomeView(viewModel: libraryViewModel)
// .tabItem {
// Label {
// Text("Library")
// } icon: {
// Image.tabLibrary
// }
// }.tag(1)
// HomeView(viewModel: highlightsViewModel)
// .tabItem {
// Label {
// Text("Highlights")
// } icon: {
// Image.tabHighlights
// }
// }.tag(2)
// }
}
// HomeView(viewModel: highlightsViewModel)
// .tabItem {
// Label {
// Text("Highlights")
// } icon: {
// Image.tabHighlights
// }
// }.tag(2)
// }
}
// }.introspectNavigationController { controller in
// print("INTROSPECTING CONTROLLER: ", controller.transitionCoordinator)
// controller.transitionCoordinator?.notifyWhenInteractionChanges { context in
// print("interaction changed: ", context)
// }
// }
}
}

View file

@ -0,0 +1,8 @@
//
// File.swift
//
//
// Created by Jackson Harper on 9/11/23.
//
import Foundation