Skip to content

Commit cc03724

Browse files
committed
chore(env): hide audiobook export button in production
1 parent d7a94a6 commit cc03724

File tree

2 files changed

+44
-32
lines changed

2 files changed

+44
-32
lines changed

src/app/epub/[id]/page.tsx

Lines changed: 22 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ import { ZoomControl } from '@/components/ZoomControl';
1515
import { AudiobookExportModal } from '@/components/AudiobookExportModal';
1616
import { DownloadIcon } from '@/components/icons/Icons';
1717

18+
const isDev = process.env.NEXT_PUBLIC_NODE_ENV !== 'production' || process.env.NODE_ENV == null;
19+
1820
export default function EPUBPage() {
1921
const { id } = useParams();
2022
const { setCurrentDocument, currDocName, clearCurrDoc, createFullAudioBook: createEPUBAudioBook, regenerateChapter: regenerateEPUBChapter } = useEPUB();
@@ -143,14 +145,16 @@ export default function EPUBPage() {
143145
min={0}
144146
max={100}
145147
/>
146-
<button
147-
onClick={() => setIsAudiobookModalOpen(true)}
148-
className="inline-flex items-center py-1 px-2 rounded-md border border-offbase bg-base text-foreground text-xs hover:bg-offbase transition-all duration-200 ease-in-out hover:scale-[1.09] hover:text-accent"
149-
aria-label="Open audiobook export"
150-
title="Export Audiobook"
151-
>
152-
<DownloadIcon className="w-4 h-4 transform transition-transform duration-200 ease-in-out hover:scale-[1.09] hover:text-accent" />
153-
</button>
148+
{isDev && (
149+
<button
150+
onClick={() => setIsAudiobookModalOpen(true)}
151+
className="inline-flex items-center py-1 px-2 rounded-md border border-offbase bg-base text-foreground text-xs hover:bg-offbase transition-all duration-200 ease-in-out hover:scale-[1.09] hover:text-accent"
152+
aria-label="Open audiobook export"
153+
title="Export Audiobook"
154+
>
155+
<DownloadIcon className="w-4 h-4 transform transition-transform duration-200 ease-in-out hover:scale-[1.09] hover:text-accent" />
156+
</button>
157+
)}
154158
<button
155159
onClick={() => setIsSettingsOpen(true)}
156160
className="inline-flex items-center py-1 px-2 rounded-md border border-offbase bg-base text-foreground text-xs hover:bg-offbase transition-all duration-200 ease-in-out hover:scale-[1.09] hover:text-accent"
@@ -172,14 +176,16 @@ export default function EPUBPage() {
172176
</div>
173177
)}
174178
</div>
175-
<AudiobookExportModal
176-
isOpen={isAudiobookModalOpen}
177-
setIsOpen={setIsAudiobookModalOpen}
178-
documentType="epub"
179-
documentId={id as string}
180-
onGenerateAudiobook={handleGenerateAudiobook}
181-
onRegenerateChapter={handleRegenerateChapter}
182-
/>
179+
{isDev && (
180+
<AudiobookExportModal
181+
isOpen={isAudiobookModalOpen}
182+
setIsOpen={setIsAudiobookModalOpen}
183+
documentType="epub"
184+
documentId={id as string}
185+
onGenerateAudiobook={handleGenerateAudiobook}
186+
onRegenerateChapter={handleRegenerateChapter}
187+
/>
188+
)}
183189
<TTSPlayer />
184190
<DocumentSettings epub isOpen={isSettingsOpen} setIsOpen={setIsSettingsOpen} />
185191
</>

src/app/pdf/[id]/page.tsx

Lines changed: 22 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@ import { ZoomControl } from '@/components/ZoomControl';
1414
import { AudiobookExportModal } from '@/components/AudiobookExportModal';
1515
import TTSPlayer from '@/components/player/TTSPlayer';
1616

17+
const isDev = process.env.NEXT_PUBLIC_NODE_ENV !== 'production' || process.env.NODE_ENV == null;
18+
1719
// Dynamic import for client-side rendering only
1820
const PDFViewer = dynamic(
1921
() => import('@/components/PDFViewer').then((module) => module.PDFViewer),
@@ -131,14 +133,16 @@ export default function PDFViewerPage() {
131133
right={
132134
<div className="flex items-center gap-2">
133135
<ZoomControl value={zoomLevel} onIncrease={handleZoomIn} onDecrease={handleZoomOut} />
134-
<button
135-
onClick={() => setIsAudiobookModalOpen(true)}
136-
className="inline-flex items-center py-1 px-2 rounded-md border border-offbase bg-base text-foreground text-xs hover:bg-offbase transition-all duration-200 ease-in-out hover:scale-[1.09] hover:text-accent"
137-
aria-label="Open audiobook export"
138-
title="Export Audiobook"
139-
>
140-
<DownloadIcon className="w-4 h-4 transform transition-transform duration-200 ease-in-out hover:scale-[1.09] hover:text-accent" />
141-
</button>
136+
{isDev && (
137+
<button
138+
onClick={() => setIsAudiobookModalOpen(true)}
139+
className="inline-flex items-center py-1 px-2 rounded-md border border-offbase bg-base text-foreground text-xs hover:bg-offbase transition-all duration-200 ease-in-out hover:scale-[1.09] hover:text-accent"
140+
aria-label="Open audiobook export"
141+
title="Export Audiobook"
142+
>
143+
<DownloadIcon className="w-4 h-4 transform transition-transform duration-200 ease-in-out hover:scale-[1.09] hover:text-accent" />
144+
</button>
145+
)}
142146
<button
143147
onClick={() => setIsSettingsOpen(true)}
144148
className="inline-flex items-center py-1 px-2 rounded-md border border-offbase bg-base text-foreground text-xs hover:bg-offbase transition-all duration-200 ease-in-out hover:scale-[1.09] hover:text-accent"
@@ -158,14 +162,16 @@ export default function PDFViewerPage() {
158162
<PDFViewer zoomLevel={zoomLevel} />
159163
)}
160164
</div>
161-
<AudiobookExportModal
162-
isOpen={isAudiobookModalOpen}
163-
setIsOpen={setIsAudiobookModalOpen}
164-
documentType="pdf"
165-
documentId={id as string}
166-
onGenerateAudiobook={handleGenerateAudiobook}
167-
onRegenerateChapter={handleRegenerateChapter}
168-
/>
165+
{isDev && (
166+
<AudiobookExportModal
167+
isOpen={isAudiobookModalOpen}
168+
setIsOpen={setIsAudiobookModalOpen}
169+
documentType="pdf"
170+
documentId={id as string}
171+
onGenerateAudiobook={handleGenerateAudiobook}
172+
onRegenerateChapter={handleRegenerateChapter}
173+
/>
174+
)}
169175
<TTSPlayer currentPage={currDocPage} numPages={currDocPages} />
170176
<DocumentSettings isOpen={isSettingsOpen} setIsOpen={setIsSettingsOpen} />
171177
</>

0 commit comments

Comments
 (0)