diff --git a/CinemaJellyfin/CinemaFilterFolder.cs b/CinemaJellyfin/CinemaFilterFolder.cs index 1d34dcf..5992a28 100644 --- a/CinemaJellyfin/CinemaFilterFolder.cs +++ b/CinemaJellyfin/CinemaFilterFolder.cs @@ -107,8 +107,8 @@ public abstract class CinemaFilterFolder : Folder ItemOrder sortDir; if (query.OrderBy.Count == 0) { - sortBy = FilterSortBy.Title; - sortDir = ItemOrder.Ascending; + sortBy = FilterSortBy.Score; + sortDir = ItemOrder.Descending; } else { @@ -117,7 +117,18 @@ public abstract class CinemaFilterFolder : Folder sortDir = sortDirJ == SortOrder.Ascending ? ItemOrder.Ascending : ItemOrder.Descending; } - FilterResponse? filterRes = Metadata.SearchAsync(query.SearchTerm ?? "", order: sortDir, sort: sortBy, type: ItemType, offset: offset, limit: limit).GetAwaiter().GetResult(); + string? expression = query.SearchTerm; + if (expression == null) + { + expression = query.NameStartsWith; + if (expression != null && query.OrderBy.Count == 0) + { + sortBy = FilterSortBy.Title; + sortDir = ItemOrder.Ascending; + } + } + + FilterResponse? filterRes = Metadata.SearchAsync(expression ?? "", order: sortDir, sort: sortBy, type: ItemType, offset: offset, limit: limit).GetAwaiter().GetResult(); if (filterRes != null && filterRes.hits != null && filterRes.hits.hits != null) { if (filterRes.hits.total != null)