use crate::prelude::*; use leptos::prelude::*; /// Spell slots for all nine levels: a row of clickable pips per level. /// Clicking toggles a slot used/unused. #[component] pub fn SpellSlots () -> impl IntoView { let state = expect_context::(); let player = state.player(); let slots = player.spell_slots(); // Toggles pip `slot_id` of `level` used/unused. let process_spell_slot_click = move |level: usize, slot_id: u8| { slots.update(|s| { let l = &mut s.0[level]; if slot_id < l.used { l.used = slot_id; } else { l.used = slot_id + 1; } }) }; view! {
spell slots/ячейки заклинаний:
{move || index + 1}
} }