From 6dc4c4359aa161a92d994aeae58a41a6c521233c Mon Sep 17 00:00:00 2001 From: Reinout Meliesie Date: Thu, 29 Jan 2026 13:50:37 +0100 Subject: [PATCH] Refactor FilmGridItem::update to use Connector::forward --- .../media_grid_item/film_grid_item.rs | 24 ++++++++----------- 1 file changed, 10 insertions(+), 14 deletions(-) diff --git a/src/ui/components/media_grid_item/film_grid_item.rs b/src/ui/components/media_grid_item/film_grid_item.rs index 7f9a470..d7b9a2c 100644 --- a/src/ui/components/media_grid_item/film_grid_item.rs +++ b/src/ui/components/media_grid_item/film_grid_item.rs @@ -184,21 +184,17 @@ impl FactoryComponent for FilmGridItem { fn update(&mut self, message: FilmGridItemInput, sender: FactorySender) { match message { FilmGridItemInput::ItemClicked => { - let details_controller = FilmDetails::builder() - .launch(self.film.clone()) - // TODO: Replace this with Connector::forward. - .connect_receiver(clone!( - #[strong] - sender, - move |_, details_output| match details_output { - FilmDetailsOutput::WatchedStatusChanged(watched) => { - sender.input(FilmGridItemInput::WatchedStatusChanged(watched)); - } - FilmDetailsOutput::DownloadedStatusChanged(downloaded) => { - sender.input(FilmGridItemInput::DownloadedStatusChanged(downloaded)); - } + let details_controller = FilmDetails::builder().launch(self.film.clone()).forward( + sender.input_sender(), + |film_details_output| match film_details_output { + FilmDetailsOutput::WatchedStatusChanged(watched) => { + FilmGridItemInput::WatchedStatusChanged(watched) } - )); + FilmDetailsOutput::DownloadedStatusChanged(downloaded) => { + FilmGridItemInput::DownloadedStatusChanged(downloaded) + } + }, + ); self.details = Some(details_controller); } FilmGridItemInput::DetailsClosed => {