feat(F-157): completed feature
This commit is contained in:
@@ -37,15 +37,11 @@ export interface NavItem {
|
||||
icon: string;
|
||||
permission: Permission;
|
||||
badge?: number;
|
||||
parentHref?: string;
|
||||
}
|
||||
|
||||
export const NAV_ITEMS: NavItem[] = [
|
||||
{ href: '/', label: 'Dashboard', icon: '📊', permission: 'dashboard' },
|
||||
{ href: '/reporting', label: 'Reporting', icon: '📈', permission: 'reporting.read' },
|
||||
{ href: '/reporting/dashboard', label: 'Dashboard', icon: '📊', permission: 'reporting.read', parentHref: '/reporting' },
|
||||
{ href: '/reporting/sales', label: 'Ventas', icon: '🧾', permission: 'reporting.read', parentHref: '/reporting' },
|
||||
{ href: '/reporting/products', label: 'Productos', icon: '📦', permission: 'reporting.read', parentHref: '/reporting' },
|
||||
{ href: '/products', label: 'Productos', icon: '📦', permission: 'products.read' },
|
||||
{ href: '/orders', label: 'Pedidos', icon: '🧾', permission: 'orders.read' },
|
||||
{ href: '/payments', label: 'Pagos', icon: '💳', permission: 'orders.read' },
|
||||
@@ -64,10 +60,6 @@ export const NAV_ITEMS: NavItem[] = [
|
||||
{ href: '/settings', label: 'Ajustes', icon: '⚙️', permission: 'dashboard' },
|
||||
];
|
||||
|
||||
export function topNavItems(role: Role): NavItem[] {
|
||||
return NAV_ITEMS.filter((item) => !item.parentHref && can(role, item.permission));
|
||||
}
|
||||
|
||||
export function subNavItems(parentHref: string, role: Role): NavItem[] {
|
||||
return NAV_ITEMS.filter((item) => item.parentHref === parentHref && can(role, item.permission));
|
||||
export function visibleNavItems(role: Role): NavItem[] {
|
||||
return NAV_ITEMS.filter((item) => can(role, item.permission));
|
||||
}
|
||||
|
||||
@@ -25,6 +25,7 @@ export interface ReportingFilters {
|
||||
terminalId?: string | string[];
|
||||
state?: string | string[];
|
||||
groupBy?: GroupBy;
|
||||
sort?: 'units' | 'revenue';
|
||||
page?: number;
|
||||
pageSize?: number;
|
||||
}
|
||||
@@ -138,6 +139,7 @@ function filtersToQueryString(filters: ReportingFilters): string {
|
||||
if (filters.compare && filters.compare !== 'none') params.set('compare', filters.compare);
|
||||
if (filters.channel && filters.channel !== 'all') params.set('channel', filters.channel);
|
||||
if (filters.groupBy) params.set('groupBy', filters.groupBy);
|
||||
if (filters.sort) params.set('sort', filters.sort);
|
||||
if (filters.page) params.set('page', String(filters.page));
|
||||
if (filters.pageSize) params.set('pageSize', String(filters.pageSize));
|
||||
if (filters.storeId) {
|
||||
|
||||
Reference in New Issue
Block a user