-# Renders a single pose option in the pose picker grid -# @param pose [String] The pose name (e.g., "HAPPY_MASC") -# @param pet_state [PetState, nil] The pet state for this pose, or nil if unavailable -# @param selected [Boolean] Whether this pose is currently selected - is_available = pet_state.present? - pose_label = pose.split('_').map(&:capitalize).join(' ') %label.pose-option{class: [is_available ? 'available' : 'unavailable', selected ? 'selected' : nil]} = radio_button_tag :pose, pose, selected, disabled: !is_available, "aria-label": pose_label + (is_available ? "" : " (not available)") .pose-thumbnail - if is_available -# Create a minimal outfit with just this pet state for the thumbnail - thumbnail_outfit = Outfit.new(pet_state: pet_state, worn_items: []) = outfit_viewer thumbnail_outfit, class: "pose-thumbnail-viewer" - else .pose-unavailable %span.question-mark{title: "Not available"} ❓