Отправил PR, изучай: https://github.com/Pivkarta/pivkarta.ru-2/pull/10

Правда пока не очень отзывчивое текстовое поле получилось, потому что при вводе данных в нее выполняется изменение адресной строки, и только потом данные из эттой адресной строки прилетают в само поле. Из-за это не сразу появляются силы при вводе. Пока не придумал как сделать получше, так как в противном случае просто теряется функциональность. Потом что-нить придумаю.
Спасибо, ковыряю)

>> У тебя сейчас поиск рассчитан на точное вхождение. Вряд ли это то, что ты хотел. Правильней так:
-- потерялось что-то(

return { statusCode: !result.data.beersConnection.edges.length ? 404 : undefined, }
Вот этот вариант тебе тоже здесь не подходит, так как если не найдено ни одной записи, то выводится страница 404 без возможности изменить фильтр. Это надо убирать и делать кастомную надпись типа "Не найдено ни одного вида пива".
if (search) { where.name = search }

У тебя сейчас поиск рассчитан на точное вхождение. Вряд ли это то, что ты хотел. Правильней так:

if (search) { // eslint-disable-next-line @typescript-eslint/camelcase where.name_contains = search }


const search: BeerSearch = query.search && typeof query.search === 'string' && query.search

Здесь двойная проверка на query.search, чтобы было наверняка?))
Понятно, ты хотел не
export type BeersPageViewProps = { // ... search: BeersSearchFilterProps }

а
export type BeersPageViewProps = { // ... search: BeersSearchFilterProps['search'] }
Далее, у тебя такой тип есть:
(alias) type BeersSearchFilterProps = { search: BeerSearch; } import BeersSearchFilterProps

и на вход search: BeersSearchFilterProps

И этот же search ты пытаешься пробросить в фильтр, где search: BeerSearch

То есть на самом деле тебе надо пробрасывать search.search. Будь внимательней к типам и вложенностям.


Ты когда пишешь про TS-ошибки, цитируй их здесь же. Чтобы тебе потом стыдно было :)
Пишет же: Type '{ search: BeersSearchFilterProps; }' is not assignable to type 'IntrinsicAttributes'. Property 'search' does not exist on type 'IntrinsicAttributes'.ts(2322)

Тебе же ясно говорится: не известен параметр search. Ты его прописал в параметрах BeersSearchFilter? Нет. Точнее, ты прописал в BeersSearchFilterProps, но не передал этот тип в BeersSearchFilter.

Николай, привет!
Делаю поиск по названию пива - запутался, посмотри, пожалуйста: