This commit is contained in:
David Arranz 2024-08-26 17:53:58 +02:00
parent 7cf1e713c9
commit 2ac383f0df
4 changed files with 26 additions and 14 deletions

View File

@ -253,15 +253,17 @@ export const QuotesDataTable = ({
); );
} }
console.log(data);
if (data?.total_items === 0 && !isFiltered) { if (data?.total_items === 0 && !isFiltered) {
return ( return (
<SimpleEmptyState <Card>
subtitle='Empieza creando alguna cotización' <CardContent>
buttonText='' <SimpleEmptyState
onButtonClick={() => navigate("add", { relative: "path" })} subtitle='Empieza creando alguna cotización'
/> buttonText={t("quotes.create.title")}
onButtonClick={() => navigate("add", { relative: "path" })}
/>
</CardContent>
</Card>
); );
} }

View File

@ -13,7 +13,7 @@ import { Button, Form, Tabs, TabsContent, TabsList, TabsTrigger } from "@/ui";
import { CurrencyData, IGetQuote_Response_DTO, Language } from "@shared/contexts"; import { CurrencyData, IGetQuote_Response_DTO, Language } from "@shared/contexts";
import { t } from "i18next"; import { t } from "i18next";
import { useEffect, useMemo, useState } from "react"; import { useEffect, useMemo, useState } from "react";
import { SubmitHandler, useForm } from "react-hook-form"; import { useForm } from "react-hook-form";
import { useNavigate } from "react-router-dom"; import { useNavigate } from "react-router-dom";
import { toast } from "react-toastify"; import { toast } from "react-toastify";
import { QuotePricesResume } from "./components"; import { QuotePricesResume } from "./components";
@ -130,7 +130,7 @@ export const QuoteEdit = () => {
isDirty, isDirty,
}); });
const onSubmit: SubmitHandler<QuoteDataForm> = async (data) => { const onSubmit = async (data: QuoteDataForm, shouldRedirect: boolean) => {
// Transformación del form -> typo de request // Transformación del form -> typo de request
mutate(data, { mutate(data, {
@ -143,6 +143,9 @@ export const QuoteEdit = () => {
onSuccess: () => { onSuccess: () => {
reset(getValues()); reset(getValues());
toast.success("Cotización guardada"); toast.success("Cotización guardada");
if (shouldRedirect) {
navigate("/quotes");
}
//clear(); //clear();
}, },
}); });
@ -240,7 +243,7 @@ export const QuoteEdit = () => {
return ( return (
<Form {...form}> <Form {...form}>
<form onSubmit={handleSubmit(onSubmit)}> <form onSubmit={handleSubmit((data) => onSubmit(data, false))}>
<div className='mx-auto grid max-w-[90rem] flex-1 auto-rows-max gap-6'> <div className='mx-auto grid max-w-[90rem] flex-1 auto-rows-max gap-6'>
<div className='flex items-center gap-4'> <div className='flex items-center gap-4'>
<BackHistoryButton /> <BackHistoryButton />
@ -252,19 +255,24 @@ export const QuoteEdit = () => {
<div className='items-center hidden gap-2 md:ml-auto md:flex'> <div className='items-center hidden gap-2 md:ml-auto md:flex'>
<CancelButton <CancelButton
label={t("common.cancel")} label={t("common.cancel")}
variant='outline' variant='secondary'
size='sm' size='sm'
onClick={() => navigate("/quotes")} onClick={() => navigate("/quotes")}
/> />
<SubmitButton <SubmitButton
label={t("common.save")} label={t("common.save")}
variant={formState.isDirty ? "default" : "outline"}
size='sm' size='sm'
disabled={formState.isSubmitting || formState.isLoading || formState.isValidating} disabled={formState.isSubmitting || formState.isLoading || formState.isValidating}
/>
<Button
size='sm'
disabled={formState.isSubmitting || formState.isLoading || formState.isValidating}
onClick={handleSubmit((data) => onSubmit(data, true))}
> >
{t("common.save")} {t("common.save_close")}
</SubmitButton> </Button>
</div> </div>
</div> </div>

View File

@ -6,6 +6,7 @@
"no": "No", "no": "No",
"yes": "Yes", "yes": "Yes",
"save": "Save", "save": "Save",
"save_close": "Save and Close",
"accept": "OK", "accept": "OK",
"discard": "Discard", "discard": "Discard",
"hide": "Hide", "hide": "Hide",

View File

@ -6,6 +6,7 @@
"no": "No", "no": "No",
"yes": "Sí", "yes": "Sí",
"save": "Guardar", "save": "Guardar",
"save_close": "Guardar y Cerrar",
"accept": "Aceptar", "accept": "Aceptar",
"discard": "Decartar", "discard": "Decartar",
"hide": "Ocultar", "hide": "Ocultar",