feat: version 2.3.0 -- aviso de actualizacion pendiente al iniciar sesion
Superadmin ve un popup con acceso directo a Configuracion > Actualizaciones si hay una version nueva disponible, en vez de tener que acordarse de revisar el panel manualmente. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
import { Navigate } from 'react-router-dom';
|
||||
import { useEffect } from 'react';
|
||||
import { Navigate, useSearchParams } from 'react-router-dom';
|
||||
import { Palette, ListChecks, Flag, FolderKanban, Layers, Mail, Building2, RefreshCw, Bug } from 'lucide-react';
|
||||
import { useUi } from '../../context/ui-context.jsx';
|
||||
import { useAuth } from '../../context/auth-context.jsx';
|
||||
@@ -14,6 +15,20 @@ import ErrorLogsPanel from './ErrorLogsPanel.jsx';
|
||||
export default function ConfiguracionPage() {
|
||||
const { t, theme, setTheme, lang, setLang, buttonMode, setButtonMode } = useUi();
|
||||
const { user } = useAuth();
|
||||
const [searchParams] = useSearchParams();
|
||||
const openUpdates = searchParams.get('open') === 'updates';
|
||||
|
||||
// Los demas paneles (catalogos, etc.) cargan sus datos de forma asincrona, asi que la pagina
|
||||
// todavia no tiene su altura final apenas monta -- un solo scrollIntoView aca no tiene nada
|
||||
// que scrollear. Se reintenta un par de veces mientras el resto termina de cargar.
|
||||
useEffect(() => {
|
||||
if (!openUpdates) return;
|
||||
const timers = [0, 300, 800].map((delay) => setTimeout(() => {
|
||||
document.getElementById('updates-panel')?.scrollIntoView({ behavior: 'auto', block: 'start' });
|
||||
}, delay));
|
||||
return () => timers.forEach(clearTimeout);
|
||||
// eslint-disable-next-line react-hooks/exhaustive-deps
|
||||
}, []);
|
||||
|
||||
// Regla dura: Configuracion es solo del superadmin (catalogos, SMTP...). El nav ya la oculta
|
||||
// para los demas roles; esta guarda de ruta evita entrar tecleando /configuracion directo.
|
||||
@@ -104,9 +119,11 @@ export default function ConfiguracionPage() {
|
||||
<SmtpSettingsPanel />
|
||||
</Expander>
|
||||
|
||||
<Expander icon={RefreshCw} title={t('config_updater')}>
|
||||
<UpdaterPanel />
|
||||
</Expander>
|
||||
<div id="updates-panel">
|
||||
<Expander icon={RefreshCw} title={t('config_updater')} defaultOpen={openUpdates}>
|
||||
<UpdaterPanel />
|
||||
</Expander>
|
||||
</div>
|
||||
|
||||
<Expander icon={Bug} title={t('config_error_logs')}>
|
||||
<ErrorLogsPanel />
|
||||
|
||||
Reference in New Issue
Block a user