Added support for Google Meet and Hyperbeam URLs
-
Updated
detectStreamType()function to recognize:- Google Meet URLs (
meet.google.com) - Hyperbeam URLs (
hyperbeam.com)
- Google Meet URLs (
-
Updated
handleSubmit()function to handle these new platforms by passing URLs directly to the iframe embed
- ✅ YouTube (youtube.com, youtu.be)
- ✅ Discord (discord.com)
- ✅ Zoom (zoom.us)
- ✅ Google Meet (meet.google.com) - NEW
- ✅ Hyperbeam (hyperbeam.com/app/room) - NEW
Users can now paste Google Meet or Hyperbeam URLs into the video link input, and the application will automatically detect and embed them.
Implemented localStorage to persist scripture state across tab switches
- Added
SCRIPTURE_STORAGE_KEYconstant:'yahudim_scripture_state' - Created
loadScriptureFromStorage()function to restore state on mount - Created
saveScriptureToStorage()function to save state after fetching verses - Modified
fetchVerses()to save scripture data to localStorage
- Book name
- Start verse
- End verse
- Fetched verses array
- Scripture content now persists when users switch tabs or refresh the page
- Last viewed scripture is automatically restored on component mount
- Data is stored in browser's localStorage
Added offline markdown export functionality for scripture notes
- Created
exportNoteAsMarkdown()function - Added new "📥 Export .md" button next to the Save button
- Generates markdown files with the format:
# [Title] **Verse Reference:** [verseRef] ## Notes [content]
- Downloads note as
.mdfile for offline use - Filename is sanitized version of the note title
- Button is enabled only when content is present
- Uses browser's Blob API for file generation
- Save button (pink-orange gradient)
- Export .md button (blue-cyan gradient) - NEW
- Cancel button (when editing)
-
src/components/VideoStream.jsx
- Backup created:
VideoStream.jsx.bak - Added Google Meet and Hyperbeam support
- Backup created:
-
src/components/ScriptureStudy.jsx
- Backup created:
ScriptureStudy.jsx.bak - Added localStorage persistence
- Added markdown export functionality
- Backup created:
- Test with YouTube URL
- Test with Discord URL
- Test with Zoom URL
- Test with Google Meet URL (e.g., https://meet.google.com/xxx-xxxx-xxx)
- Test with Hyperbeam URL (e.g., https://hyperbeam.com/app/room/...)
- Fetch some verses
- Switch to another tab or component
- Return to Scripture Study - verses should still be displayed
- Refresh the page - verses should persist
- Enter a title (e.g., "Genesis Study")
- Enter a verse reference (e.g., "Genesis 1:1-3")
- Write some notes
- Click "📥 Export .md" button
- Check downloaded file contains properly formatted markdown
To rebuild the application with these changes:
cd /home/ishaglcy/public_html/yahudim.app
npm run buildFor development mode:
npm run devOriginal files have been backed up with .bak extension:
src/components/VideoStream.jsx.baksrc/components/ScriptureStudy.jsx.bak
To restore originals if needed:
cp src/components/VideoStream.jsx.bak src/components/VideoStream.jsx
cp src/components/ScriptureStudy.jsx.bak src/components/ScriptureStudy.jsx- All changes are backward compatible
- No database schema changes required
- No additional dependencies needed
- LocalStorage is used for scripture persistence (client-side only)
- Markdown export is purely client-side (no server interaction)