- Removed devDependencies section (nodemon) from package.json
- Removed "dev" script that referenced nodemon
- Reinstalled with --omit=dev flag
- Reduced node_modules from 8.4MB (105 packages) to 6.6MB (78 packages)
Only production dependencies remain:
- express (web server)
- mysql2 (database driver)
This creates a cleaner, smaller package for production deployment.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Removed unnecessary files from PHP-based version of dashboard:
- api_notifications.php (replaced by server.js /api/notifications endpoint)
- db_config.php (database config now in server.js)
- index.php (replaced by public/index.html)
- ge-aerospace-logo.svg (duplicate, public/ge-aerospace-logo.svg is served)
The project now uses Node.js/Express exclusively with static files
served from the public/ directory.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Removed overflow: hidden and height: 100vh from body to allow scrolling
- Removed MAX_UPCOMING limit - now displays all upcoming events
- Removed "more events" indicator since all events are shown
- Added grid layout to upcoming events section for consistent display
- Both current and upcoming events now use 2-column grid (single column for 1 event)
This allows users to scroll and interact with the page to view all events
without artificial limits, improving usability for TV displays.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Removed display limits on current events to show all active notifications
- Implemented responsive 2-column grid layout (single column for 1 event, 2 columns for 2+)
- Added min-height to event-header for consistent spacing with/without ticket badges
- Fixed padding inconsistency between events with and without ticket numbers
- Maintained 2-event limit for upcoming events to preserve screen space
- Scaled proportionally for 4K displays (90px min-height, 24px margin)
This allows the dashboard to display all current events efficiently without
vertical overflow, addressing user feedback about event count limitations.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Backend (server.js):
- Implemented severity-based sorting for current events
- Priority hierarchy: Incident > Change > Awareness > TBD
- Events with same severity sorted by starttime (earliest first)
- Upcoming events remain sorted by starttime only
- Added severityPriority mapping for consistent ordering
Frontend (index.html):
- Reduced display limits for 1080p TVs: 2 current + 2 upcoming = 4 total
- Prevents content overflow on 1080p displays
- 4K displays still auto-scale content appropriately
- Ensures critical incidents always appear first in current events
Testing:
- Verified Incident appears before Change before Awareness
- Verified all 4 events fit on 1080p screen without scrolling
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Implemented dynamic Current Events badge color based on severity hierarchy:
* RED (danger) if any Incident exists
* YELLOW (warning) if any Change exists (and no incidents)
* GREEN (success) if only Awareness/TBD exists
- Added getHighestSeverity() function to determine badge color
- Removed all emojis from UI for cleaner professional appearance
- Increased event card height (padding: 20px→30px vertical, 30px→40px horizontal)
- Increased color bar thickness from 40px to 60px for better visibility
- Improved visual hierarchy and clarity for TV display
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Extended time window from 48 hours to 72 hours
- Added isshopfloor filter - only show notifications marked for shopfloor
- Added JOIN with notificationtypes table to get type colors
- Implemented type-based color coding with 40px thick left border:
* Green (#0ad64f) for Awareness and TBD types
* Yellow (#ffc107) for Change type
* Red (#dc3545) for Incident type
- Optimized layout for single-screen TV display (no scrolling):
* Reduced all font sizes and spacing significantly
* Set overflow: hidden and height: 100vh on body
* Reduced header, section titles, event cards, and footer sizes
- Limited display to 3 current + 3 upcoming events max
- Shows "+ X more event(s)" indicator when needed
- Positioned LIVE badge in absolute top-right corner
- Updated all text references from 48 hours to 72 hours
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Node.js Express server with MySQL integration
- Real-time event dashboard with live updates
- GE Aerospace branding and design
- Auto-refresh every 10 seconds (AJAX)
- Shows current and upcoming events (48 hour window)
- Connection status monitoring
- Optimized for TV display
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>