import partsData from '../../data/index.js';
import { formatPrice } from '../../utils/priceFormat';
export default function MotorStep({ config, updateConfig }) {
const selectedMotorId = config.motor?.id;
const handleSelect = (motor) => {
updateConfig({ motor });
};
const recommendedMotors = partsData.motors.filter(m => m.recommended);
const otherMotors = partsData.motors.filter(m => !m.recommended);
const hasSingleRecommended = recommendedMotors.length === 1;
const renderMotorCard = (motor, isRecommended = false, isSlightlyLarger = false) => (
);
return (
Select Motor
Choose the stepper motor for your OSSM build.
{/* Recommended Motor(s) */}
{recommendedMotors.length > 0 && (
{hasSingleRecommended ? (
{renderMotorCard(recommendedMotors[0], true, true)}
) : (
Recommended Options
{recommendedMotors.map((motor) => renderMotorCard(motor, true, false))}
)}
)}
{/* Other Motors - Smaller Grid */}
{otherMotors.length > 0 && (
Other Options
{otherMotors.map((motor) => renderMotorCard(motor, false, false))}
)}
);
}