teqo-backup/src/lib/schemas/homeSearch.ts
Cursor Agent 1ed65d0d81
B92 — wizard idle suggest: rank + loader + UI
Add wizard-municipality-suggest mode to home-search with cold-first
ranking (signal → E14 → trend → E10 class → 2022 votes). Wizard
municipality step now fetches suggestions when query is idle.

Co-authored-by: Francisco Solla <fsolla@users.noreply.github.com>
2026-08-01 07:01:19 +00:00

28 lines
688 B
TypeScript

import { z } from 'zod'
import { HOME_SEARCH_MIN_QUERY_LENGTH } from '@/lib/campaignHomeSearchContract'
export const HOME_SEARCH_QUERY_MAX_LENGTH = 80
const homeSearchQueryField = z
.string()
.trim()
.min(HOME_SEARCH_MIN_QUERY_LENGTH, 'Digite pelo menos 2 caracteres.')
.max(HOME_SEARCH_QUERY_MAX_LENGTH)
export const homeSearchBodySchema = z.discriminatedUnion('mode', [
z.object({
mode: z.literal('search'),
query: homeSearchQueryField,
}),
z.object({
mode: z.literal('suggest'),
}),
z.object({
mode: z.literal('wizard-municipality'),
query: homeSearchQueryField,
}),
z.object({
mode: z.literal('wizard-municipality-suggest'),
}),
])