Recording card + library grid
The library's card primitive and the grid that lays cards out under a filter + sort + layout toolbar. Card lifecycle covers Ready, Processing (with percent overlay), and Failed.
Card states
| State | Story |
|---|---|
| Ready | recording-card-ready |
| Processing | recording-card-processing |
| Missing thumbnail | recording-card-empty-thumbnail |
Grid states
| State | Story |
|---|---|
| Default | library-grid-default |
| Empty | library-grid-empty |
| List mode | library-grid-list-mode |
API
#![allow(unused)] fn main() { use ui_storybook::components::library::{ LibraryGrid, RecordingCard, RecordingCardState, }; use ui_storybook::fixtures::library::{sample_library_grid, sample_recording_cards}; view! { <LibraryGrid view=sample_library_grid() /> } }
Card thumbnails are CSS background: values, not real video frames.
That keeps the SSR snapshot deterministic across machines and
avoids dragging the renderer into the library surface. App-side
state will swap the gradient for a real
url(file://...) once the encoder writes a poster frame.