diff --git a/Cargo.lock b/Cargo.lock index 69fa67e..d50f6aa 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3858,7 +3858,6 @@ dependencies = [ "libcosmic", "miette", "pretty_assertions", - "rapidfuzz", "rapidhash", "rayon", "resvg 0.45.1", @@ -5344,12 +5343,6 @@ version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f93e7e49bb0bf967717f7bd674458b3d6b0c5f48ec7e3038166026a69fc22223" -[[package]] -name = "rapidfuzz" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "270e04e5ea61d40841942bb15e451c29ee1618637bcf97fc7ede5dd4a9b1601b" - [[package]] name = "rapidhash" version = "4.0.0" diff --git a/Cargo.toml b/Cargo.toml index df13e63..8ab9d45 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -35,7 +35,6 @@ rayon = "1.11.0" resvg = "0.45.1" image = "0.25.8" rapidhash = "4.0.0" -rapidfuzz = "0.5.0" # femtovg = { version = "0.16.0", features = ["wgpu"] } # wgpu = "26.0.1" # mupdf = "0.5.0" diff --git a/src/ui/library.rs b/src/ui/library.rs index 69fc177..c5d2717 100644 --- a/src/ui/library.rs +++ b/src/ui/library.rs @@ -14,7 +14,6 @@ use cosmic::{ Element, Task, }; use miette::{IntoDiagnostic, Result}; -use rapidfuzz::distance::levenshtein; use sqlx::{pool::PoolConnection, Sqlite, SqlitePool}; use tracing::{debug, error, warn}; @@ -571,52 +570,15 @@ impl<'a> Library { &self, query: String, ) -> Vec { - let mut items: Vec = self - .song_library - .items - .iter() - .filter(|song| song.title.contains(&query)) - .map(|song| song.to_service_item()) - .collect(); - let videos: Vec = self - .video_library - .items - .iter() - .filter(|vid| vid.title.contains(&query)) - .map(|vid| vid.to_service_item()) - .collect(); - let images: Vec = self - .image_library - .items - .iter() - .filter(|image| image.title.contains(&query)) - .map(|image| image.to_service_item()) - .collect(); - let presentations: Vec = self - .presentation_library - .items - .iter() - .filter(|pres| pres.title.contains(&query)) - .map(|pres| pres.to_service_item()) - .collect(); - items.extend(videos); - items.extend(images); - items.extend(presentations); - 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() + let song1 = Song { + title: "Death Was Arrested".to_string(), + ..Default::default() + }; + let song2 = Song { + title: "Smelly_Belly".to_string(), + ..Default::default() + }; + vec![ServiceItem::from(&song1), ServiceItem::from(&song2)] } // fn update_item(self, item: C) -> Task {