Commit Graph

7 Commits

Author SHA1 Message Date
kennethreitz c797e4a712 Add dark mode titlebar, disable analytics, remove About dialog
- Set window theme to dark to match website's dark mode
- Update loading screen and About dialog to use dark colors
- Disable analytics in desktop app via DISABLE_ANALYTICS env var
- Remove About menu item and dialog (was placeholder)
- Clean up unused imports and constants

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-15 19:31:59 -05:00
kennethreitz 108667f531 Add standalone build support with bundled Python server
- Make PIL import conditional in og_image.py for builds without Pillow
- Update OG image routes to fall back to default image when PIL unavailable
- Update Tauri to find and use bundled PyInstaller executable
- Use transparent titlebar for full-width modern appearance

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-15 15:01:06 -05:00
kennethreitz ba71e55bca Add loading screen, native menu bar, and About dialog
Features:
- Loading screen with spinner while FastAPI server starts
- Full native macOS menu bar with:
  - Navigate menu: Home, Books, Search, Verse of the Day, Random
  - Study menu: Study Guides, Topics, Stories, Strong's, Interlinear, Reading Plans
  - View menu: Back, Forward, Reload, Fullscreen
  - Standard Edit, Window, Help menus
- About dialog with version info and description
- Keyboard shortcuts for common navigation (Cmd+K search, etc.)
- Version updated to 0.1.0

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-15 13:59:25 -05:00
kennethreitz 06382e83a0 Fix Tauri app to start server before window, use WebviewUrl::External
- Start FastAPI server before Tauri initializes
- Wait for health check to pass before creating window
- Create window programmatically with External URL
- Try uv first, fall back to python3
- Remove window config from tauri.conf.json (now in code)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-15 13:51:49 -05:00
kennethreitz a776c0c73c Fix Rust lifetime issue, add gitignore for build artifacts
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-15 13:45:33 -05:00
kennethreitz c72d721e8b Fix Tauri feature flag for v2 compatibility
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-15 13:42:34 -05:00
kennethreitz 79dfd14400 Add Tauri desktop app scaffolding for offline KJV Study
Introduces a complete Tauri v2 project structure for building a native
macOS desktop application. The app runs FastAPI as a sidecar process
on port 31102 (number of KJV verses) and renders the existing web UI
in a native WebKit webview.

Key additions:
- src-tauri/: Complete Tauri configuration and Rust source
- Desktop entry point (kjvstudy_org/desktop.py)
- PyInstaller bundling script for Python sidecar
- Desktop-specific pyproject.toml without WeasyPrint
- App icons for macOS (.icns) and Windows (.ico)
- Makefile.desktop with build targets
- Comprehensive DESKTOP.md documentation

WeasyPrint is intentionally excluded from the desktop build to avoid
native library bundling complexity. PDF buttons are automatically
hidden when WeasyPrint is unavailable (existing graceful degradation).

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-15 13:35:35 -05:00