'use client'
import { Suspense, useState, useEffect } from 'react'
import dynamic from 'next/dynamic'
// Dynamic imports to avoid SSR issues with navigator/window
const OfflineBibleReader = dynamic(
() => import('@/components/bible/offline-bible-reader').then(mod => ({ default: mod.OfflineBibleReader })),
{ ssr: false, loading: () =>
Loading offline reader...
}
)
const OfflineDownloadManager = dynamic(
() => import('@/components/bible/offline-download-manager').then(mod => ({ default: mod.OfflineDownloadManager })),
{ ssr: false, loading: () => Loading download manager...
}
)
const InstallPrompt = dynamic(
() => import('@/components/pwa/install-prompt').then(mod => ({ default: mod.InstallPrompt })),
{ ssr: false }
)
import {
Box,
Container,
Typography,
Tabs,
Tab,
Paper
} from '@mui/material'
interface BibleVersion {
id: string
name: string
abbreviation: string
language: string
isDefault?: boolean
}
function OfflinePageContent() {
const [tabValue, setTabValue] = useState(0)
const [availableVersions, setAvailableVersions] = useState([])
useEffect(() => {
// Fetch available Bible versions for download
fetch('/api/bible/versions?all=true&limit=50')
.then(res => res.json())
.then(data => {
if (data.success && data.versions) {
setAvailableVersions(data.versions)
}
})
.catch(err => console.error('Failed to fetch versions:', err))
}, [])
const handleTabChange = (event: React.SyntheticEvent, newValue: number) => {
setTabValue(newValue)
}
return (
Offline Bible Reading
Download Bible versions for offline reading and access them without an internet connection.
{tabValue === 0 && (
setTabValue(1)}
/>
)}
{tabValue === 1 && (
setTabValue(0)}
/>
)}
{/* PWA Install Prompt */}
)
}
export default function OfflinePage() {
return (
Loading offline reading interface...
}>
)
}