diff --git a/src/ui/app.ts b/src/ui/app.ts index 0f61a7f..e01f6f6 100644 --- a/src/ui/app.ts +++ b/src/ui/app.ts @@ -248,7 +248,8 @@ export class App { const biblePassage = bp[3] || ''; let bibleVersion: string; if (!versionSpec) { - bibleVersion = this.resolveBibleVersion(this.settings.defaultBibleVersion, lang); + const lastVersion = localStorage.getItem('ponomar-last-bible-version'); + bibleVersion = lastVersion || this.resolveBibleVersion(this.settings.defaultBibleVersion, lang); } else if (versionSpec.includes('~')) { // Format: lang~short e.g. "en~kjv" → "en/bible/kjv" const [vl, vs] = versionSpec.split('~'); diff --git a/src/ui/bible-view.ts b/src/ui/bible-view.ts index 73d58ca..e156f0b 100644 --- a/src/ui/bible-view.ts +++ b/src/ui/bible-view.ts @@ -298,5 +298,6 @@ export class BibleView { } saveBibleState(this.currentVersion, this.currentBook, this.currentPassage); + localStorage.setItem('ponomar-last-bible-version', this.currentVersion); } } \ No newline at end of file diff --git a/src/ui/settings-view.ts b/src/ui/settings-view.ts index 4c13a5f..ae15fad 100644 --- a/src/ui/settings-view.ts +++ b/src/ui/settings-view.ts @@ -58,12 +58,6 @@ function defaultBibleForLanguage(lang: string): string { return map[lang] || 'kjv'; } -const LANG_LABELS: Record = { - en: 'English', ru: 'Русский', cu: 'Церковнославянский', - el: 'Ἑλληνικά', fr: 'Français', la: 'Latina', - zh: '中文', ar: 'العربية', -}; - function versionPriority(lang: string, userLang: string): number { if (lang === userLang) return 0; if ((userLang === 'ru' || userLang === 'cu') && (lang === 'ru' || lang === 'cu')) return 1; @@ -339,26 +333,15 @@ export class SettingsView { return pa - pb || a.name.localeCompare(b.name); }); - // Group by language - const groups: Record = {}; - for (const v of versions) { - if (!groups[v.language]) groups[v.language] = []; - groups[v.language].push(v); - } - - // Build optgroups in priority order - const orderedLangs = [...new Set(versions.map((v: any) => v.language))] as string[]; + // Build options in priority order const select = document.getElementById('default-bible') as HTMLSelectElement; if (select) { - select.innerHTML = orderedLangs.map((lang: string) => { - const items = groups[lang]; - return `${items.map((v: any) => { + select.innerHTML = versions.map((v: any) => { const shortId = v.id.split('/').pop(); const size = OfflineManager.getBibleSize(v.id); const comment = size ? ` (${size})` : ''; return ``; - }).join('')}`; - }).join(''); + }).join(''); } } catch {} })();