Skip to content

Claude/edit person bio view kq js x#42

Merged
CraigBuckmaster merged 11 commits into
masterfrom
claude/edit-person-bio-view-KqJsX
Apr 2, 2026
Merged

Claude/edit person bio view kq js x#42
CraigBuckmaster merged 11 commits into
masterfrom
claude/edit-person-bio-view-KqJsX

Conversation

@CraigBuckmaster
Copy link
Copy Markdown
Owner

No description provided.

claude added 11 commits April 2, 2026 01:14
signInWithGoogle/Facebook now check isSupabaseAvailable() before
loading oauthHelpers.ts (which requires expo-crypto). In Expo Go,
returns a user-friendly error message instead of a native module crash.

https://claude.ai/code/session_01A4HcModKHZYEAerBS28rzr
Social sharing:
- shareStreak(): "I'm on a X-day reading streak..."
- shareProgress(): "I've studied X% of the Bible..."
- StreakBadge now tappable → share streak via OS share sheet
- Progress card gets share icon button
- Analytics events: share_streak, share_progress

Deep linking (scripture:// URL scheme):
- scripture://book/{bookId}/{chapterNum} → opens chapter
- scripture://people/{personId} → opens genealogy tree
- scripture://map, scripture://timeline → explore tools
- NavigationContainer linking config in App.tsx
- Shared verse messages include deep link URL

https://claude.ai/code/session_01A4HcModKHZYEAerBS28rzr
Shows Old Testament and New Testament reading progress below the
overall progress card. Each bar shows chapters read / total with
percentage. Only appears for testaments where the user has started.

- getTestamentProgress() in db/user.ts: groups reading_progress by
  OT/NT book IDs, returns chapters read vs total for each
- HomeScreen: loads testament progress on focus, renders compact
  progress bars with gold fill

https://claude.ai/code/session_01A4HcModKHZYEAerBS28rzr
Panels: DiscoursePanel, EchoesView, PeoplePanel, PlacesPanel,
  TabbedPanelRenderer, TextualPanel, TimelinePanel
Tree: PersonSearchBar
Map: StoryPicker
Screens: ConceptBrowse/Detail, WordStudyDetail, ProphecyDetail,
  DifficultPassagesBrowse/Detail, ScholarBio, Search, BookList, AllNotes
Components: InterlinearSheet, CollectionPicker, ScholarInfoSheet,
  AuthorshipSheet, WordStudyPopup, CrossRefPopup, QnavOverlay

All interactive elements (TouchableOpacity/Pressable) now have
accessibilityRole + descriptive accessibilityLabel. Tab controls
include accessibilityState for selected state.

https://claude.ai/code/session_01A4HcModKHZYEAerBS28rzr
- useTTS: accepts optional voiceId, passes to Speech.speak()
- useAvailableVoices: lists device's English TTS voices
- settingsStore: ttsVoice preference (persisted to SQLite)
- ChapterScreen: passes ttsVoice from settings to useTTS
- Added debug logging to diagnose TTS not playing

https://claude.ai/code/session_01A4HcModKHZYEAerBS28rzr
Speech.stop() triggers onDone on some platforms, which caused the
hook to auto-advance to the next verse even when paused. Added a
stoppedManually ref flag — onDone only advances when the speech
completed naturally, not when we explicitly stopped it.

Also fixes: pause → play now restarts the current verse instead
of silently skipping it.

https://claude.ai/code/session_01A4HcModKHZYEAerBS28rzr
expo-speech uses the iOS ringtone/phone-call audio channel, which is
silenced by the hardware mute switch — even though music/video plays
fine. Added expo-av to set playsInSilentModeIOS=true before speaking,
which routes TTS through the media channel instead.

Now TTS plays regardless of the mute switch position, matching user
expectation (they tapped play, they want to hear it).

https://claude.ai/code/session_01A4HcModKHZYEAerBS28rzr
New section "TEXT-TO-SPEECH" in Settings lets users choose from all
English voices available on their device. Includes hint to download
enhanced voices from iOS Accessibility settings.

- useAvailableVoices hook: enumerates system English voices via expo-speech
- VoicePicker component in SettingsScreen: expandable list, persists selection
- settingsStore: ttsVoice preference (persisted, hydrated on startup)
- ChapterScreen: passes selected voice to useTTS hook

iOS ships with dozens of voices (Samantha, Daniel, Aaron, etc.).
Enhanced/premium voices can be downloaded free in Settings > Accessibility
> Spoken Content > Voices > English.

https://claude.ai/code/session_01A4HcModKHZYEAerBS28rzr
Recommended voices (Nathan, Daniel, Samantha, Aaron Enhanced) sort
to the top of the voice list with a RECOMMENDED badge. Helps users
find the best voices for scripture reading without scrolling.

https://claude.ai/code/session_01A4HcModKHZYEAerBS28rzr
- LoginScreen: 7 tests (rendering, social buttons, inputs, links)
- SignUpScreen: 5 tests (rendering, fields, social buttons, links)
- ForgotPasswordScreen: 6 tests (rendering, input, button, links)
- supabase.ts: 4 tests (isSupabaseAvailable, getSupabase when unconfigured)

https://claude.ai/code/session_01A4HcModKHZYEAerBS28rzr
@chatgpt-codex-connector
Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@CraigBuckmaster CraigBuckmaster merged commit 3966e20 into master Apr 2, 2026
1 check passed
@CraigBuckmaster CraigBuckmaster deleted the claude/edit-person-bio-view-KqJsX branch April 2, 2026 02:17
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Apr 2, 2026

Test Results

✅ All tests passed

Passed Failed Total
Tests ✅ 1228 ❌ 0 1228
Suites ✅ 211 ❌ 0 211

Coverage

Statements Branches Functions Lines

⏱️ Duration: 46.4s

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants