facepile.rs

 1use ui::prelude::*;
 2use ui::{static_players, Facepile};
 3
 4use crate::story::Story;
 5
 6#[derive(Element, Default)]
 7pub struct FacepileStory {}
 8
 9impl FacepileStory {
10    fn render<V: 'static>(&mut self, _: &mut V, cx: &mut ViewContext<V>) -> impl IntoElement<V> {
11        let players = static_players();
12
13        Story::container(cx)
14            .child(Story::title_for::<_, Facepile>(cx))
15            .child(Story::label(cx, "Default"))
16            .child(
17                div()
18                    .flex()
19                    .gap_3()
20                    .child(Facepile::new(players.clone().into_iter().take(1)))
21                    .child(Facepile::new(players.clone().into_iter().take(2)))
22                    .child(Facepile::new(players.clone().into_iter().take(3))),
23            )
24    }
25}