Thunder Mountain Radio parity update audit
Date: 2026-03-23

Completed best-effort parity updates from Smurfettes into Thunder while keeping Thunder branding/content:
- Added admin File Finder module and dashboard link
- Added File Finder permission mapping in User Management
- Upgraded Join Applications admin page with demo audio player, Open Demo, and Download Demo actions
- Upgraded public Requests page to Smurf-style request workflow while keeping Thunder look
- Upgraded send_request handler with safer write/cleanup logic
- Upgraded public Events page and admin Events manager with image, external link, and show/hide entry form controls
- Added structured JSON News manager while preserving Thunder legacy news.txt stories
- Upgraded public News page to show both structured JSON news and preserved legacy Thunder news
- Added missing helper functions to admin/public libraries for image and demo handling

Audit notes:
- PHP lint should be run on deployment server after upload
- Legacy Thunder content in data/news.txt is preserved and still displayed
- Existing Thunder style/content files were not replaced with Smurf branding
- This is a best-effort parity pass focused on missing page functions; it is not a claim that every hidden edge-case workflow was manually browser-tested on a live server
