| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278 |
- import { registerAlert } from '@/vdb/framework/alert/alert-extensions.js';
- import { searchIndexBufferAlert } from '@/vdb/framework/alert/search-index-buffer-alert/search-index-buffer-alert.js';
- import { setNavMenuConfig } from '@/vdb/framework/nav-menu/nav-menu-extensions.js';
- import {
- LayoutDashboardIcon,
- Mail,
- Settings2,
- ShoppingCart,
- SquareTerminal,
- Terminal,
- Users,
- } from 'lucide-react';
- import { LatestOrdersWidget } from './dashboard-widget/latest-orders-widget/index.js';
- import { MetricsWidget } from './dashboard-widget/metrics-widget/index.js';
- import { OrdersSummaryWidget } from './dashboard-widget/orders-summary/index.js';
- import { registerDashboardWidget } from './dashboard-widget/widget-extensions.js';
- export function registerDefaults() {
- setNavMenuConfig({
- sections: [
- {
- id: 'insights',
- title: /* i18n*/ 'Insights',
- placement: 'top',
- icon: LayoutDashboardIcon,
- url: '/',
- order: 100,
- },
- {
- id: 'catalog',
- title: /* i18n*/ 'Catalog',
- icon: SquareTerminal,
- placement: 'top',
- order: 200,
- items: [
- {
- id: 'products',
- title: /* i18n*/ 'Products',
- url: '/products',
- order: 100,
- requiresPermission: ['ReadProduct', 'ReadCatalog'],
- },
- {
- id: 'product-variants',
- title: /* i18n*/ 'Product Variants',
- url: '/product-variants',
- order: 200,
- requiresPermission: ['ReadProduct', 'ReadCatalog'],
- },
- {
- id: 'facets',
- title: /* i18n*/ 'Facets',
- url: '/facets',
- order: 300,
- requiresPermission: ['ReadProduct', 'ReadCatalog'],
- },
- {
- id: 'collections',
- title: /* i18n*/ 'Collections',
- url: '/collections',
- order: 400,
- requiresPermission: ['ReadCollection', 'ReadCatalog'],
- },
- {
- id: 'assets',
- title: /* i18n*/ 'Assets',
- url: '/assets',
- order: 500,
- requiresPermission: ['ReadAsset', 'ReadCatalog'],
- },
- ],
- },
- {
- id: 'sales',
- title: /* i18n*/ 'Sales',
- icon: ShoppingCart,
- placement: 'top',
- order: 300,
- items: [
- {
- id: 'orders',
- title: /* i18n*/ 'Orders',
- url: '/orders',
- order: 100,
- requiresPermission: ['ReadOrder'],
- },
- ],
- },
- {
- id: 'customers',
- title: /* i18n*/ 'Customers',
- icon: Users,
- placement: 'top',
- order: 400,
- items: [
- {
- id: 'customers',
- title: /* i18n*/ 'Customers',
- url: '/customers',
- order: 100,
- requiresPermission: ['ReadCustomer'],
- },
- {
- id: 'customer-groups',
- title: /* i18n*/ 'Customer Groups',
- url: '/customer-groups',
- order: 200,
- requiresPermission: ['ReadCustomerGroup'],
- },
- ],
- },
- {
- id: 'marketing',
- title: /* i18n*/ 'Marketing',
- icon: Mail,
- placement: 'top',
- order: 500,
- items: [
- {
- id: 'promotions',
- title: /* i18n*/ 'Promotions',
- url: '/promotions',
- order: 100,
- requiresPermission: ['ReadPromotion'],
- },
- ],
- },
- {
- id: 'system',
- title: /* i18n*/ 'System',
- icon: Terminal,
- placement: 'bottom',
- order: 200,
- items: [
- {
- id: 'job-queue',
- title: /* i18n*/ 'Job Queue',
- url: '/job-queue',
- order: 100,
- requiresPermission: ['ReadSystem'],
- },
- {
- id: 'healthchecks',
- title: /* i18n*/ 'Healthchecks',
- url: '/healthchecks',
- order: 200,
- requiresPermission: ['ReadSystem'],
- },
- {
- id: 'scheduled-tasks',
- title: /* i18n*/ 'Scheduled Tasks',
- url: '/scheduled-tasks',
- order: 300,
- requiresPermission: ['ReadSystem'],
- },
- ],
- },
- {
- id: 'settings',
- title: /* i18n*/ 'Settings',
- icon: Settings2,
- placement: 'bottom',
- order: 100,
- items: [
- {
- id: 'sellers',
- title: /* i18n*/ 'Sellers',
- url: '/sellers',
- order: 100,
- requiresPermission: ['ReadSeller'],
- },
- {
- id: 'channels',
- title: /* i18n*/ 'Channels',
- url: '/channels',
- order: 200,
- requiresPermission: ['ReadChannel'],
- },
- {
- id: 'stock-locations',
- title: /* i18n*/ 'Stock Locations',
- url: '/stock-locations',
- order: 300,
- requiresPermission: ['ReadStockLocation'],
- },
- {
- id: 'administrators',
- title: /* i18n*/ 'Administrators',
- url: '/administrators',
- order: 400,
- requiresPermission: ['ReadAdministrator'],
- },
- {
- id: 'roles',
- title: /* i18n*/ 'Roles',
- url: '/roles',
- order: 500,
- requiresPermission: ['ReadAdministrator'],
- },
- {
- id: 'shipping-methods',
- title: /* i18n*/ 'Shipping Methods',
- url: '/shipping-methods',
- order: 600,
- requiresPermission: ['ReadShippingMethod'],
- },
- {
- id: 'payment-methods',
- title: /* i18n*/ 'Payment Methods',
- url: '/payment-methods',
- order: 700,
- requiresPermission: ['ReadPaymentMethod'],
- },
- {
- id: 'tax-categories',
- title: /* i18n*/ 'Tax Categories',
- url: '/tax-categories',
- order: 800,
- requiresPermission: ['ReadTaxCategory'],
- },
- {
- id: 'tax-rates',
- title: /* i18n*/ 'Tax Rates',
- url: '/tax-rates',
- order: 900,
- requiresPermission: ['ReadTaxRate'],
- },
- {
- id: 'countries',
- title: /* i18n*/ 'Countries',
- url: '/countries',
- order: 1000,
- requiresPermission: ['ReadCountry'],
- },
- {
- id: 'zones',
- title: /* i18n*/ 'Zones',
- url: '/zones',
- order: 1100,
- requiresPermission: ['ReadZone'],
- },
- {
- id: 'global-settings',
- title: /* i18n*/ 'Global Settings',
- url: '/global-settings',
- order: 1200,
- requiresPermission: ['UpdateGlobalSettings'],
- },
- ],
- },
- ],
- });
- registerDashboardWidget({
- id: 'metrics-widget',
- name: /* i18n*/ 'Metrics Widget',
- component: MetricsWidget,
- defaultSize: { w: 12, h: 6, x: 0, y: 0 },
- minSize: { w: 6, h: 4 },
- });
- registerDashboardWidget({
- id: 'latest-orders-widget',
- name: /* i18n*/ 'Latest Orders Widget',
- component: LatestOrdersWidget,
- defaultSize: { w: 6, h: 7, x: 0, y: 0 },
- });
- registerDashboardWidget({
- id: 'orders-summary-widget',
- name: /* i18n*/ 'Orders Summary Widget',
- component: OrdersSummaryWidget,
- defaultSize: { w: 6, h: 3, x: 6, y: 0 },
- });
- registerAlert(searchIndexBufferAlert);
- }
|