step_renderer

Composable render functions for the review card stack step

Toolbar & Stats

Review toolbar with card count selector and statistics.


render_review_toolbar


def render_review_toolbar(
    playback_speed:float=1.0, # Current playback speed
    auto_navigate:bool=False, # Whether auto-navigate is enabled
    document_title:str='', # Current document title
    urls:ReviewUrls=None, # URL bundle for audio control routes
    oob:bool=False, # Whether to render as OOB swap
)->Any: # Toolbar component

Render the review toolbar with title input and audio controls.


render_review_source_position


def render_review_source_position(
    assembled:List, # Assembled segments
    focused_index:int=0, # Currently focused segment index
    oob:bool=False, # Whether to render as OOB swap
)->Any: # Audio file position indicator (empty if single file)

Render audio file position indicator for the focused segment.


render_review_stats


def render_review_stats(
    assembled:List, # Assembled segments
    oob:bool=False, # Whether to render as OOB swap
)->Any: # Statistics component

Render review statistics.

Keyboard Hints Modal

# Keyboard hints now use render_keyboard_hints_modal() from cjm-fasthtml-keyboard-navigation
# Modal is rendered inline in render_review_step()

Main Content Area

Renders the review content area with card stack viewport and audio element.


render_review_content


def render_review_content(
    assembled:List, # Assembled segments to display
    focused_index:int, # Currently focused segment index
    visible_count:int, # Number of visible cards in viewport
    card_width:int, # Card stack width in rem
    urls:ReviewUrls, # URL bundle for review routes
    audio_urls:Optional=None, # Audio file URLs for Web Audio API
)->Any: # Main content area

Render the review content area with card stack viewport and keyboard system.

Full Step Renderer

Renders the complete review step with toolbar, content, and footer.


render_review_step


def render_review_step(
    assembled:List, # Assembled segments to display
    focused_index:int=0, # Currently focused segment index
    visible_count:int=1, # Number of visible cards
    is_auto_mode:bool=False, # Whether card count is in auto-adjust mode
    card_width:int=80, # Card stack width in rem
    playback_speed:float=1.0, # Current playback speed
    auto_navigate:bool=False, # Whether auto-navigate is enabled
    document_title:str='', # Current document title
    urls:ReviewUrls=None, # URL bundle for review routes
    audio_urls:Optional=None, # Audio file URLs for Web Audio API
)->Any: # Complete review step component

Render the complete review step with toolbar, content, and footer.