Commit graph

21 commits

Author SHA1 Message Date
Benjamin Slingo e857e44165 Update NAPI bindings to use church-core uniffi functions directly
Eliminates duplication by using church_core::uniffi::* instead of church_core::api::*
This ensures both UniFFI (iOS) and NAPI (web) use identical implementations.
2025-08-30 21:45:30 -04:00
Benjamin Slingo e63e617749 Remove unnecessary timezone conversion from events display
- Remove JavaScript date manipulation that was causing timezone issues
- Let church-core API handle all date/time formatting consistently
- Events now display exactly what the Rust backend provides
2025-08-30 15:59:53 -04:00
Benjamin Slingo f67201b35e Remove unused cpp bindings folder 2025-08-30 09:04:03 -04:00
Benjamin Slingo 4b4c9d1bc7 Add documentation files to gitignore
- Ignore all .md files except README.md
- Prevent future commits of temporary documentation files
2025-08-30 09:02:49 -04:00
Benjamin Slingo 6909cef217 Remove unnecessary documentation files 2025-08-30 09:02:19 -04:00
Benjamin Slingo 80020d96a4 Remove outdated Dockerfile 2025-08-30 09:01:36 -04:00
Benjamin Slingo af91871716 Remove .serena AI assistant metadata from repository
- Remove .serena folder containing AI assistant cache and memories
- Add .serena/ to .gitignore to prevent future commits of AI metadata
- Keep repository focused on actual project files
2025-08-30 09:00:49 -04:00
Benjamin Slingo 91a1bb7a54 Restructure project and update gitignore
- Flatten directory structure by moving files from astro-church-website/ to root
- Remove church-core subdirectory in favor of inline Rust library
- Update .gitignore to properly exclude build artifacts, generated files, and dependencies
- Add environment variables, IDE files, and coverage reports to gitignore
- Include generated CSS files and native bindings in ignore patterns
2025-08-30 08:59:27 -04:00
Benjamin Slingo 1013ca0870 Remove admin event creation - force submission form workflow
Streamline admin panel to only handle pending event approvals:
- Remove create_admin_event functions from Rust core
- Remove createAdminEventJson from API bindings
- Update events admin page to focus on pending approvals only
- Maintain edit/delete for approved events via main collection

Enforces cleaner workflow: Submit → Approve → Auto-move to events collection
2025-08-28 22:14:17 -04:00
Benjamin Slingo f91f696334 Convert admin panel to Astro routes and remove thumbnail field
Major architecture cleanup following CLAUDE.md rules:

## Admin Panel Conversion (1843 lines → TypeScript routes)
- Remove public/admin/scripts/main.js (direct API calls violation)
- Add proper Astro admin routes with TypeScript API endpoints
- Add missing admin functions in church-core Rust crate
- Update bindings.js to expose new admin functions

## Thumbnail Field Removal
- Remove thumbnail upload section from event submission form
- Clean up thumbnail-related JavaScript code

## Architecture Compliance Achieved
 Frontend → bindings.js → Rust FFI → church-core → API
 Frontend → fetch() → External API (eliminated)

Files: +13 admin routes, -1843 line JS file, enhanced Rust core
2025-08-28 21:58:49 -04:00
Benjamin Slingo 7f711f7fbe Add children's story field to admin panel schedule forms
Added missing children's story field to both create and edit forms in the schedule management section. This field was already supported in JSON imports but was missing from the manual entry forms.
2025-08-28 20:39:23 -04:00
Benjamin Slingo ccdddc76a9 Fix module import - use index.cjs for CommonJS compatibility
- Change back to index.cjs to avoid ES module require() error
- The .cjs extension ensures proper CommonJS module loading
2025-08-28 16:05:04 -04:00
Benjamin Slingo 7d6946c2d1 Fix native bindings path - correct relative path from dist
- Change to ../../../index.js to account for dist/server/chunks/ depth
- Resolves module not found error in production build
2025-08-28 16:01:50 -04:00
Benjamin Slingo 53400fed17 Fix native bindings path for production build
- Change index.cjs to index.js in bindings to match build output
- Resolves module loading error in production environment
2025-08-28 15:55:11 -04:00
Benjamin Slingo e28c37b8da Fix bulletin parsing and display issues
- Improve scripture reference formatting (Ecclesiastes1214: -> Ecclesiastes 12:14)
- Remove end time from Divine Service display (11:00 AM instead of 11:00 AM - 12:15 PM)
- Enhanced parsing logic for better colon-based field detection
- Apply changes to both main bulletin page and individual bulletin pages
2025-08-28 15:47:43 -04:00
Benjamin Slingo 756a755ba6 Fix PO BOX display and security vulnerability
- Add getChurchPhysicalAddress and getChurchPoBox functions to church-core
- Update UniFFI interface to expose new functions
- Add NAPI wrappers in astro-church-website for new functions
- Update Footer and contact page to use separate address fields
- Rebuild native bindings with new functions
- Display physical address and PO BOX on separate lines properly
- Fix Astro security vulnerability (GHSA-xf8x-j4p2-f749)

Resolves the missing PO BOX issue that was caused by newline character
handling problems between Rust and JavaScript in production environments.
2025-08-26 17:22:25 -04:00
Benjamin Slingo 16caf6c3c4 Add PWA support and fix PO BOX display in address
- Add comprehensive PWA configuration with manifest, service worker, and meta tags
- Replace Android APK download with cross-platform PWA installation
- Fix church address to include PO BOX information from API
- Update contact page and footer to properly display multi-line addresses
- Enable native app-like experience on all platforms without app store requirements
2025-08-26 16:49:47 -04:00
Benjamin Slingo 5f6430a4ee Fix church-core dependency path in Cargo.toml
- Change path from ../../church-core to ../church-core to match actual directory structure
2025-08-23 14:33:35 -04:00
Benjamin Slingo b1796b0475 Fix light mode visibility and sermon page filtering
- Implement dual theme system with separate Tailwind configs for light/dark modes
- Add dynamic stylesheet switching based on system preference
- Fix light mode text visibility by using darker colors on light backgrounds
- Resolve sermon page bug where all content loaded on initial render
- Add build scripts for theme compilation
- Update recurring event type formatting consistency
2025-08-23 14:27:42 -04:00
RTSDA b700c45b06 Add README and LICENSE 2025-08-16 18:30:09 -04:00
RTSDA 13993ecd25 Initial commit - source code only with SecondThirdSaturday recurring type fix 2025-08-16 18:28:35 -04:00