/** * Component: Plex Library Settings Section * Documentation: documentation/settings-pages.md */ import { Input } from '@/components/ui/Input'; import { Button } from '@/components/ui/Button'; import { Settings, PlexLibrary } from '../../lib/types'; import { AUDIBLE_REGIONS } from '@/lib/types/audible'; interface PlexSectionProps { settings: Settings; onChange: (settings: Settings) => void; onValidationChange: (section: string, isValid: boolean) => void; libraries: PlexLibrary[]; testing: boolean; testResult: { success: boolean; message: string } | null; onTestConnection: () => void; } export function PlexSection({ settings, onChange, onValidationChange, libraries, testing, testResult, onTestConnection, }: PlexSectionProps) { const handleUrlChange = (url: string) => { onChange({ ...settings, plex: { ...settings.plex, url }, }); onValidationChange('plex', false); }; const handleTokenChange = (token: string) => { onChange({ ...settings, plex: { ...settings.plex, token }, }); onValidationChange('plex', false); }; const handleLibraryChange = (libraryId: string) => { onChange({ ...settings, plex: { ...settings.plex, libraryId }, }); onValidationChange('plex', false); }; const handleTriggerScanChange = (triggerScanAfterImport: boolean) => { onChange({ ...settings, plex: { ...settings.plex, triggerScanAfterImport }, }); }; const handleAudibleRegionChange = (audibleRegion: string) => { onChange({ ...settings, audibleRegion, }); }; return (
Configure your Plex server connection and audiobook library.
Find your token in Plex settings → Network → Show Advanced
Non-English Region
Many features such as search, discovery, and metadata matching are not yet fully supported for non-English regions. You may still proceed, but expect limited functionality.
Select the Audible region that matches your metadata engine (Audnexus/Audible Agent) configuration in Plex. This ensures accurate book matching and metadata.