Create page components (list, detail, create, update) for a module
Create page components for a module in src/app/(protected)/[module]/.
This skill creates the standard CRUD pages for a module: List, Detail, Create, and Update.
The user will provide the module name as an argument. Example: /create-module-pages holidays
After running this skill, the following structure will be created:
src/app/(protected)/[module]/
├── page.tsx # List Page
├── create/
│ ├── page.tsx # Create Page
│ └── _hooks/
│ └── use-create-[module].ts
├── [id]/
│ ├── page.tsx # Detail Page
│ ├── _hooks/
│ │ └── use-[module]-query.ts
│ └── update/
│ ├── page.tsx # Update Page
│ └── _hooks/
│ └── use-update-[module]-mutation.ts
├── _components/
│ └── form/
│ ├── index.tsx # Shared Form Component
│ └── schema.ts # Zod Validation Schema
└── _hooks/
├── use-[module]s-query.ts
└── use-delete-[module]-mutation.ts
src/app/(protected)/[module]/page.tsx (List Page)create/page.tsx (Create Page) - Condition: Only if requested or exists in reference/xml[id]/page.tsx (Detail Page) - Condition: Only if requested or exists in reference/xml[id]/update/page.tsx (Update Page) - Condition: Only if requested or exists in reference/xml_components/form/index.tsx (Shared Form)_components/form/schema.ts (Validation Schema)_hooks/use-[module]s-query.ts_hooks/use-delete-[module]-mutation.tscreate/_hooks/use-create-[module].ts - Condition/Related: Create hooks[id]/_hooks/use-[module]-query.ts - Condition/Related: Detail/Update hooks[id]/update/_hooks/use-update-[module]-mutation.ts - Condition/Related: Update hookssrc/app/(protected)/[module]/page.tsx)create/page.tsx) - (Optional: check User Request/XML)[id]/page.tsx) - (Optional: check User Request/XML)[id]/update/page.tsx) - (Optional: check User Request/XML)_components/form/index.tsx & _components/form/schema.ts)_hooks/use-[module]s-query.ts_hooks/use-delete-[module]-mutation.tscreate/_hooks/use-create-[module].ts (Optional)[id]/_hooks/use-[module]-query.ts (Optional)[id]/update/_hooks/use-update-[module]-mutation.ts (Optional)ROUTES object from @/commons/constants/routes with generatePath from react-router for parameterized routes.useNavigate from react-router.schema.ts.Ant Design Form with createZodSync from @/utils/zod-sync.isPending / isLoading from TanStack Query.useFormErrorHandling hook from @/app/_hooks/form/use-form-error-handling.Admiral components (Page, Section from admiral, Datatable from admiral/table/datatable/index).makeSource from @/utils/data-table and useFilter from @/app/_hooks/datatable/use-filter.formatDate / formatStringToDate from @/utils/date-format.export const [module]sQueryKey = "get-[module]-list"). Mutation hooks import query keys from sibling hook files for invalidation.useMutation from @/app/_hooks/request/use-mutation. Invalidate queries via queryClient.invalidateQueries() in onSuccess.TResponseError from @/commons/types/response for error prop types.holiday-dates).template.md for code templatesreference.md for standard page implementations (points to src/app/(protected)/examples)