Always treat queries that start with ? as search queries (#489)

This commit is contained in:
Oleksii Holub 2024-08-23 02:40:27 +03:00 committed by GitHub
parent 5f5686e6a0
commit 4f2801b739
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 12 additions and 5 deletions

View File

@ -111,11 +111,17 @@ public class QueryResolver(IReadOnlyList<Cookie>? initialCookies = null)
public async Task<QueryResult> ResolveAsync( public async Task<QueryResult> ResolveAsync(
string query, string query,
CancellationToken cancellationToken = default CancellationToken cancellationToken = default
) => )
await TryResolvePlaylistAsync(query, cancellationToken) {
?? await TryResolveVideoAsync(query, cancellationToken) // If the query starts with a question mark, it's always treated as a search query
?? await TryResolveChannelAsync(query, cancellationToken) if (query.StartsWith('?'))
?? await ResolveSearchAsync(query, cancellationToken); return await ResolveSearchAsync(query[1..], cancellationToken);
return await TryResolvePlaylistAsync(query, cancellationToken)
?? await TryResolveVideoAsync(query, cancellationToken)
?? await TryResolveChannelAsync(query, cancellationToken)
?? await ResolveSearchAsync(query, cancellationToken);
}
public async Task<QueryResult> ResolveAsync( public async Task<QueryResult> ResolveAsync(
IReadOnlyList<string> queries, IReadOnlyList<string> queries,

View File

@ -27,6 +27,7 @@
ScrollViewer.HorizontalScrollBarVisibility="Hidden" ScrollViewer.HorizontalScrollBarVisibility="Hidden"
Text="{Binding Query}" Text="{Binding Query}"
Theme="{DynamicResource SoloTextBox}" Theme="{DynamicResource SoloTextBox}"
ToolTip.Tip="Any valid YouTube URL or ID is accepted. Prepend a question mark (?) to perform search by text."
Watermark="URL or search query"> Watermark="URL or search query">
<TextBox.InnerLeftContent> <TextBox.InnerLeftContent>
<materialIcons:MaterialIcon <materialIcons:MaterialIcon