Skip to content

Commit bb78c2c

Browse files
committed
Favicon, theme toggle icon change, and minor CSS
tweaks. Also removed service worker files.
1 parent a862731 commit bb78c2c

19 files changed

Lines changed: 452 additions & 1254 deletions

README.md

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Provinent Scripture Study
22

3-
A comprehensive, feature-rich Bible study web application designed for serious scripture engagement with modern tools and traditional reverence.
3+
A comprehensive, feature-rich Bible study web application designed for serious scripture engagement with modern tools.
44
The entirety of this project was written using AI tools like [Gab AI](https://gab.ai) and [Lumo](https://lumo.proton.me).
55

66
Access the site here: [https://provinent.org](https://provinent.org)
@@ -40,7 +40,7 @@ The sidebar provides organized access to extensive theological resources includi
4040
- Font Awesome for icons
4141
- **API**: Bible.helloao.org for scripture text
4242
- **Storage**: LocalStorage for user data persistence
43-
- **Build**: No build process required - runs directly in modern browsers
43+
- **Build**: Use the provided scripts for setup and consistency
4444

4545
## Installation
4646

@@ -49,9 +49,9 @@ The sidebar provides organized access to extensive theological resources includi
4949
3. Open `index.html` in a web browser
5050

5151
### Optional PDF Setup
52-
For offline functionality:
52+
For an offline Bible:
5353
1. Download a Berean Standard Bible PDF from the provided links
54-
2. Upload via the welcome screen or settings panel
54+
2. Upload via the settings panel
5555
3. Select "Custom PDF" in the reference panel dropdown
5656

5757
## Usage
@@ -62,12 +62,6 @@ For offline functionality:
6262
- Click "Resume Reading Plan" to continue where you left off
6363
- Use "Random Passage" for study from any canon passage of Holy Scripture
6464

65-
### Study Features
66-
- **Right-click verses** to open highlight color picker
67-
- **Click verses** for original language analysis (Strong's Concordance)
68-
- **Toggle notes panel** to write study notes with Markdown support
69-
- **Open reference panel** for side-by-side translation comparison
70-
7165
### Data Management
7266
- Export/import your highlights and notes via JSON files
7367
- Export notes as Markdown or plain text

dev_tools/Minify-JS.ps1

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ param(
88
# Define file mappings
99
$fileMappings = @(
1010
@{ Source = "../src/main.js"; Destination = "../public/main.js" },
11-
@{ Source = "../src/sw.js"; Destination = "../public/sw.js" },
1211
@{ Source = "../src/modules/api.js"; Destination = "../public/modules/api.js" },
1312
@{ Source = "../src/modules/navigation.js"; Destination = "../public/modules/navigation.js" },
1413
@{ Source = "../src/modules/passage.js"; Destination = "../public/modules/passage.js" },
@@ -45,7 +44,6 @@ function Remove-JSComments {
4544
$processedLines = @()
4645

4746
$inBlockComment = $false
48-
$blockCommentBuffer = @()
4947

5048
foreach ($line in $lines) {
5149
$currentLine = $line

favicons/apple-touch-icon.png

48.4 KB
Loading

favicons/favicon-16x16.png

805 Bytes
Loading

favicons/favicon-32x32.png

2.54 KB
Loading

favicons/favicon.ico

15 KB
Binary file not shown.

index.html

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

main.js

Lines changed: 5 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import {
1+
import {
22
initBookChapterControls,
33
nextPassage,
44
prevPassage,
@@ -353,31 +353,6 @@ export function showError(msg) {
353353
export function clearError() {
354354
document.getElementById('errorContainer').innerHTML = '';
355355
}
356-
async function registerServiceWorker() {
357-
if ('serviceWorker' in navigator) {
358-
try {
359-
const response = await fetch('/sw.js');
360-
if (!response.ok) {
361-
console.error('Service worker script not found or inaccessible');
362-
return null;
363-
}
364-
const registration = await navigator.serviceWorker.register('/sw.js', {
365-
scope: '/'
366-
});
367-
console.log('Service Worker registered successfully:', registration);
368-
return registration;
369-
} catch (err) {
370-
console.error('Service Worker registration failed:', err);
371-
if (err.message.includes('MIME')) {
372-
console.error('MIME type issue - ensure server serves sw.js as application/javascript');
373-
}
374-
return null;
375-
}
376-
} else {
377-
console.log('Service workers are not supported');
378-
return null;
379-
}
380-
}
381356
function updateOfflineStatus(isOffline) {
382357
const indicator = document.getElementById('offlineIndicator');
383358
if (!indicator) {
@@ -466,8 +441,9 @@ function toggleTheme() {
466441
}
467442
export function applyTheme() {
468443
document.documentElement.setAttribute('data-theme', state.settings.theme);
469-
document.getElementById('themeIcon').textContent =
470-
state.settings.theme === 'light' ? '🌙' : '☀️';
444+
const themeIcon = document.getElementById('themeIcon');
445+
themeIcon.textContent = '';
446+
themeIcon.className = state.settings.theme === 'light' ? 'fas fa-moon' : 'fas fa-sun';
471447
}
472448
export function selectColorTheme(t) {
473449
state.settings.colorTheme = t;
@@ -507,17 +483,10 @@ async function init() {
507483
loadPassage();
508484
setupEventListeners();
509485
setInterval(updateDateTime, 1_000);
510-
setTimeout(async () => {
511-
try {
512-
await registerServiceWorker();
513-
} catch (err) {
514-
handleError(err, 'init');
515-
}
516-
}, 1000);
517486
console.log('App initialized successfully');
518487
}
519488
if (document.readyState === 'loading') {
520489
document.addEventListener('DOMContentLoaded', init);
521490
} else {
522491
init();
523-
}
492+
}

modules/settings.js

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -225,7 +225,6 @@ export async function deleteAllData() {
225225
theme: 'light',
226226
colorTheme: 'blue',
227227
notesView: 'text',
228-
hasSeenWelcome: true,
229228
referencePanelOpen: false,
230229
referenceSource: 'biblegateway',
231230
collapsedSections: {},
@@ -245,8 +244,7 @@ export async function deleteAllData() {
245244
currentPage: 1,
246245
renderTask: null,
247246
zoomLevel: 1
248-
},
249-
welcomePdfFile: null
247+
}
250248
};
251249
Object.assign(state, defaultState);
252250
document.getElementById('notesInput').value = '';

modules/state.js

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { handleError } from '../main.js'
22
import { loadPDFFromIndexedDB } from './pdf.js'
3-
export const APP_VERSION = '1.0.2025.11.01';
3+
export const APP_VERSION = '1.01.2025.11.02';
44
let saveTimeout = null;
55
const SAVE_DEBOUNCE_MS = 500;
66
export const BOOK_ORDER = [
@@ -55,7 +55,6 @@ export const state = {
5555
theme: 'light', // 'light' | 'dark'
5656
colorTheme: 'blue',
5757
notesView: 'text', // 'text' | 'markdown'
58-
hasSeenWelcome: false,
5958
referencePanelOpen: false,
6059
referenceSource: 'biblegateway',// 'biblegateway' | 'biblehub' | 'pdf'
6160
collapsedSections: {},
@@ -75,8 +74,7 @@ export const state = {
7574
currentPage: 1,
7675
renderTask: null,
7776
zoomLevel: 1
78-
},
79-
welcomePdfFile: null
77+
}
8078
};
8179
export function formatBookNameForSource(bookName, source) {
8280
const book = bookName.toLowerCase();
@@ -125,8 +123,7 @@ export function saveToStorage() {
125123
pdf: {
126124
currentPage: state.pdf.currentPage,
127125
zoomLevel: state.pdf.zoomLevel
128-
},
129-
welcomePdfFile: null
126+
}
130127
};
131128
if (cleanState.settings.customPdf && cleanState.settings.customPdf.data) {
132129
const { data, ...meta } = cleanState.settings.customPdf;

0 commit comments

Comments
 (0)