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

- Add schema validation for query parameters
- Create pagination component with type definitions
- Implement division list view with search functionality
- Add data table configuration for division listing
- Handle pagination state and URL synchronization
This commit is contained in:
Khafid Prayoga
2025-09-01 14:45:32 +07:00
parent b1b324e688
commit 132068fcde
9 changed files with 556 additions and 75 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>