Skip to content

Commit

Permalink
Code cleanup
Browse files Browse the repository at this point in the history
  • Loading branch information
Dimillian committed May 17, 2021
1 parent fa995b4 commit 4647f76
Show file tree
Hide file tree
Showing 6 changed files with 48 additions and 34 deletions.
30 changes: 15 additions & 15 deletions RedditOs.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

/* Begin PBXBuildFile section */
6906880D24B743900067D973 /* SubredditPostRow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6906880C24B743900067D973 /* SubredditPostRow.swift */; };
691747E224DBEA240017E068 /* GlobalSearchSubRow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 691747E124DBEA240017E068 /* GlobalSearchSubRow.swift */; };
691747E224DBEA240017E068 /* SearchSuggestionsResultRow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 691747E124DBEA240017E068 /* SearchSuggestionsResultRow.swift */; };
6918A8CB24C1FEDC008A74E1 /* FlairView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6918A8CA24C1FEDC008A74E1 /* FlairView.swift */; };
691FD7B624C75CCD002E2C9C /* SubredditPostThumbnailView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 691FD7B524C75CCD002E2C9C /* SubredditPostThumbnailView.swift */; };
69222AA124CC015E009F31B4 /* PostsListView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 69222AA024CC015E009F31B4 /* PostsListView.swift */; };
Expand All @@ -30,7 +30,7 @@
692F237624CB3A7B006C9D40 /* SavedPostsListView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 692F237524CB3A7B006C9D40 /* SavedPostsListView.swift */; };
693BD7732518C4FB00CA5214 /* PostDetailToolbar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 693BD7722518C4FB00CA5214 /* PostDetailToolbar.swift */; };
693F85D124D0690500224ADB /* NSTextField.swift in Sources */ = {isa = PBXBuildFile; fileRef = 693F85D024D0690500224ADB /* NSTextField.swift */; };
693F85D424D0715000224ADB /* ToolbarSearchBar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 693F85D324D0715000224ADB /* ToolbarSearchBar.swift */; };
693F85D424D0715000224ADB /* SearchBar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 693F85D324D0715000224ADB /* SearchBar.swift */; };
694C634F24C0AA6D0017897D /* SidebarSubredditRow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 694C634E24C0AA6D0017897D /* SidebarSubredditRow.swift */; };
6970A0AE24B74A9D00B11031 /* PostInfoView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6970A0AD24B74A9D00B11031 /* PostInfoView.swift */; };
6970A0B324B77D1200B11031 /* PostVoteView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6970A0B224B77D1200B11031 /* PostVoteView.swift */; };
Expand Down Expand Up @@ -60,15 +60,15 @@
69EACF1C24B7272E00303A16 /* Backend in Frameworks */ = {isa = PBXBuildFile; productRef = 69EACF1B24B7272E00303A16 /* Backend */; };
69EACF2524B73DF400303A16 /* SubredditViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 69EACF2424B73DF400303A16 /* SubredditViewModel.swift */; };
69F74E9324DAE65100E58BD8 /* AwardView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 69F74E9224DAE65100E58BD8 /* AwardView.swift */; };
69F74E9624DB0B7300E58BD8 /* GlobalSearchPopoverView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 69F74E9524DB0B7300E58BD8 /* GlobalSearchPopoverView.swift */; };
69F74E9624DB0B7300E58BD8 /* SearchSuggestionsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 69F74E9524DB0B7300E58BD8 /* SearchSuggestionsView.swift */; };
9F19B57A26505DCF00FBEEDA /* SidebarMultiView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9F19B57926505DCF00FBEEDA /* SidebarMultiView.swift */; };
9F4812CC264FC8DB007A719D /* SearchMainContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9F4812CB264FC8DB007A719D /* SearchMainContentView.swift */; };
9F8EE49126510BCF00BDE4AC /* MarkdownUI in Frameworks */ = {isa = PBXBuildFile; productRef = 9F8EE49026510BCF00BDE4AC /* MarkdownUI */; };
/* End PBXBuildFile section */

