mejoras al formulario de registro organizaciones productivas
This commit is contained in:
34
apps/web/app/dashboard/formulario/editar/[id]/page.tsx
Normal file
34
apps/web/app/dashboard/formulario/editar/[id]/page.tsx
Normal file
@@ -0,0 +1,34 @@
|
||||
'use client';
|
||||
|
||||
import PageContainer from '@/components/layout/page-container';
|
||||
import { CreateTrainingForm } from '@/feactures/training/components/form';
|
||||
import { useTrainingByIdQuery } from '@/feactures/training/hooks/use-training';
|
||||
import { useParams, useRouter } from 'next/navigation';
|
||||
|
||||
export default function EditTrainingPage() {
|
||||
const router = useRouter();
|
||||
const params = useParams();
|
||||
const id = Number(params.id);
|
||||
|
||||
const { data: training, isLoading } = useTrainingByIdQuery(id);
|
||||
|
||||
if (isLoading) {
|
||||
return (
|
||||
<PageContainer>
|
||||
<div>Cargando...</div>
|
||||
</PageContainer>
|
||||
);
|
||||
}
|
||||
|
||||
return (
|
||||
<PageContainer scrollable>
|
||||
<div className="flex-1 space-y-4">
|
||||
<CreateTrainingForm
|
||||
defaultValues={training}
|
||||
onSuccess={() => router.push('/dashboard/formulario')}
|
||||
onCancel={() => router.back()}
|
||||
/>
|
||||
</div>
|
||||
</PageContainer>
|
||||
);
|
||||
}
|
||||
20
apps/web/app/dashboard/formulario/nuevo/page.tsx
Normal file
20
apps/web/app/dashboard/formulario/nuevo/page.tsx
Normal file
@@ -0,0 +1,20 @@
|
||||
'use client';
|
||||
|
||||
import PageContainer from '@/components/layout/page-container';
|
||||
import { CreateTrainingForm } from '@/feactures/training/components/form';
|
||||
import { useRouter } from 'next/navigation';
|
||||
|
||||
export default function NewTrainingPage() {
|
||||
const router = useRouter();
|
||||
|
||||
return (
|
||||
<PageContainer scrollable>
|
||||
<div className="flex-1 space-y-4">
|
||||
<CreateTrainingForm
|
||||
onSuccess={() => router.push('/dashboard/formulario')}
|
||||
onCancel={() => router.back()}
|
||||
/>
|
||||
</div>
|
||||
</PageContainer>
|
||||
);
|
||||
}
|
||||
@@ -1,15 +1,36 @@
|
||||
'use client';
|
||||
|
||||
import PageContainer from '@/components/layout/page-container';
|
||||
import { CreateTrainingForm } from '@/feactures/training/components/form';
|
||||
import { TrainingHeader } from '@/feactures/training/components/training-header';
|
||||
import TrainingList from '@/feactures/training/components/training-list';
|
||||
import TrainingTableAction from '@/feactures/training/components/training-tables/training-table-action';
|
||||
import { searchParamsCache } from '@repo/shadcn/lib/searchparams';
|
||||
import { SearchParams } from 'nuqs';
|
||||
|
||||
const Page = () => {
|
||||
return (
|
||||
|
||||
<div className="flex flex-1 flex-col gap-4 p-4 pt-0">
|
||||
<CreateTrainingForm />
|
||||
</div>
|
||||
);
|
||||
export const metadata = {
|
||||
title: 'Registro de OSP',
|
||||
};
|
||||
|
||||
export default Page;
|
||||
type PageProps = {
|
||||
searchParams: Promise<SearchParams>;
|
||||
};
|
||||
|
||||
export default async function Page({ searchParams }: PageProps) {
|
||||
const {
|
||||
page,
|
||||
q: searchQuery,
|
||||
limit,
|
||||
} = searchParamsCache.parse(await searchParams);
|
||||
|
||||
return (
|
||||
<PageContainer>
|
||||
<div className="flex flex-1 flex-col space-y-6">
|
||||
<TrainingHeader />
|
||||
<TrainingTableAction />
|
||||
<TrainingList
|
||||
initialPage={page}
|
||||
initialSearch={searchQuery}
|
||||
initialLimit={limit || 10}
|
||||
/>
|
||||
</div>
|
||||
</PageContainer>
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user