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:
Arkadiusz Fal
2026-04-17 05:13:45 +02:00
parent 025dc73e59
commit 281f5e0f13
2 changed files with 28 additions and 28 deletions

View File

@@ -126,6 +126,7 @@ struct InstanceBrowseView: View {
Task { await searchViewModel?.search(query: searchText) }
}
if isInSearchMode {
// Type filter
filterMenu(
title: (searchViewModel?.filters.type ?? .video).title,
@@ -139,6 +140,7 @@ struct InstanceBrowseView: View {
// 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

View File

@@ -192,6 +192,7 @@ struct SearchView: View {
Task { await searchViewModel?.search(query: searchTextBinding.wrappedValue) }
}
if !searchTextBinding.wrappedValue.isEmpty {
// Type filter
filterMenu(
title: (searchViewModel?.filters.type ?? .video).title,
@@ -205,6 +206,7 @@ struct SearchView: View {
// 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