/** * Component: Setup Wizard Review Step * Documentation: documentation/setup-wizard.md */ 'use client'; import { Button } from '@/components/ui/Button'; interface ReviewStepProps { config: { backendMode: 'plex' | 'audiobookshelf'; // Plex config plexUrl: string; plexLibraryId: string; // Audiobookshelf config absUrl: string; absLibraryId: string; // Auth config (ABS mode) authMethod: 'oidc' | 'manual' | 'both'; oidcProviderName: string; adminUsername: string; // Common config prowlarrUrl: string; downloadClients: any[]; // Array of download client configs downloadDir: string; mediaDir: string; // BookDate bookdateConfigured: boolean; bookdateProvider: string; bookdateModel: string; }; loading: boolean; error: string | null; onComplete: () => void; onBack: () => void; } export function ReviewStep({ config, loading, error, onComplete, onBack }: ReviewStepProps) { return (

Review Configuration

Please review your configuration before completing setup.

{error && (

Error

{error}

)}
{/* Backend Configuration - Conditional based on mode */} {config.backendMode === 'plex' ? (

Plex Media Server

Server URL:
{config.plexUrl}
Library ID:
{config.plexLibraryId}
) : ( <> {/* Audiobookshelf Configuration */}

Audiobookshelf

Server URL:
{config.absUrl}
Library ID:
{config.absLibraryId}
{/* Authentication Configuration */}

Authentication

Auth Method:
{config.authMethod === 'both' ? 'OIDC + Manual Registration' : config.authMethod === 'oidc' ? 'OIDC' : 'Manual Registration'}
{(config.authMethod === 'oidc' || config.authMethod === 'both') && (
OIDC Provider:
{config.oidcProviderName}
)} {(config.authMethod === 'manual' || config.authMethod === 'both') && (
Admin Username:
{config.adminUsername}
)}
)} {/* Prowlarr Configuration */}

Prowlarr (Indexer)

Server URL:
{config.prowlarrUrl}
{/* Download Client Configuration */}

Download Clients

{config.downloadClients && config.downloadClients.length > 0 ? ( config.downloadClients.map((client: any, index: number) => (
0 ? 'pt-3 border-t border-gray-200 dark:border-gray-700' : ''}>
Name:
{client.name}
Type:
{client.type}
URL:
{client.url}
)) ) : (
No download clients configured
)}
{/* Paths Configuration */}

Directory Paths

Download Directory:
{config.downloadDir}
Media Directory:
{config.mediaDir}
{/* BookDate Configuration (Optional) */} {config.bookdateConfigured && (

BookDate AI Recommendations

Provider:
{config.bookdateProvider}
Model:
{config.bookdateModel}
)}

Ready to complete setup

Click "Complete Setup" to save your configuration and start using ReadMeABook.

); }