38275-vm/frontend/src/menuAside.ts
2026-02-07 19:28:17 +00:00

164 lines
5.6 KiB
TypeScript

import * as icon from '@mdi/js';
import { MenuAsideItem } from './interfaces'
const menuAside: MenuAsideItem[] = [
{
href: '/dashboard',
icon: icon.mdiViewDashboardOutline,
label: 'Dashboard',
},
{
href: '/users/users-list',
label: 'Users',
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
icon: icon.mdiAccountGroup ?? icon.mdiTable,
permissions: 'READ_USERS'
},
{
href: '/roles/roles-list',
label: 'Roles',
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
icon: icon.mdiShieldAccountVariantOutline ?? icon.mdiTable,
permissions: 'READ_ROLES'
},
{
href: '/permissions/permissions-list',
label: 'Permissions',
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
icon: icon.mdiShieldAccountOutline ?? icon.mdiTable,
permissions: 'READ_PERMISSIONS'
},
{
href: '/data_providers/data_providers-list',
label: 'Data providers',
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
icon: 'mdiDatabaseCog' in icon ? icon['mdiDatabaseCog' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
permissions: 'READ_DATA_PROVIDERS'
},
{
href: '/assets/assets-list',
label: 'Assets',
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
icon: 'mdiCurrencyBtc' in icon ? icon['mdiCurrencyBtc' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
permissions: 'READ_ASSETS'
},
{
href: '/sectors/sectors-list',
label: 'Sectors',
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
icon: 'mdiShape' in icon ? icon['mdiShape' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
permissions: 'READ_SECTORS'
},
{
href: '/asset_sector_links/asset_sector_links-list',
label: 'Asset sector links',
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
icon: 'mdiLinkVariant' in icon ? icon['mdiLinkVariant' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
permissions: 'READ_ASSET_SECTOR_LINKS'
},
{
href: '/price_candles/price_candles-list',
label: 'Price candles',
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
icon: 'mdiChartCandlestick' in icon ? icon['mdiChartCandlestick' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
permissions: 'READ_PRICE_CANDLES'
},
{
href: '/btc_drawdown_windows/btc_drawdown_windows-list',
label: 'Btc drawdown windows',
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
icon: 'mdiChartLine' in icon ? icon['mdiChartLine' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
permissions: 'READ_BTC_DRAWDOWN_WINDOWS'
},
{
href: '/resilience_scores/resilience_scores-list',
label: 'Resilience scores',
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
icon: 'mdiShieldTrending' in icon ? icon['mdiShieldTrending' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
permissions: 'READ_RESILIENCE_SCORES'
},
{
href: '/alert_rules/alert_rules-list',
label: 'Alert rules',
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
icon: 'mdiBellAlert' in icon ? icon['mdiBellAlert' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
permissions: 'READ_ALERT_RULES'
},
{
href: '/alerts/alerts-list',
label: 'Alerts',
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
icon: 'mdiAlert' in icon ? icon['mdiAlert' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
permissions: 'READ_ALERTS'
},
{
href: '/watchlists/watchlists-list',
label: 'Watchlists',
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
icon: 'mdiFormatListBulleted' in icon ? icon['mdiFormatListBulleted' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
permissions: 'READ_WATCHLISTS'
},
{
href: '/watchlist_items/watchlist_items-list',
label: 'Watchlist items',
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
icon: 'mdiBookmarkMultiple' in icon ? icon['mdiBookmarkMultiple' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
permissions: 'READ_WATCHLIST_ITEMS'
},
{
href: '/saved_dashboards/saved_dashboards-list',
label: 'Saved dashboards',
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
icon: 'mdiViewDashboard' in icon ? icon['mdiViewDashboard' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
permissions: 'READ_SAVED_DASHBOARDS'
},
{
href: '/content_pages/content_pages-list',
label: 'Content pages',
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
icon: 'mdiFileDocumentEditOutline' in icon ? icon['mdiFileDocumentEditOutline' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
permissions: 'READ_CONTENT_PAGES'
},
{
href: '/contact_messages/contact_messages-list',
label: 'Contact messages',
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
icon: 'mdiEmail' in icon ? icon['mdiEmail' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
permissions: 'READ_CONTACT_MESSAGES'
},
{
href: '/profile',
label: 'Profile',
icon: icon.mdiAccountCircle,
},
{
href: '/api-docs',
target: '_blank',
label: 'Swagger API',
icon: icon.mdiFileCode,
permissions: 'READ_API_DOCS'
},
]
export default menuAside