Когда выбран один квадрат, все остальные должны стать серыми; клики и наведение на них не должны иметь эффекта.

Храните один selectedId; после выбора блокируйте остальные кнопки через disabled и серый стиль, исключив для них hover-эффекты.

Короткий ответ

Что ответить на собеседовании

Храните один selectedId; после выбора блокируйте остальные кнопки через disabled и серый стиль, исключив для них hover-эффекты.

Подробный разбор

Ответ с пояснениями

Храните один selectedId; после выбора блокируйте остальные кнопки через disabled и серый стиль, исключив для них hover-эффекты.

Для массива квадратов с уникальными id условие блокировки: selectedId !== null && selectedId !== item.id. В обработчике также проверяйте это условие, а CSS hover задавайте только для :not(:disabled). Нативные кнопки обеспечивают клавиатурную доступность. Возможность снять выбор повторным кликом нужно отдельно согласовать.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее