refactor: Add Alpine.js registration to existing TypeScript modules

Added Alpine.global() registration to enable template access to functions:

- admin.ts: Added Alpine for scan, stats, and settings functions
- api-explorer.ts: Already had Alpine (kept as is)
- bookshelf.ts: Added Alpine for library/bookshelf interactions
- collections.ts: Added Alpine for collection management
- conflicts.ts: Added Alpine for conflict resolution
- device-management.ts: Added Alpine with event delegation for dynamic content
- header.ts: Added Alpine for theme dropdown and user menu
- library.ts: Added Alpine registrations
- linking.ts: Added Alpine registrations
- queue.ts: Added Alpine for queue operations
- search.ts: Added Alpine registrations
- themeDropdown.ts: Added Alpine for theme switching

Each module now exports functions both traditionally and via Alpine.global() for template access.
This commit is contained in:
2026-03-08 21:36:24 -04:00
parent dc288e6169
commit 6728ba83a1
12 changed files with 1028 additions and 393 deletions
+21 -7
View File
@@ -1,3 +1,4 @@
import { Alpine } from "./alpine";
import { showToast } from "./toast";
async function triggerLibraryScan(): Promise<void> {
@@ -384,10 +385,23 @@ function stopScanStatusPolling(): void {
scanPollInterval = undefined;
}
}
(window as any).triggerLibraryScan = triggerLibraryScan;
(window as any).triggerQuickScan = triggerQuickScan;
(window as any).loadSystemStats = loadSystemStats;
(window as any).scanAllLibraries = scanAllLibraries;
(window as any).loadWatchStatus = loadWatchStatus;
(window as any).hideScanProgress = hideScanProgress;
(window as any).stopScanStatusPolling = stopScanStatusPolling;
export {
hideScanProgress,
loadSystemStats,
loadWatchStatus,
scanAllLibraries,
stopScanStatusPolling,
triggerLibraryScan,
triggerQuickScan,
};
Alpine.global("admin", {
hideScanProgress,
loadSystemStats,
loadWatchStatus,
scanAllLibraries,
stopScanStatusPolling,
triggerLibraryScan,
triggerQuickScan,
});