Николай, привет!
Понимаю ,что затык идиотский, но решить не могу. Прошу помощи.
Надо взять отсюда https://github.com/Fi1osof/pivkarta.ru-2/blob/5e1a4937498f2a6efb8c3cc6dbd0ca1a690c2e02/src/pages/Beers/Beer/index.tsx#L81
линки фоток и привести к виду
Это для запихования картинок в Lightbox
Спасибо! Изучаю ПР
Отправил ПР: https://github.com/Pivkarta/pivkarta.ru-2/pull/11
Там с типами следующая тонкость: у тебя вот такой тип: content: Maybe<any[] | Record<string, any>> | undefined
То есть или пусто, или массив, или объект. То есть проверкой на наличие ты уже отметаешь undefined, и у тебя остается или массив или объект. Но по прежнему или то, или другое. Следовательно это лечится проверкой на то, что это не массив.
Тогда ошибка пропадает, потому что остается только один вариант - это объект.
>> И ещё вопрос: в ImageList Material Ui можно сделать эффект лайтбокса или лучше react-lightbox-component использовать?
MUI не имеет эффектов типа лайтбокса, поэтому да, надо допкомпонент использовать.
Николай, привет!
Закинул коммит с ошибкой - опять с типами не понимаю: https://github.com/Pivkarta/pivkarta.ru-2/blob/2d6787948f2b5d7c2ee848e869619957847364a6/src/pages/Beers/Beer/index.tsx#L211
Можешь посмотреть? Коммит: https://github.com/Pivkarta/pivkarta.ru-2/commit/2d6787948f2b5d7c2ee848e869619957847364a6
И ещё вопрос: в ImageList Material Ui можно сделать эффект лайтбокса или лучше react-lightbox-component использовать?
ПыСы: пока все в одном файле, но я во вьюху перекну обязательно!
Супер, спасибо!
Изучаю.
Отправил PR, изучай: https://github.com/Pivkarta/pivkarta.ru-2/pull/10
Правда пока не очень отзывчивое текстовое поле получилось, потому что при вводе данных в нее выполняется изменение адресной строки, и только потом данные из эттой адресной строки прилетают в само поле. Из-за это не сразу появляются силы при вводе. Пока не придумал как сделать получше, так как в противном случае просто теряется функциональность. Потом что-нить придумаю.
Спасибо, ковыряю)
>> У тебя сейчас поиск рассчитан на точное вхождение. Вряд ли это то, что ты хотел. Правильней так:
-- потерялось что-то(
Вот этот вариант тебе тоже здесь не подходит, так как если не найдено ни одной записи, то выводится страница 404 без возможности изменить фильтр. Это надо убирать и делать кастомную надпись типа "Не найдено ни одного вида пива".
if (search) {
where.name = search
}
У тебя сейчас поиск рассчитан на точное вхождение. Вряд ли это то, что ты хотел. Правильней так:
const search: BeerSearch =
query.search && typeof query.search === 'string' && query.search
Здесь двойная проверка на query.search, чтобы было наверняка?))