feat(installation): implement installation list with pagination and search

refactor(installation): move form schema and configuration to separate files
fix(installation): update page title and content display
This commit is contained in:
Khafid Prayoga
2025-09-03 17:00:49 +07:00
parent 646c7b6d73
commit 4c0312e487
8 changed files with 537 additions and 163 deletions
@@ -0,0 +1,15 @@
import * as z from 'zod'
export const querySchema = z.object({
q: z.union([z.literal(''), z.string().min(3)]).optional().catch(''),
page: z.coerce.number().int().min(1).default(1).catch(1),
pageSize: z.coerce.number().int().min(5).max(20).default(10).catch(10),
})
export const defaultQuery = {
q: '',
page: 1,
pageSize: 10,
}
export type QueryParams = z.infer<typeof querySchema>