diff --git a/aep-schedule-website/src/frontend/pages/generator.rs b/aep-schedule-website/src/frontend/pages/generator.rs index c51087b3fbd5e22998f98aaf12d9947711bb68a5..40094dfe1e8c367fde55e969a451a9a69a976eac 100644 --- a/aep-schedule-website/src/frontend/pages/generator.rs +++ b/aep-schedule-website/src/frontend/pages/generator.rs @@ -5,8 +5,6 @@ use crate::frontend::state::action_add_course::ActionAddCourse; use crate::frontend::state::OptionState; use aep_schedule_generator::data::group_sigle::SigleGroup; use leptos::prelude::*; -#[cfg(feature = "hydrate")] -use web_sys::Event; #[derive(Clone, Copy)] pub struct SetModal(WriteSignal<Option<SigleGroup>>); @@ -26,25 +24,24 @@ pub fn GeneratorPage() -> impl IntoView { provide_context(SetModal(set_modal)); provide_context(ActionAddCourse::new(state)); - #[cfg(feature = "hydrate")] - let onscroll = move |ev: Event| { - use web_sys::wasm_bindgen::JsCast; - let target = ev.target().unwrap().dyn_into::<web_sys::Element>().unwrap(); - let scroll_top = target.scroll_top() as f64; - let client_height = target.client_height() as f64; - let scroll_height = target.scroll_height() as f64; - if (scroll_top + client_height >= scroll_height - 500.0) && state.step.get() == 6 { - state.regenerate(); - } - }; view! { <aside class="left-panel" class=("hide-left-panel", hide)> <OptionsForms /> </aside> - <section class="right-panel"> - on:scroll=onscroll + <div class="right-panel" + on:scroll:target=move |ev| { + use web_sys::wasm_bindgen::JsCast; + let target = ev.target().dyn_into::<web_sys::Element>().unwrap(); + let scroll_top = target.scroll_top() as f64; + let client_height = target.client_height() as f64; + let scroll_height = target.scroll_height() as f64; + if (scroll_top + client_height >= scroll_height - 500.0) && state.step.get() == 6 { + state.regenerate(); + } + } + > <SchedulesComponent /> - </section> + </div> <Notifications modal set_modal /> <button on:pointerdown=move |_| { hide.set(false) } id="go-back"> <CaretDoubleRight weight=IconWeight::Regular size="3vh" />