Page MenuHomeMusing Studio

No OneTemporary

diff --git a/Shared/PostList/PostListView.swift.orig b/Shared/PostList/PostListView.swift.orig
deleted file mode 100644
index f058c26..0000000
--- a/Shared/PostList/PostListView.swift.orig
+++ /dev/null
@@ -1,191 +0,0 @@
-import SwiftUI
-import Combine
-
-struct PostListView: View {
- @EnvironmentObject var model: WriteFreelyModel
- @Environment(\.managedObjectContext) var managedObjectContext
-
- @State private var postCount: Int = 0
- @State private var filteredListViewId: Int = 0
-
- var selectedCollection: WFACollection?
- var showAllPosts: Bool
-
- #if os(iOS)
- private var frameHeight: CGFloat {
- var height: CGFloat = 50
- let bottom = UIApplication.shared.windows.first?.safeAreaInsets.bottom ?? 0
- height += bottom
- return height
- }
- #endif
-
- var body: some View {
- #if os(iOS)
- ZStack(alignment: .bottom) {
- PostListFilteredView(
- collection: selectedCollection,
- showAllPosts: showAllPosts,
- postCount: $postCount
- )
-<<<<<<< HEAD
- .navigationTitle(
- showAllPosts ? "All Posts" : selectedCollection?.title ?? (
- model.account.server == "https://write.as" ? "Anonymous" : "Drafts"
- )
-=======
- .id(self.filteredListViewId)
- .navigationTitle(
- model.showAllPosts ? "All Posts" : model.selectedCollection?.title ?? (
- model.account.server == "https://write.as" ? "Anonymous" : "Drafts"
->>>>>>> c9322d1 (Invalidate PostListView on didBecomeActive)
- )
- )
- .toolbar {
- ToolbarItem(placement: .primaryAction) {
- // We have to add a Spacer as a sibling view to the Button in some kind of Stack, so that any
- // a11y modifiers are applied as expected: bug report filed as FB8956392.
- ZStack {
- Spacer()
- Button(action: {
- let managedPost = model.editor.generateNewLocalPost(withFont: model.preferences.font)
- withAnimation {
- self.model.showAllPosts = false
- self.model.selectedPost = managedPost
- }
- }, label: {
- ZStack {
- Image("does.not.exist")
- .accessibilityHidden(true)
- Image(systemName: "square.and.pencil")
- .accessibilityHidden(true)
- .imageScale(.large) // These modifiers compensate for the resizing
- .padding(.vertical, 12) // done to the Image (and the button tap target)
- .padding(.leading, 12) // by the SwiftUI layout system from adding a
- .padding(.trailing, 8) // Spacer in this ZStack (FB8956392).
- }
- .frame(maxWidth: .infinity, maxHeight: .infinity)
- })
- .accessibilityLabel(Text("Compose"))
- .accessibilityHint(Text("Compose a new local draft"))
- }
- }
- }
- VStack {
- HStack(spacing: 0) {
- Button(action: {
- model.isPresentingSettingsView = true
- }, label: {
- Image(systemName: "gear")
- .padding(.vertical, 4)
- .padding(.horizontal, 8)
- })
- .accessibilityLabel(Text("Settings"))
- .accessibilityHint(Text("Open the Settings sheet"))
- .sheet(
- isPresented: $model.isPresentingSettingsView,
- onDismiss: { model.isPresentingSettingsView = false },
- content: {
- SettingsView()
- .environmentObject(model)
- }
- )
- Spacer()
- Text(postCount == 1 ? "\(postCount) post" : "\(postCount) posts")
- .foregroundColor(.secondary)
- .alert(isPresented: $model.isPresentingNetworkErrorAlert, content: {
- Alert(
- title: Text("Connection Error"),
- message: Text("""
- There is no internet connection at the moment. Please reconnect or try again later.
- """),
- dismissButton: .default(Text("OK"), action: {
- model.isPresentingNetworkErrorAlert = false
- })
- )
- })
- Spacer()
- if model.isProcessingRequest {
- ProgressView()
- .padding(.vertical, 4)
- .padding(.horizontal, 8)
- } else {
- Button(action: {
- DispatchQueue.main.async {
- model.fetchUserCollections()
- model.fetchUserPosts()
- }
- }, label: {
- Image(systemName: "arrow.clockwise")
- .padding(.vertical, 4)
- .padding(.horizontal, 8)
- })
- .accessibilityLabel(Text("Refresh Posts"))
- .accessibilityHint(Text("Fetch changes from the server"))
- .disabled(!model.account.isLoggedIn)
- }
- }
- .padding(.top, 8)
- .padding(.horizontal, 8)
- Spacer()
- }
- .frame(height: frameHeight)
- .background(Color(UIColor.systemGray5))
- .overlay(Divider(), alignment: .top)
- }
- .onReceive(NotificationCenter.default.publisher(for: UIApplication.didBecomeActiveNotification)) { _ in
- // We use this to invalidate and refresh the view, to make sure we show any new posts that were created
- // in an extension, for example.
- withAnimation {
- self.filteredListViewId += 1
- }
- }
- .ignoresSafeArea()
- .onAppear {
- model.selectedCollection = selectedCollection
- model.showAllPosts = showAllPosts
- }
- #else
- PostListFilteredView(
- collection: selectedCollection,
- showAllPosts: showAllPosts,
- postCount: $postCount
- )
- .toolbar {
- ToolbarItemGroup(placement: .primaryAction) {
- if model.selectedPost != nil {
- ActivePostToolbarView(activePost: model.selectedPost!)
- .alert(isPresented: $model.isPresentingNetworkErrorAlert, content: {
- Alert(
- title: Text("Connection Error"),
- message: Text("""
- There is no internet connection at the moment. \
- Please reconnect or try again later.
- """),
- dismissButton: .default(Text("OK"), action: {
- model.isPresentingNetworkErrorAlert = false
- })
- )
- })
- }
- }
- }
- .navigationTitle(
- showAllPosts ? "All Posts" : selectedCollection?.title ?? (
- model.account.server == "https://write.as" ? "Anonymous" : "Drafts"
- )
- )
- #endif
- }
-}
-
-struct PostListView_Previews: PreviewProvider {
- static var previews: some View {
- let context = LocalStorageManager.persistentContainer.viewContext
- let model = WriteFreelyModel()
-
- return PostListView(showAllPosts: true)
- .environment(\.managedObjectContext, context)
- .environmentObject(model)
- }
-}

File Metadata

Mime Type
text/x-diff
Expires
Mon, Nov 25, 2:15 PM (1 d, 14 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3106701

Event Timeline