Запутался: здесь внутри const citiesList {citiesList} на 88 строке. А интеграция списка городов сюда тоже {citiesList}. Как это?

Николай, вопрос: Это всё механика открытия и закрытия бургера на мобверсии и надо на базе этого кода сделать выпадающее меню по городам?

Понял, учусь формулировать. Но тут как раз комплексная проблема: я понимаю, как сформирован список городов, но как и на какой конкретно элемент повесить событие, почему выпадающий блок, если поствить в меню, отображается обычным списком и как toggleMenu связано со стилями [opened] в styled-component? Постараюсь выделить более точную задачу и напишу.

Дима, полдела - это правильно сформулировать задачу. Сформулируй четко что именно у тебя не получается. Нельзя вот так просто сказать "У меня не получается, сделай за меня". Я так не понимаю что тебе ясно, а что не ясно. Надо четко обозначать каждый неясный момент. Цикла написать, фильтрацию, поиск, стили прописать, навесить ивенты и т.д. и т.п - это куча отдельных задачек. И так будет всегда. Можешь в отдельные подзадачки (чтобы проще потом искать), можешь просто комментами писать отдельно по каждой. Как хочешь.

Николай, туплю: понимание, как сделать, так и не пришло. Нужна твоя помощь)

Дима, привет! Тебе ни то, ни другое не нужно. Запомни: все стили делаем на styled-components. Там уже вроде как все есть. Вот смотри стили для выпадашек. Вот метод на открытие/закрытие меню. Вот навешивается ивент на документ, чтобы по клику где угодно меню закрылось. Это все для мобильной версии, для меню, но бери это за основу и себе доделай. Если что не понятно будет, спрашивай.

Николай, привет! Настраиваю отображение выпадающего меню с городами и запутался) Верстка имеет признаки bootstrap, а ты вроде как используешь material-ui. Вопрос: я что-то не понял или лучше перевести всё меню на material-ui?

Сейчас неправильная модель идет для объекта PromoCode, так как его содержит объект Order и в нем не всегда есть актуальная информация по скидке. Эти данные рассчитываются для каждого CatalogItem в отдельности.