diff --git a/src/components/audiobooks/AudiobookDetailsModal.tsx b/src/components/audiobooks/AudiobookDetailsModal.tsx
index a3a79fc..5bf23b8 100644
--- a/src/components/audiobooks/AudiobookDetailsModal.tsx
+++ b/src/components/audiobooks/AudiobookDetailsModal.tsx
@@ -548,6 +548,30 @@ export function AudiobookDetailsModal({
+ {/* Language */}
+ {audiobook.language && (
+
+
Language
+
{audiobook.language.charAt(0).toUpperCase() + audiobook.language.slice(1)}
+
+ )}
+
+ {/* Format */}
+ {audiobook.formatType && (
+
+
Format
+
{audiobook.formatType.charAt(0).toUpperCase() + audiobook.formatType.slice(1)}
+
+ )}
+
+ {/* Publisher */}
+ {audiobook.publisherName && (
+
+
Publisher
+
{audiobook.publisherName}
+
+ )}
+
{/* Download Link - subtle utility, visible from any context */}
{isAvailable && downloadAvailable && requestId && user?.permissions?.download !== false && (
diff --git a/src/lib/hooks/useAudiobooks.ts b/src/lib/hooks/useAudiobooks.ts
index 9380f40..4aa94c5 100644
--- a/src/lib/hooks/useAudiobooks.ts
+++ b/src/lib/hooks/useAudiobooks.ts
@@ -34,6 +34,9 @@ export interface Audiobook {
requestedByUsername?: string | null; // Username who requested (only if not current user)
hasReportedIssue?: boolean; // True if an open issue exists for this audiobook
isIgnored?: boolean; // True if this user has ignored this audiobook from auto-requests
+ language?: string;
+ formatType?: string;
+ publisherName?: string;
}
export function useAudiobooks(type: 'popular' | 'new-releases', limit: number = 20, page: number = 1, hideAvailable: boolean = false) {
diff --git a/src/lib/integrations/audible.service.ts b/src/lib/integrations/audible.service.ts
index bc1bd90..954511d 100644
--- a/src/lib/integrations/audible.service.ts
+++ b/src/lib/integrations/audible.service.ts
@@ -50,6 +50,9 @@ export interface AudibleAudiobook {
series?: string;
seriesPart?: string;
seriesAsin?: string;
+ language?: string;
+ formatType?: string;
+ publisherName?: string;
}
export interface AudibleSearchResult {
@@ -774,6 +777,9 @@ export class AudibleService {
series: data.seriesPrimary?.name || undefined,
seriesPart: data.seriesPrimary?.position || undefined,
seriesAsin: data.seriesPrimary?.asin || undefined,
+ language: data.language || undefined,
+ formatType: data.formatType || undefined,
+ publisherName: data.publisherName || undefined,
};
// Ensure cover art URL is high quality