From 001ba4146af95ef63a448f03f0be54cb5023149f Mon Sep 17 00:00:00 2001 From: Leandro Hernan Rojas Date: Thu, 8 May 2025 11:04:38 -0300 Subject: [PATCH] Add PhLinkToast --- .../Pages/Sales/Quotes/QuoteCreate.razor | 28 +++++++++-- .../Shared/Components/PhLinkToast.razor | 48 +++++++++++++++++++ 2 files changed, 72 insertions(+), 4 deletions(-) create mode 100644 phronCare.UIBlazor/Shared/Components/PhLinkToast.razor diff --git a/phronCare.UIBlazor/Pages/Sales/Quotes/QuoteCreate.razor b/phronCare.UIBlazor/Pages/Sales/Quotes/QuoteCreate.razor index 56ef11a..1c18536 100644 --- a/phronCare.UIBlazor/Pages/Sales/Quotes/QuoteCreate.razor +++ b/phronCare.UIBlazor/Pages/Sales/Quotes/QuoteCreate.razor @@ -6,10 +6,12 @@ @using phronCare.UIBlazor.Pages.Sales.Modals @using phronCare.UIBlazor.Services.Integrations @using phronCare.UIBlazor.Services.Sales.Quotes - +@using Blazored.Toast.Services +@using Blazored.Toast.Configuration @inject ISalesLookupService SalesLookupService @inject IQuoteService QuoteService @inject IToastService toastService + @inject NavigationManager Navigation @inject IModalService Modal @inject IExchangeRateService ExchangeRateService @@ -306,7 +308,7 @@ @@ -465,6 +467,21 @@ RecalculateTotals(); } + private async Task Cancel() + { + + // 2) Añades los parámetros que luego el componente tomará + // settings.Parameters.Add(nameof(CustomActionToast.Url), url); + ToastParameters _toastParameters; + + _toastParameters = new ToastParameters(); + _toastParameters.Add(nameof(PhLinkToast.Comprobante), "FAC A0001-00000009"); + + _toastParameters.Add(nameof(PhLinkToast.Style), "purple"); + toastService.ShowToast(_toastParameters); + + } + private async Task HandleValidSubmit() { // Si necesitas validar algo extra antes de llamar al servicio, hazlo aquí @@ -476,9 +493,12 @@ toastService.ShowError(result.ErrorMessage); return; } + ToastParameters _toastParameters; - toastService.ShowSuccess($"Presupuesto creado: {result.QuoteNumber}"); - //Navigation.NavigateTo($"/sales/quotes/details/{result.QuoteNumber}"); + _toastParameters = new ToastParameters(); + _toastParameters.Add(nameof(PhLinkToast.Comprobante), result.QuoteNumber); + _toastParameters.Add(nameof(PhLinkToast.Style), "success"); + toastService.ShowToast(_toastParameters); } /// diff --git a/phronCare.UIBlazor/Shared/Components/PhLinkToast.razor b/phronCare.UIBlazor/Shared/Components/PhLinkToast.razor new file mode 100644 index 0000000..5a3a953 --- /dev/null +++ b/phronCare.UIBlazor/Shared/Components/PhLinkToast.razor @@ -0,0 +1,48 @@ +@using Microsoft.AspNetCore.Components +@inject NavigationManager Navigation + +
+
+ + Documento + +
+
+@code { + [Parameter] public string Url { get; set; } = "/"; + [Parameter] public string Comprobante { get; set; } = "Ver"; + [Parameter] public string Style { get; set; } = "success"; + + void LinkClicked(MouseEventArgs e) + { + Navigation.NavigateTo(Url); + } + + string GetBackgroundColor() => Style.ToLower() switch + { + "success" => "#28a745", + "danger" => "#dc3545", + "primary" => "#007bff", + "dark" => "#343a40", + "info" => "#17a2b8", + "warning" => "#ffc107", + "secondary" => "#6c757d", + "light" => "#f8f9fa", + "muted" => "#6c757d", + "orange" => "#fd7e14", + "cyan" => "#0dcaf0", + "purple" => "#6f42c1", + "pink" => "#d63384", + "lime" => "#84cc16", + "indigo" => "#6610f2", + "rose" => "#e11d48", + "emerald" => "#10b981", + "amber" => "#d97706", + "violet" => "#7c3aed", + "slate" => "#64748b", + _ => "#6c757d" // fallback secondary + }; +}