Files
Fleetbase-Mirror-Repo/console/app/instance-initializers/initialize-widgets.js
2025-12-03 09:55:12 +08:00

48 lines
1.5 KiB
JavaScript

import { Widget } from '@fleetbase/ember-core/contracts';
import { faGithub } from '@fortawesome/free-brands-svg-icons';
import { debug } from '@ember/debug';
/**
* Register dashboard and widgets for FleetbaseConsole
* Runs after extensions are loaded
*/
export function initialize(appInstance) {
const widgetService = appInstance.lookup('service:universe/widget-service');
debug('[Initializing Widgets] Registering console dashboard and widgets...');
// Register the console dashboard
widgetService.registerDashboard('dashboard');
// Create widget definitions
const widgets = [
new Widget({
id: 'fleetbase-blog',
name: 'Fleetbase Blog',
description: 'Lists latest news and events from the Fleetbase official team.',
icon: 'newspaper',
component: 'fleetbase-blog',
grid_options: { w: 8, h: 9, minW: 8, minH: 9 },
default: true,
}),
new Widget({
id: 'fleetbase-github-card',
name: 'Github Card',
description: 'Displays current Github stats from the official Fleetbase repo.',
icon: faGithub,
component: 'github-card',
grid_options: { w: 4, h: 8, minW: 4, minH: 8 },
default: true,
}),
];
// Register widgets
widgetService.registerWidgets('dashboard', widgets);
}
export default {
name: 'initialize-widgets',
after: 'load-extensions',
initialize,
};