Add filesystem scan trigger and version badge features

Implements optional filesystem scan triggering for Plex and Audiobookshelf after file organization, with new settings in the admin UI, setup wizard, and API. Updates documentation to reflect scan trigger options and improved file organization/cleanup logic. Refactors dropdown menus to use smart positioning and portals for better UX. Adds a version API route and a VersionBadge component to display build info in the header. Updates Docker build to inject version metadata.
This commit is contained in:
kikootwo
2026-01-09 17:15:00 -05:00
parent 288421012d
commit 384601014a
25 changed files with 1346 additions and 243 deletions
+25 -1
View File
@@ -13,7 +13,8 @@ interface PlexStepProps {
plexUrl: string;
plexToken: string;
plexLibraryId: string;
onUpdate: (field: string, value: string) => void;
plexTriggerScanAfterImport: boolean;
onUpdate: (field: string, value: string | boolean) => void;
onNext: () => void;
onBack: () => void;
}
@@ -28,6 +29,7 @@ export function PlexStep({
plexUrl,
plexToken,
plexLibraryId,
plexTriggerScanAfterImport,
onUpdate,
onNext,
onBack,
@@ -233,6 +235,28 @@ export function PlexStep({
</p>
</div>
)}
{libraries.length > 0 && (
<div className="space-y-2">
<label className="flex items-start gap-3 cursor-pointer">
<input
type="checkbox"
checked={plexTriggerScanAfterImport}
onChange={(e) => onUpdate('plexTriggerScanAfterImport', e.target.checked)}
className="mt-1 h-4 w-4 rounded border-gray-300 text-blue-600 focus:ring-blue-500 dark:border-gray-600 dark:bg-gray-800"
/>
<div className="flex-1">
<span className="text-sm font-medium text-gray-700 dark:text-gray-300">
Trigger library scan after import
</span>
<p className="text-sm text-gray-500 dark:text-gray-400 mt-1">
Only enable this if you have Plex's filesystem watcher (automatic scanning) disabled.
Most users should leave this unchecked and rely on Plex's built-in automatic detection.
</p>
</div>
</label>
</div>
)}
</div>
<div className="bg-blue-50 dark:bg-blue-900/20 rounded-lg p-4">