diff --git a/CHANGELOG.md b/CHANGELOG.md index c5726af..1fc11b0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +### 2026-02-01: 1.0.2 + +* Add reading time and page info to book metadata display + ### 2026-02-01: 1.0.1 * Persist book metadata to localStorage diff --git a/README.md b/README.md index bab1584..688b3bb 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # ⚡ Speed reader - +    diff --git a/package.json b/package.json index ed85909..794dc57 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "rsvp-speed-reader", "private": true, - "version": "1.0.1", + "version": "1.0.2", "type": "module", "scripts": { "dev": "vite", diff --git a/src/App.jsx b/src/App.jsx index 3523b1f..7cb2148 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -223,6 +223,19 @@ function getWordDelay(word, baseDelay) { return baseDelay * multiplier; } +// Format reading time in human-readable format +function formatReadingTime(minutes) { + if (minutes < 1) return "< 1 min"; + if (minutes < 60) return `${Math.round(minutes)} min`; + const hours = Math.floor(minutes / 60); + const mins = Math.round(minutes % 60); + if (mins === 0) return `${hours}h`; + return `${hours}h ${mins}m`; +} + +// Words per page (standard estimate) +const WORDS_PER_PAGE = 250; + function App() { // Load settings only once on mount const [savedSettings] = useState(() => loadSettings()); @@ -662,6 +675,15 @@ function App() { {bookMetadata.author && (