mirror of
https://github.com/yattee/yattee.git
synced 2026-05-12 18:35:05 +00:00
Hide tvOS search type/filters until query entered
Match iOS behavior by gating the type switcher and filters menus on an active query, and drop the .caption font so they render with the same default button font as View Options.
This commit is contained in:
@@ -126,19 +126,21 @@ struct InstanceBrowseView: View {
|
||||
Task { await searchViewModel?.search(query: searchText) }
|
||||
}
|
||||
|
||||
// Type filter
|
||||
filterMenu(
|
||||
title: (searchViewModel?.filters.type ?? .video).title,
|
||||
selection: Binding(
|
||||
get: { searchViewModel?.filters.type ?? .video },
|
||||
set: { searchViewModel?.filters.type = $0 }
|
||||
),
|
||||
options: SearchContentType.allCases,
|
||||
labelForOption: { $0.title }
|
||||
)
|
||||
if isInSearchMode {
|
||||
// Type filter
|
||||
filterMenu(
|
||||
title: (searchViewModel?.filters.type ?? .video).title,
|
||||
selection: Binding(
|
||||
get: { searchViewModel?.filters.type ?? .video },
|
||||
set: { searchViewModel?.filters.type = $0 }
|
||||
),
|
||||
options: SearchContentType.allCases,
|
||||
labelForOption: { $0.title }
|
||||
)
|
||||
|
||||
// Combined search filters menu
|
||||
tvOSFiltersMenu
|
||||
// Combined search filters menu
|
||||
tvOSFiltersMenu
|
||||
}
|
||||
|
||||
Button {
|
||||
showViewOptions = true
|
||||
@@ -543,7 +545,6 @@ struct InstanceBrowseView: View {
|
||||
}
|
||||
} label: {
|
||||
Text(title)
|
||||
.font(.caption)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -607,7 +608,6 @@ struct InstanceBrowseView: View {
|
||||
.disabled(searchViewModel?.filters.isDefault ?? true)
|
||||
} label: {
|
||||
Label(String(localized: "search.filters"), systemImage: "line.3.horizontal.decrease")
|
||||
.font(.caption)
|
||||
}
|
||||
}
|
||||
#else
|
||||
|
||||
@@ -192,19 +192,21 @@ struct SearchView: View {
|
||||
Task { await searchViewModel?.search(query: searchTextBinding.wrappedValue) }
|
||||
}
|
||||
|
||||
// Type filter
|
||||
filterMenu(
|
||||
title: (searchViewModel?.filters.type ?? .video).title,
|
||||
selection: Binding(
|
||||
get: { searchViewModel?.filters.type ?? .video },
|
||||
set: { searchViewModel?.filters.type = $0 }
|
||||
),
|
||||
options: SearchContentType.allCases,
|
||||
labelForOption: { $0.title }
|
||||
)
|
||||
if !searchTextBinding.wrappedValue.isEmpty {
|
||||
// Type filter
|
||||
filterMenu(
|
||||
title: (searchViewModel?.filters.type ?? .video).title,
|
||||
selection: Binding(
|
||||
get: { searchViewModel?.filters.type ?? .video },
|
||||
set: { searchViewModel?.filters.type = $0 }
|
||||
),
|
||||
options: SearchContentType.allCases,
|
||||
labelForOption: { $0.title }
|
||||
)
|
||||
|
||||
// Combined search filters menu
|
||||
tvOSFiltersMenu
|
||||
// Combined search filters menu
|
||||
tvOSFiltersMenu
|
||||
}
|
||||
|
||||
Button {
|
||||
showViewOptions = true
|
||||
@@ -458,7 +460,6 @@ struct SearchView: View {
|
||||
}
|
||||
} label: {
|
||||
Text(title)
|
||||
.font(.caption)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -530,7 +531,6 @@ struct SearchView: View {
|
||||
.disabled(searchViewModel?.filters.isDefault ?? true)
|
||||
} label: {
|
||||
Label(String(localized: "search.filters"), systemImage: "line.3.horizontal.decrease")
|
||||
.font(.caption)
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user