//! Card rendering helpers (plain functions returning views). use sycamore::prelude::*; use crate::model::{card_asset, card_label, CARD_BACK}; /// Render a card image at a given size class (`mini`, `move-card`, /// `hand-card`, `table-card`). pub fn card_img(code: String, class: &'static str) -> View { let src = card_asset(&code); let alt = card_label(&code); view! { img(src=src, class=format!("card-img {class}"), alt=alt, draggable="false") } } /// Render the back of a card (used for opponents' hidden hands). pub fn card_back(class: &'static str) -> View { view! { img(src=CARD_BACK, class=format!("card-img {class}"), alt="card back", draggable="false") } }