Add URL parameter support for Bible version
- Read version parameter from URL on page load (?version=esv|?version=nkjv) - Update URL with version when selection changes - Enable shareable version-specific URLs like /book/Genesis/chapter/1?version=nkjv
This commit is contained in:
@@ -32,6 +32,15 @@ function App() {
|
||||
// Debug logging
|
||||
console.log('App component rendered');
|
||||
|
||||
// Read version from URL on mount
|
||||
useEffect(() => {
|
||||
const urlParams = new URLSearchParams(location.search);
|
||||
const versionParam = urlParams.get('version');
|
||||
if (versionParam && (versionParam === 'esv' || versionParam === 'nkjv')) {
|
||||
setSelectedVersion(versionParam);
|
||||
}
|
||||
}, []);
|
||||
|
||||
useEffect(() => {
|
||||
console.log('App useEffect triggered');
|
||||
loadVersions();
|
||||
@@ -42,6 +51,14 @@ function App() {
|
||||
// Load versions when version changes
|
||||
useEffect(() => {
|
||||
loadBooks();
|
||||
// Update URL with version when it changes
|
||||
const url = new URL(window.location.href);
|
||||
if (selectedVersion !== 'esv') { // Only add if not default
|
||||
url.searchParams.set('version', selectedVersion);
|
||||
} else {
|
||||
url.searchParams.delete('version');
|
||||
}
|
||||
window.history.replaceState({}, '', url.toString());
|
||||
}, [selectedVersion]);
|
||||
|
||||
// Load user preferences when user changes
|
||||
|
||||
Reference in New Issue
Block a user