Files
BetterSEQTA-Plus/src/plugins/index.ts
T
Jaxx7594 984719ce28 feat: Improved navigation in courses (via a plugin)
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.
2026-06-06 23:12:30 +08:00

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();
}