diff --git a/app/[locale]/bible/[version]/[book]/[chapter]/page.tsx b/app/[locale]/bible/[version]/[book]/[chapter]/page.tsx index 0f90376..0385913 100644 --- a/app/[locale]/bible/[version]/[book]/[chapter]/page.tsx +++ b/app/[locale]/bible/[version]/[book]/[chapter]/page.tsx @@ -120,8 +120,17 @@ export default async function BibleChapterPage({ params }: PageProps) { // Pass the parameters as props instead of URLSearchParams return ( - Loading...}> - + Loading Bible reader... + + }> + Loading...}> + + Loading Bible reader... + + }> ) diff --git a/app/[locale]/bible/reader.tsx b/app/[locale]/bible/reader.tsx index f8451b7..1e269d2 100644 --- a/app/[locale]/bible/reader.tsx +++ b/app/[locale]/bible/reader.tsx @@ -175,7 +175,7 @@ export default function BibleReaderNew({ initialVersion, initialBook, initialCha const [selectedBook, setSelectedBook] = useState('') const [selectedChapter, setSelectedChapter] = useState(1) const [verses, setVerses] = useState([]) - const [loading, setLoading] = useState(true) + const [loading, setLoading] = useState(false) const [versionsLoading, setVersionsLoading] = useState(true) const [showAllVersions, setShowAllVersions] = useState(false) @@ -1382,13 +1382,7 @@ export default function BibleReaderNew({ initialVersion, initialBook, initialCha ) - if (loading && books.length === 0) { - return ( - - - - ) - } + // Always render the UI - loading will be handled within components return ( {/* Chapter Header */} - - {currentBook?.name} {selectedChapter} - - - {(loading && previousVerses.length > 0 ? previousVerses : verses).length} {t('verses')} - + {loading && !currentBook ? ( + // Skeleton loading for chapter header + <> + + + + ) : ( + <> + + {currentBook?.name} {selectedChapter} + + + {(loading && previousVerses.length > 0 ? previousVerses : verses).length} {t('verses')} + + + )} {/* Verses */} - {(loading && previousVerses.length > 0 ? previousVerses : verses).map(renderVerse)} + {loading && verses.length === 0 && previousVerses.length === 0 ? ( + // Skeleton loading for verses + <> + {Array.from({ length: 8 }).map((_, index) => ( + + + + + + {Math.random() > 0.5 && ( + + )} + + + ))} + + ) : ( + (loading && previousVerses.length > 0 ? previousVerses : verses).map(renderVerse) + )} {/* Chapter Navigation */}