/* Begin PBXFileReference section */
6906880C24B743900067D973 /* SubredditPostRow.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SubredditPostRow.swift; sourceTree = "<group>"; };
691747E124DBEA240017E068 /* GlobalSearchSubRow.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GlobalSearchSubRow.swift; sourceTree = "<group>"; };
691747E124DBEA240017E068 /* SearchSuggestionsResultRow.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SearchSuggestionsResultRow.swift; sourceTree = "<group>"; };
6918A8CA24C1FEDC008A74E1 /* FlairView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FlairView.swift; sourceTree = "<group>"; };
691FD7B524C75CCD002E2C9C /* SubredditPostThumbnailView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SubredditPostThumbnailView.swift; sourceTree = "<group>"; };
69222AA024CC015E009F31B4 /* PostsListView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PostsListView.swift; sourceTree = "<group>"; };
Expand All @@ -90,7 +90,7 @@
692F237524CB3A7B006C9D40 /* SavedPostsListView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SavedPostsListView.swift; sourceTree = "<group>"; };
693BD7722518C4FB00CA5214 /* PostDetailToolbar.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PostDetailToolbar.swift; sourceTree = "<group>"; };
693F85D024D0690500224ADB /* NSTextField.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NSTextField.swift; sourceTree = "<group>"; };
693F85D324D0715000224ADB /* ToolbarSearchBar.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ToolbarSearchBar.swift; sourceTree = "<group>"; };
693F85D324D0715000224ADB /* SearchBar.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SearchBar.swift; sourceTree = "<group>"; };
694C634E24C0AA6D0017897D /* SidebarSubredditRow.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SidebarSubredditRow.swift; sourceTree = "<group>"; };
6970A0AD24B74A9D00B11031 /* PostInfoView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PostInfoView.swift; sourceTree = "<group>"; };
6970A0B224B77D1200B11031 /* PostVoteView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PostVoteView.swift; sourceTree = "<group>"; };
Expand Down Expand Up @@ -122,7 +122,7 @@
69EACF1924B7223E00303A16 /* Backend */ = {isa = PBXFileReference; lastKnownFileType = folder; name = Backend; path = Packages/Backend; sourceTree = "<group>"; };
69EACF2424B73DF400303A16 /* SubredditViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SubredditViewModel.swift; sourceTree = "<group>"; };
69F74E9224DAE65100E58BD8 /* AwardView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AwardView.swift; sourceTree = "<group>"; };
69F74E9524DB0B7300E58BD8 /* GlobalSearchPopoverView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GlobalSearchPopoverView.swift; sourceTree = "<group>"; };
69F74E9524DB0B7300E58BD8 /* SearchSuggestionsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SearchSuggestionsView.swift; sourceTree = "<group>"; };
9F19B57926505DCF00FBEEDA /* SidebarMultiView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SidebarMultiView.swift; sourceTree = "<group>"; };
9F4812CB264FC8DB007A719D /* SearchMainContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SearchMainContentView.swift; sourceTree = "<group>"; };
/* End PBXFileReference section */
Expand Down Expand Up @@ -255,8 +255,8 @@
children = (
9F4812CB264FC8DB007A719D /* SearchMainContentView.swift */,
6970A0BA24B79F5900B11031 /* SearchState.swift */,
693F85D324D0715000224ADB /* ToolbarSearchBar.swift */,
69F74E9424DB0B5600E58BD8 /* Global Search Popopver */,
693F85D324D0715000224ADB /* SearchBar.swift */,
69F74E9424DB0B5600E58BD8 /* Seach Suggestions */,
693F85D224D06AA700224ADB /* Subreddit Search Popover */,
);
path = Search;
Expand Down Expand Up @@ -373,13 +373,13 @@
path = Post;
sourceTree = "<group>";
};
69F74E9424DB0B5600E58BD8 /* Global Search Popopver */ = {
69F74E9424DB0B5600E58BD8 /* Seach Suggestions */ = {
isa = PBXGroup;
children = (
69F74E9524DB0B7300E58BD8 /* GlobalSearchPopoverView.swift */,
691747E124DBEA240017E068 /* GlobalSearchSubRow.swift */,
69F74E9524DB0B7300E58BD8 /* SearchSuggestionsView.swift */,
691747E124DBEA240017E068 /* SearchSuggestionsResultRow.swift */,
);
path = "Global Search Popopver";
path = "Seach Suggestions";
sourceTree = "<group>";
};
/* End PBXGroup section */
Expand Down Expand Up @@ -474,7 +474,7 @@
6924D54324CDD049005487CA /* UIState.swift in Sources */,
692566D624B8A25A0014E0D4 /* PostDetailContent.swift in Sources */,
694C634F24C0AA6D0017897D /* SidebarSubredditRow.swift in Sources */,
693F85D424D0715000224ADB /* ToolbarSearchBar.swift in Sources */,
693F85D424D0715000224ADB /* SearchBar.swift in Sources */,
69EACF1524B6F1E200303A16 /* SubredditPostsListView.swift in Sources */,
697E324D24E3F2900006F00F /* SharingPicker.swift in Sources */,
9F19B57A26505DCF00FBEEDA /* SidebarMultiView.swift in Sources */,
Expand All @@ -489,8 +489,8 @@
6924D54A24CDDDD9005487CA /* UserSheetCommentsView.swift in Sources */,
6970A0C324B896CD00B11031 /* PostDetailCommentsSection.swift in Sources */,
6970A0B924B79AFD00B11031 /* PopoverSearchSubredditView.swift in Sources */,
691747E224DBEA240017E068 /* GlobalSearchSubRow.swift in Sources */,
69F74E9624DB0B7300E58BD8 /* GlobalSearchPopoverView.swift in Sources */,
691747E224DBEA240017E068 /* SearchSuggestionsResultRow.swift in Sources */,
69F74E9624DB0B7300E58BD8 /* SearchSuggestionsView.swift in Sources */,
69222AA324CC0291009F31B4 /* PostNoSelectionPlaceholder.swift in Sources */,
6924D53C24CD949D005487CA /* UserPopoverView.swift in Sources */,
69F74E9324DAE65100E58BD8 /* AwardView.swift in Sources */,
Expand Down
2 changes: 1 addition & 1 deletion RedditOs/Features/Post/PostDetailToolbar.swift
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ struct PostDetailToolbar: ToolbarContent {
SharingView(url: shareURL)
Spacer()
if displaySearchBar {
ToolbarSearchBar(isPopoverEnabled: true,
SearchBar(showSuggestionPopover: true,
onCommit: {}, onCancel: {})
.frame(width: 300)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import SwiftUI
import Kingfisher
import UI

struct GlobalSearchSubRow: View {
struct SearchSuggestionsResultRow: View {
struct TextViewContainer: View {
@State private var isHovered = false

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,25 @@
import SwiftUI
import Backend

struct GlobalSearchPopoverView: View {
struct SearchSuggestionsView: View {
@EnvironmentObject private var uiState: UIState
@EnvironmentObject private var currentUser: CurrentUserStore
@EnvironmentObject private var searchState: SearchState

struct ResultContainerView<Content: View>: View {
private let content: Content

init(@ViewBuilder content: @escaping () -> Content) {
self.content = content()
}

var body: some View {
Group {
content
}.padding(4)
}
}

var body: some View {
Section(header: makeTitle("Quick access")) {
makeQuickAccess()
Expand All @@ -38,17 +52,17 @@ struct GlobalSearchPopoverView: View {
}

private func makeQuickAccess() -> some View {
Group {
GlobalSearchSubRow(icon: nil,
name: "Go to r/\(searchState.searchText)")
ResultContainerView {
SearchSuggestionsResultRow(icon: nil,
name: "Go to r/\(searchState.searchText)")
.onTapGesture {
uiState.searchRoute = .subreddit(subreddit: searchState.searchText)
}
}.padding(4)
}
}

private func makeMySubscriptionsSearch() -> some View {
Group {
ResultContainerView {
if let subs = searchState.filteredSubscriptions {
if subs.isEmpty {
Label("No matching subscriptions for \(searchState.searchText)", systemImage: "magnifyingglass")
Expand All @@ -58,11 +72,11 @@ struct GlobalSearchPopoverView: View {
}
}
}
}.padding(4)
}
}

private func makeSubredditSearch() -> some View {
Group {
ResultContainerView {
if let results = searchState.results {
if results.isEmpty {
Label("No matching search for \(searchState.searchText)", systemImage: "magnifyingglass")
Expand All @@ -74,11 +88,11 @@ struct GlobalSearchPopoverView: View {
} else if searchState.isLoading {
LoadingRow(text: nil)
}
}.padding(4)
}
}

private func makeSubRow(icon: String?, name: String) -> some View {
GlobalSearchSubRow(icon: icon, name: name)
SearchSuggestionsResultRow(icon: icon, name: name)
.onTapGesture {
uiState.searchRoute = .subreddit(subreddit: name)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,21 +7,21 @@

import SwiftUI

struct ToolbarSearchBar: View {
struct SearchBar: View {
@EnvironmentObject private var uiState: UIState
@EnvironmentObject private var searchState: SearchState
@State private var isFocused = false
@State private var isPopoverPresented = false

let isPopoverEnabled: Bool
let showSuggestionPopover: Bool
let onCommit: () -> Void
let onCancel: () -> Void

var body: some View {
HStack {
TextField("Search anything", text: $searchState.searchText) { editing in
isFocused = editing
if isPopoverEnabled {
if showSuggestionPopover {
isPopoverPresented = editing
}
} onCommit: {
Expand All @@ -37,7 +37,7 @@ struct ToolbarSearchBar: View {
.popover(isPresented: $isPopoverPresented) {
ScrollView {
VStack(alignment: .leading) {
GlobalSearchPopoverView()
SearchSuggestionsView()
}.padding()
}.frame(width: 300, height: 500)
}
Expand All @@ -59,6 +59,6 @@ struct ToolbarSearchBar: View {

struct ToolbarSearchBar_Previews: PreviewProvider {
static var previews: some View {
ToolbarSearchBar(isPopoverEnabled: true, onCommit: { }, onCancel: { }).environmentObject(SearchState())
SearchBar(showSuggestionPopover: true, onCommit: { }, onCancel: { }).environmentObject(SearchState())
}
}
4 changes: 2 additions & 2 deletions RedditOs/Features/Search/SearchMainContentView.swift
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ struct SearchMainContentView: View {
.frame(height: 50)
route.makeView()
} else {
ToolbarSearchBar(isPopoverEnabled: false, onCommit: {
SearchBar(showSuggestionPopover: false, onCommit: {
resultsDisplayMode = .posts
}, onCancel: {
resultsDisplayMode = .autocomplete
Expand Down Expand Up @@ -70,7 +70,7 @@ struct SearchMainContentView: View {
}
}
} else {
GlobalSearchPopoverView()
SearchSuggestionsView()
}
case .posts:
if let results = searchState.postResults {
Expand Down

0 comments on commit 4647f76

Please sign in to comment.