From d7af80d2d1edcc45c043bb237c098c4cb0c026fa Mon Sep 17 00:00:00 2001 From: Fuwn Date: Thu, 28 Aug 2025 15:23:28 -0700 Subject: feat: Development commit --- Sora/Views/Post/Grid/PostGridView.swift | 46 +++++++++++++++++++++------------ 1 file changed, 29 insertions(+), 17 deletions(-) (limited to 'Sora/Views/Post/Grid/PostGridView.swift') diff --git a/Sora/Views/Post/Grid/PostGridView.swift b/Sora/Views/Post/Grid/PostGridView.swift index ebeac31..4205309 100644 --- a/Sora/Views/Post/Grid/PostGridView.swift +++ b/Sora/Views/Post/Grid/PostGridView.swift @@ -24,7 +24,7 @@ struct PostGridView: View { // swiftlint:disable:this type_body_length @State private var localError: Error? init( - selectedTab: Binding, initialTag: String? = nil, navigationPath: Binding + selectedTab: Binding, navigationPath: Binding, initialTag: String? = nil ) { self._selectedTab = selectedTab self.initialTag = initialTag @@ -50,12 +50,12 @@ struct PostGridView: View { // swiftlint:disable:this type_body_length get: { localSearchText }, set: { localSearchText = $0 } ) - } else { - return Binding( - get: { manager.searchText }, - set: { manager.searchText = $0 } - ) } + + return Binding( + get: { manager.searchText }, + set: { manager.searchText = $0 } + ) } @ViewBuilder private var gridContent: some View { @@ -230,7 +230,7 @@ struct PostGridView: View { // swiftlint:disable:this type_body_length } } .onAppear { - if let initialTag = initialTag { + if let initialTag { localSearchText = initialTag Task(priority: .userInitiated) { @@ -246,9 +246,11 @@ struct PostGridView: View { // swiftlint:disable:this type_body_length if initialTag != nil { await fetchLocalPosts( page: 1, - tags: localSearchText.components(separatedBy: .whitespaces).filter { - !$0.isEmpty - }, replace: true) + tags: localSearchText.components(separatedBy: .whitespaces).filter { component in + !component.isEmpty + }, + replace: true + ) } else { await manager.fetchPosts(page: 1, tags: manager.tags, replace: true) } @@ -275,7 +277,9 @@ struct PostGridView: View { // swiftlint:disable:this type_body_length PlatformSpecificToolbarItem { PostGridBookmarkButtonView( tags: initialTag != nil - ? localSearchText.components(separatedBy: .whitespaces).filter { !$0.isEmpty } + ? localSearchText.components(separatedBy: .whitespaces).filter { component in + !component.isEmpty + } : manager.tags, provider: manager.provider ) @@ -361,8 +365,11 @@ struct PostGridView: View { // swiftlint:disable:this type_body_length if initialTag != nil { await fetchLocalPosts( page: 1, - tags: localSearchText.components(separatedBy: .whitespaces).filter { !$0.isEmpty }, - replace: true) + tags: localSearchText.components(separatedBy: .whitespaces).filter { component in + !component.isEmpty + }, + replace: true + ) } else { manager.clearCachedPages() Task(priority: .userInitiated) { @@ -405,8 +412,9 @@ struct PostGridView: View { // swiftlint:disable:this type_body_length } private func waterfallGridContent(post: BooruPost) -> some View { - NavigationLink(value: PostWithContext(post: post, posts: initialTag != nil ? localPosts : nil)) - { + NavigationLink( + value: PostWithContext(post: post, posts: initialTag != nil ? localPosts : nil) + ) { PostGridThumbnailView( post: post, posts: activePosts, @@ -440,7 +448,9 @@ struct PostGridView: View { // swiftlint:disable:this type_body_length // MARK: - Local Search Methods private func performLocalSearch() async { - let inputTags = localSearchText.components(separatedBy: .whitespaces).filter { !$0.isEmpty } + let inputTags = localSearchText.components(separatedBy: .whitespaces).filter { component in + !component.isEmpty + } await fetchLocalPosts(page: 1, tags: inputTags, replace: true) } @@ -450,7 +460,9 @@ struct PostGridView: View { // swiftlint:disable:this type_body_length localCurrentPage += 1 - let inputTags = localSearchText.components(separatedBy: .whitespaces).filter { !$0.isEmpty } + let inputTags = localSearchText.components(separatedBy: .whitespaces).filter { component in + !component.isEmpty + } await fetchLocalPosts(page: localCurrentPage, tags: inputTags, replace: false) } -- cgit v1.2.3