fix(web): montar Toaster + feedback toast en PermisosEditor [UDT-009]

Sonner estaba como dependencia pero el componente Toaster nunca se monto
en el arbol de la app. ChangeMyPasswordPage ya usaba toast() pero no
mostraba nada visualmente. Agregado <Toaster richColors closeButton /> en
App.tsx (top-right) y toasts de exito/error en PermisosEditor.handleSave
para confirmar al usuario que el cambio se persistio.
This commit is contained in:
2026-04-16 10:11:04 -03:00
parent a30b10ebff
commit 6822d56e11
2 changed files with 7 additions and 1 deletions

View File

@@ -1,5 +1,6 @@
import { BrowserRouter } from 'react-router-dom'
import { QueryClient, QueryClientProvider } from '@tanstack/react-query'
import { Toaster } from 'sonner'
import { AppRoutes } from './router'
const queryClient = new QueryClient({
@@ -15,6 +16,7 @@ function App() {
<BrowserRouter>
<AppRoutes />
</BrowserRouter>
<Toaster richColors closeButton position="top-right" />
</QueryClientProvider>
)
}

View File

@@ -1,5 +1,6 @@
import { useState, useEffect } from 'react'
import { isAxiosError } from 'axios'
import { toast } from 'sonner'
import { AlertCircle } from 'lucide-react'
import { Alert, AlertDescription } from '@/components/ui/alert'
import { Button } from '@/components/ui/button'
@@ -116,10 +117,13 @@ export function PermisosEditor({ userId }: PermisosEditorProps) {
{ grant, deny },
{
onError: (err) => {
setSaveError(resolveErrorMessage(err))
const msg = resolveErrorMessage(err)
setSaveError(msg)
toast.error(msg)
},
onSuccess: () => {
setSaveError(null)
toast.success('Permisos actualizados correctamente')
},
},
)