improve search a bit
Some checks are pending
/ test (push) Waiting to run

This commit is contained in:
Chris Cochrun 2025-09-10 09:48:40 -05:00
parent 8d5455eab7
commit 6cb06c4f0d
2 changed files with 24 additions and 22 deletions

View file

@ -480,9 +480,25 @@ impl cosmic::Application for App {
.map(|item| { .map(|item| {
let title = text::title4(item.title.clone()); let title = text::title4(item.title.clone());
let subtitle = text::body(item.kind.to_string()); let subtitle = text::body(item.kind.to_string());
Element::from(column![title, subtitle].spacing( Element::from(Container::new(row![
cosmic::theme::active().cosmic().space_xxs(), column![title, subtitle].spacing(
)) cosmic::theme::active()
.cosmic()
.space_xxs(),
),
button::icon(
icon::from_name("add")
.scale(
cosmic::theme::active()
.cosmic()
.space_l()
)
.symbolic(true)
)
.on_press(
Message::AppendServiceItem(item.clone())
)
]))
}) })
.collect(); .collect();
let modal = Container::new( let modal = Container::new(

View file

@ -571,26 +571,19 @@ impl<'a> Library {
&self, &self,
query: String, query: String,
) -> Vec<ServiceItem> { ) -> Vec<ServiceItem> {
let query = query.to_lowercase();
let mut items: Vec<ServiceItem> = self let mut items: Vec<ServiceItem> = self
.song_library .song_library
.items .items
.iter() .iter()
.filter(|song| { .filter(|song| song.title.to_lowercase().contains(&query))
song.title
.to_lowercase()
.contains(&query.to_lowercase())
})
.map(|song| song.to_service_item()) .map(|song| song.to_service_item())
.collect(); .collect();
let videos: Vec<ServiceItem> = self let videos: Vec<ServiceItem> = self
.video_library .video_library
.items .items
.iter() .iter()
.filter(|vid| { .filter(|vid| vid.title.to_lowercase().contains(&query))
vid.title
.to_lowercase()
.contains(&query.to_lowercase())
})
.map(|vid| vid.to_service_item()) .map(|vid| vid.to_service_item())
.collect(); .collect();
let images: Vec<ServiceItem> = self let images: Vec<ServiceItem> = self
@ -598,10 +591,7 @@ impl<'a> Library {
.items .items
.iter() .iter()
.filter(|image| { .filter(|image| {
image image.title.to_lowercase().contains(&query)
.title
.to_lowercase()
.contains(&query.to_lowercase())
}) })
.map(|image| image.to_service_item()) .map(|image| image.to_service_item())
.collect(); .collect();
@ -609,11 +599,7 @@ impl<'a> Library {
.presentation_library .presentation_library
.items .items
.iter() .iter()
.filter(|pres| { .filter(|pres| pres.title.to_lowercase().contains(&query))
pres.title
.to_lowercase()
.contains(&query.to_lowercase())
})
.map(|pres| pres.to_service_item()) .map(|pres| pres.to_service_item())
.collect(); .collect();
items.extend(videos); items.extend(videos);