diff --git a/src/ui/library.rs b/src/ui/library.rs index 941c253..69fc177 100644 --- a/src/ui/library.rs +++ b/src/ui/library.rs @@ -602,8 +602,21 @@ impl<'a> Library { items.extend(videos); items.extend(images); items.extend(presentations); - items.sort_by(|a, b| todo!()); - items + let mut items: Vec<(usize, ServiceItem)> = items + .into_iter() + .map(|item| { + ( + levenshtein::distance( + query.bytes(), + item.title.bytes(), + ), + item, + ) + }) + .collect(); + + items.sort_by(|a, b| a.0.cmp(&b.0)); + items.into_iter().map(|item| item.1).collect() } // fn update_item(self, item: C) -> Task {