Add Pronunciation Guide page with word cards and TTS
Build and Push Docker Image / build-and-push (push) Successful in 3m37s
Build and Push Docker Image / build-and-push (push) Successful in 3m37s
Replace the copy-to-clipboard button with a dedicated page that shows all collected Greek/Hebrew words as cards grouped by language. Each card displays the original script large, transliteration, Strong's number, English gloss, definition, part of speech, and a Speak button. Includes a search/filter and a "Copy all" fallback for the old behavior. Move buildPronunciationGuide to bibleUtils.jsx to avoid circular imports. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
1 parent
7b2920b9e6
commit
85fc566ade
3 files changed
+212
-20
No files matched your search
@@ -540,3 +540,22 @@ export function CrossRefChip({ label, onRemove, loadVerseText }) {
|
||||
</span>
|
||||
);
|
||||
}
|
||||
|
||||
export function buildPronunciationGuide(project) {
|
||||
const chapters = Array.isArray(project?.chapters) ? project.chapters : [];
|
||||
const lines = [];
|
||||
chapters.forEach((ch) => {
|
||||
ch.chunks.forEach((chunk) => {
|
||||
(chunk.greekWords ?? []).forEach((word) => {
|
||||
const gloss = word.shortDefinition || word.englishGloss || '';
|
||||
const lexeme = word.lexeme || '';
|
||||
const translit = word.transliteration || '';
|
||||
if (!lexeme && !translit) return;
|
||||
const label = gloss ? `${gloss} — ` : '';
|
||||
lines.push(`${label}${lexeme}${translit ? ` (${translit})` : ''}`);
|
||||
});
|
||||
});
|
||||
});
|
||||
if (lines.length === 0) return 'No Greek/Hebrew words collected yet.';
|
||||
return lines.join('\n');
|
||||
}
|
||||
Reference in new issue
Block a user