fase 3.2: compras y proveedores (modulo skeen_compras: proveedores, ordenes de compra con recepcion total/parcial, costo promedio ponderado con lote y caducidad, pagos a proveedor, cuentas por pagar con antiguedad, reportes de compras y margen por articulo); apagado por defecto
This commit is contained in:
@@ -146,17 +146,23 @@ export const ClasicoLayout: FC<LayoutProps> = ({ children, title: _title, subtit
|
||||
const location = useLocation();
|
||||
const navigate = useNavigate();
|
||||
const { user, canSee, hasRole, logout, brand } = useAuth();
|
||||
const { membresias: membresiasCfg } = useClinicSettings();
|
||||
const { membresias: membresiasCfg, compras: comprasCfg } = useClinicSettings();
|
||||
const [sidebarOpen, setSidebarOpen] = useState(false);
|
||||
const chatUnread = useChatUnread();
|
||||
|
||||
// Membresías solo cuando la clínica enciende `membresias.activo`.
|
||||
const menuTreeT = useMemo<MenuEntry[]>(
|
||||
() => (membresiasCfg.activo
|
||||
? [...menuTree, { label: 'Membresías', icon: Repeat, href: '/membresias' }]
|
||||
: menuTree),
|
||||
[membresiasCfg.activo]
|
||||
);
|
||||
// Membresías y Compras solo cuando la clínica enciende su bandera.
|
||||
const menuTreeT = useMemo<MenuEntry[]>(() => {
|
||||
let tree = menuTree;
|
||||
if (comprasCfg.activo) {
|
||||
tree = tree.map((e) => (e.label === 'Consumibles' && e.children
|
||||
? { ...e, children: [...e.children, { label: 'Órdenes de compra', href: '/compras' }] }
|
||||
: e));
|
||||
}
|
||||
if (membresiasCfg.activo) {
|
||||
tree = [...tree, { label: 'Membresías', icon: Repeat, href: '/membresias' }];
|
||||
}
|
||||
return tree;
|
||||
}, [membresiasCfg.activo, comprasCfg.activo]);
|
||||
const menuLeavesT = useMemo(
|
||||
() => menuTreeT.flatMap((e) =>
|
||||
e.children
|
||||
|
||||
Reference in New Issue
Block a user