# Active Context ## Current Task Events Calendar Update - March 4, 2026 - ✅ FULLY DEPLOYED AND VERIFIED ## Recent Changes 1. **Events Calendar Update (March 4, 2026)**: ✅ FULLY DEPLOYED AND VERIFIED - Removed 2 past events: January 11, 2025 Members Meeting and December 13, 2025 Board Meeting - Updated March 14, 2026 Board Meeting with complete details: * Location: Funk It Coffee and Thrift * Address: 314 N 1st St. West, Missoula MT 59802 * Time: 10:00 AM - 11:00 AM (changed from 9:00 AM - 10:00 AM) * Contact: Tessa Williams - Kept all future events (June 2026 and September 2026 meetings) - Committed to Git: 3eff1a9 - Pushed to remote repository - Deployed to production server (10.4.0.205) - Docker container rebuilt with --no-cache flag - Verified working on public website (after browser cache clear) - Changes are live and visible to public 2. **Web Package Updates (Dec 15, 2025)**: ✅ FULLY COMPLETED - Updated React 18.2.0 → 19.2.3 (major version upgrade) - Updated React Router 6.17.0 → 7.10.1 (major version upgrade) - Updated Framer Motion 10.16.4 → 12.23.26 (major version upgrade) - Updated @types/react 18.2.33 → 19.2.7 - Updated @types/react-dom 18.2.14 → 19.2.3 - Added missing dependencies: ajv@8.17.1, react-icons@5.5.0, date-fns@4.1.0 - Fixed React 19 breaking change: Updated index.tsx to use createRoot API - Removed old conflicting index.js file (had old ReactDOM.render) - Fixed index.html by removing incorrect script tag - Fixed Tailwind CSS styling by adding index.css import to index.tsx - All changes tested and verified working on local dev server - Committed to Git: 9b964ea, 38773db, 45d4ff3, 3b88fc8 - Pushed to remote repository - ready for production deployment 2. SBS Solar Sponsor Addition (Oct 15, 2025): - Added sbs-solar.png logo to client/public/sponsors/ - Updated Sponsors.tsx with SBS Solar information - Included website, Facebook, and Instagram links - Description highlights renewable energy and community engagement - Committed to Git: 8d4c058 - Pushed to remote repository for deployment 1. Video Gallery with Thumbnails (Oct 14, 2025): - Extracted thumbnails from all 6 videos at 5-second mark using ffmpeg - Thumbnail sizes: 80-183 KB each (total ~740 KB) - Updated VideoGallery.tsx to display thumbnail images instead of video elements - Thumbnails show actual video content preview with play button overlay - Improved loading performance - thumbnails load instantly - Deleted entire Junk directory (cleaned up all source files) - Committed to Git: 4f6bc08 - Successfully deployed to production 2. Previous: Video Gallery creation and deployment: - Optimized 5 MOV videos from Junk directory using ffmpeg (H.264, CRF 28, 128k audio) - Created community-01.mp4 through community-05.mp4 (total ~36 MB) - Moved archived board intro video as board-intro-archive.mp4 (128 MB) - Created VideoGallery.tsx component with modal video player - Video player features: play/pause/stop controls, seek bar, auto-hiding controls - Responsive grid layout (1-3 columns based on screen size) - Added to navigation: "Video Gallery" in About MCDi dropdown and mobile menu - Route added: /videos - Fixed TypeScript errors with FaPlay icon (used size/color props, Tailwind opacity) - Committed to Git: b28bafa 2. Previous: Gallery photo optimization and renaming: - Renamed gallery photos to 0001.jpg through 0010.jpg format - Converted 8 HEIC files from Junk directory to JPG using macOS sips tool - Optimized all photos for web (resized to max 1920px, 80% quality) - Removed all captions per owner request (photos display without text) - Gallery shows 10 community event photos in responsive grid - Committed to Git: a92839f 3. Previous: Created new Gallery component (Gallery.tsx): - Responsive photo grid layout (1-4 columns based on screen size) - Clickable images that enlarge in a modal viewer - Smooth animations using Framer Motion - Modal features: click outside to close, X button, spring animation - Maintains website's color scheme (#6B1631 red) - Added to navigation: "About MCDi" dropdown and mobile menu - Route added: /gallery 2. Previous: Modified Header.tsx to display donation button on mobile: - Added permanent yellow donation button below hamburger menu on mobile devices - Button is always visible in the red header area (no need to open menu) - Removed duplicate donation button from inside mobile menu dropdown - Desktop view unchanged - button remains in top right corner - Mobile header now has extended height to accommodate the button - Button centered and properly styled with same appearance as desktop version 2. Previous: Added 5 new events to eventData.ts: - December 13, 2025: Board Meeting at Liquid Planet at The Book Exchange (9-10 AM) - March 14, 2026: Board Meeting at TBD location (9-10 AM) - June 13, 2026: Board Meeting at TBD location (9-10 AM) - September 12, 2026: Board Meeting at TBD location (9-10 AM) - September 12, 2026: Annual Membership Meeting at TBD location (10-11 AM) - All events use Tessa Williams as contact (tessa.williams@deafmissoula.org) - Events will automatically appear in calendar view and upcoming events section 2. Updated intro video: - Replaced mcdi-intro.mp4 with new version - Original video saved as mcdi-intro-old.mp4 - Video component in Meet-Board.tsx already configured to work with new file - No code changes needed - video path remains /videos/mcdi-intro.mp4 2. Previous completed work: - Added new meeting minutes for January 11, 2025 and March 8, 2025 - Added 6.jpg to rotating photo carousel - Fixed CACHEBUST deployment issue with stack.env configuration - Updated email configuration for production server compatibility (port 2525) - All previous changes successfully deployed to production ## Next Steps 1. User needs to rebuild Docker container in Portainer to deploy events update 2. Future tasks on hold: - Resources section - waiting for President's list of local resources - Minutes update - waiting for approved minutes from secretary 3. Monitor video gallery performance on production 4. Check if board-intro-archive.mp4 (128 MB) loads acceptably 5. Future: Could add video descriptions or categories if requested 6. Future: Could add video duration display on thumbnails ## Solution Summary - Problem: Portainer repository deployments require stack.env file in Git repo - Solution: Created stack.env with CACHEBUST variable and updated docker-compose.yml - Future: Update CACHEBUST value in stack.env and push to force rebuilds ## Deployment Process To deploy changes to production server: 1. SSH to production server: `ssh chaulmark@10.4.0.205` 2. Navigate to website directory: `cd ~/websites/deafmissoula.org` 3. Pull latest changes: `git pull` 4. Rebuild Docker container: `docker-compose up -d --build` ## Technical Notes - Website uses React with TypeScript - Minutes component includes desktop/mobile viewing modes - Sorting functionality maintained for all columns - Minutes data ordered from newest (top) to oldest (bottom) in the source array