cards/client/src/components/game/cards.rs

34 lines
1.1 KiB
Rust

use leptos::prelude::*;
use lib::*;
#[component]
pub fn BlackCard() -> impl IntoView {
let game_meta = expect_context::<ReadSignal<Option<GameStateMeta>>>();
view! {
<Show when=move || { game_meta().is_some() }>
<div class="relative m-2 w-40 h-60 text-white bg-black rounded-lg shadow-black shadow-md">
<p class="p-4">{game_meta().unwrap().black.0}</p>
<p class="absolute right-4 bottom-4">Pick: {game_meta().unwrap().black.1}</p>
</div>
</Show>
}
}
#[component]
pub fn WhiteCard(card_data: WhiteCardMeta) -> impl IntoView {
let set_card_clicked = expect_context::<WriteSignal<String>>();
view! {
<div class="relative m-2 w-40 h-60 text-black bg-white rounded-lg shadow-black drop-shadow-lg">
<p class="p-4">{card_data.text}</p>
<button
class="absolute w-full h-full opacity-10 left-0 top-0"
type="button"
value=card_data.uuid.clone()
on:click=move |e| {
set_card_clicked(event_target_value(&e));
}
></button>
</div>
}
}