mirror of
https://github.com/BetterSEQTA/BetterSEQTA-Plus.git
synced 2026-08-28 17:21:05 +00:00
984719ce28
What it does: - Makes the course navigator focused on the currently selected lesson instead of the top upon opening - Adds arrows to the course page, to allow for easier navigation.
53 lines
2.1 KiB
TypeScript
53 lines
2.1 KiB
TypeScript
import { PluginManager } from "./core/manager";
|
|
|
|
// Lightweight plugins (load immediately)
|
|
import timetablePlugin from "./built-in/timetable";
|
|
import timetableEditPlugin from "./built-in/timetableEdit";
|
|
import notificationCollectorPlugin from "./built-in/notificationCollector";
|
|
import themesPlugin from "./built-in/themes";
|
|
import animatedBackgroundPlugin from "./built-in/animatedBackground";
|
|
import assessmentsAveragePlugin from "./built-in/assessmentsAverage";
|
|
import profilePicturePlugin from "./built-in/profilePicture";
|
|
import assessmentsOverviewPlugin from "./built-in/assessmentsOverview";
|
|
import backgroundMusicPlugin from "./built-in/backgroundMusic";
|
|
import messageFoldersPlugin from "./built-in/messageFolders";
|
|
import enhancedNavigationPlugin from "./built-in/enhancedNavigation";
|
|
//import testPlugin from './built-in/test';
|
|
|
|
// Heavy plugins (lazy-loaded only when enabled)
|
|
import globalSearchPluginLazy from "./built-in/globalSearch/lazy";
|
|
import gradeAnalyticsPluginLazy from "./built-in/gradeAnalytics/lazy";
|
|
|
|
// Initialize plugin manager
|
|
const pluginManager = PluginManager.getInstance();
|
|
|
|
// Register built-in plugins
|
|
pluginManager.registerPlugin(themesPlugin);
|
|
pluginManager.registerPlugin(animatedBackgroundPlugin);
|
|
pluginManager.registerPlugin(assessmentsAveragePlugin);
|
|
pluginManager.registerPlugin(notificationCollectorPlugin);
|
|
pluginManager.registerPlugin(timetablePlugin);
|
|
pluginManager.registerPlugin(timetableEditPlugin);
|
|
pluginManager.registerPlugin(profilePicturePlugin);
|
|
pluginManager.registerPlugin(assessmentsOverviewPlugin);
|
|
pluginManager.registerPlugin(backgroundMusicPlugin);
|
|
pluginManager.registerPlugin(messageFoldersPlugin);
|
|
pluginManager.registerPlugin(enhancedNavigationPlugin);
|
|
//pluginManager.registerPlugin(testPlugin);
|
|
|
|
// Register heavy plugins with lazy loading
|
|
pluginManager.registerPlugin(globalSearchPluginLazy);
|
|
pluginManager.registerPlugin(gradeAnalyticsPluginLazy);
|
|
|
|
export { init as Monofile } from "./monofile";
|
|
|
|
export async function initializePlugins(): Promise<void> {
|
|
await pluginManager.startAllPlugins();
|
|
}
|
|
|
|
export { pluginManager };
|
|
|
|
export function getAllPluginSettings() {
|
|
return pluginManager.getAllPluginSettings();
|
|
}
|