20 KiB
UI Modernization Plan for Dodgers Stream Theater
Overview
This comprehensive plan focuses exclusively on UI modernization of the Dodgers streaming platform while maintaining all existing functionality. The modernization follows a systematic approach across 6 phases, transforming the current inline-style interface into a modern, maintainable, and visually appealing application.
Important Info
Always come back and update UI_UPDATE.MD once complete with task and task item. Add any needed notes and if additional tasks are needed for other tasks/sub-tasks/etc add them.
Version Control Workflow
- Create a meaningful git commit after completing each task/sub-task
- Commit messages should reference the task number and brief description (e.g., "Complete 1.1.1: Inline Styles Extraction")
- Use atomic commits - one logical change per commit
- Staged files should relate to the completed task only
Phase 1: Structural Refactoring (UI Files Only)
Goal: Separate inline styles and scripts into dedicated files while maintaining PHP backend logic
Sub-task 1.1: CSS Extraction and Modularization
1.1.1: Inline Styles Extraction
- Identify all CSS rules within the
<style>tag in index.php - Copy all CSS content to temporary backup file
- Parse PHP variables used in CSS (if any) for dynamic styling
- Test that all current styles are preserved during extraction
1.1.2: Styles.css Creation and Organization
- Create new styles.css file in project root
- Migrate all inline styles to styles.css maintaining exact formatting
- Verify that PHP dynamic variables are handled correctly in external file
- Test basic page load and styling after migration
1.1.3: CSS Modularization Setup
- Analyze current CSS structure and identify logical groupings
- Separate reset/normalize styles into separate file
- Group layout-related styles into layout.css
- Group component-specific styles into components.css
1.1.4: Variables.css Creation and Integration
- Extract all CSS custom properties (--variable) into variables.css
- Expand color palette with Dodgers-themed variables
- Create typography scale variables (font sizes, line heights)
- Establish breakpoint variables for responsive design
1.1.5: CSS Architecture Implementation
- Implement BEM naming convention throughout CSS
- Establish CSS file import hierarchy
- Create utility classes for common patterns
- Implement mobile-first responsive foundation
Sub-task 1.2: JavaScript Separation and Organization
1.2.1: JavaScript Code Identification
- Locate all JavaScript code within
<script>tags in index.php - Identify JavaScript functions, event handlers, and global functions
- Map dependencies between different JavaScript sections
- Document any PHP- generated JavaScript content
1.2.2: Core App.js Structure Creation
- Create new app.js main file
- Define application configuration object
- Set up basic module loading structure
- Implement global error handling and logging
1.2.3: Video Player Module Extraction
- Extract Video.js initialization code into video-player.js
- Separate video control functions
- Move stream status management logic
- Maintain error handling for video playback
1.2.4: Chat System Module Creation
- Extract chat functionality into chat.js
- Separate message handling and UI updates
- Move user authentication and admin functions
- Implement event delegation for chat interactions
1.2.5: UI Controls Module Development
- Extract UI toggle and control functions into ui-controls.js
- Separate keyboard shortcuts implementation
- Move notification and toast management
- Create utility functions for DOM manipulation
1.2.6: API Communication Module
- Extract AJAX/Fetch calls into api.js
- Create functions for heartbeat, message sending, and data fetching
- Implement API error handling and retry logic
- Separate WebSocket or polling mechanisms
Sub-task 1.3: HTML Structure Refactoring
1.3.1: Semantic HTML Analysis
- Review current HTML structure and identify semantic improvements
- Map current div structure to proper semantic elements
- Ensure proper heading hierarchy (H1->H6)
- Validate accessibility baseline with semantic markup
1.3.2: BEM Class Implementation
- Apply BEM (Block-Element-Modifier) naming convention
- Create consistent CSS class naming throughout HTML
- Group related elements with BEM blocks
- Implement modifier classes for component variations
1.3.3: Component-Based Structure
- Identify reusable HTML component patterns
- Structure HTML for future componentization
- Create logical component boundaries
- Implement consistent component API patterns
1.3.4: Accessibility Enhancements
- Add ARIA labels to all interactive elements
- Implement proper role attributes for complex components
- Ensure keyboard navigation support structure
- Test semantic structure with screen readers
1.3.5: Event Handler Removal
- Remove all inline onclick/onchange handlers
- Replace with data attributes for JS targeting
- Implement proper event delegation setup
- Test that all interactions still function correctly
Sub-task 1.4: Asset Organization
1.4.1: Directory Structure Creation
- Create organized subdirectories for different asset types
- Establish version control for asset management
- Set up asset compilation strategy
- Define cache-busting strategy for static files
1.4.2: CSS Asset Management
- Organize CSS files by component/functionality
- Create import hierarchy and load order
- Implement minification strategy
- Set up development vs production builds
1.4.3: JavaScript Asset Organization
- Structure JavaScript modules in logical directories
- Implement module loading mechanism
- Create build process for bundling
- Set up source maps for debugging
1.4.4: Loading Strategy Implementation
- Implement proper CSS and JS loading order
- Add critical CSS inlining for performance
- Create async/defer loading strategies
- Test loading performance and FCP improvements
Phase 2: Visual Design Modernization
Goal: Implement modern design principles with enhanced aesthetics
Sub-task 2.1: Enhanced Color System and Theming
2.1.1: Color Palette Expansion
- Analyze current Dodgers color usage
- Create comprehensive color palette with variations
- Implement opacity variants for different states
- Test accessibility compliance with color combinations
2.1.2: CSS Variables System
- Define global color variables in variables.css
- Implement theme-specific color overrides
- Create semantic color names (primary, secondary, accent)
- Set up dark/light mode foundations
2.1.3: Gradient Implementation
- Create subtle gradient backgrounds for headers
- Implement button gradient styles
- Add background gradients for visual interest
- Ensure gradients meet accessibility requirements
2.1.4: Color Token System
- Establish consistent color usage patterns
- Create color utility classes
- Implement dynamic theming capabilities
- Test cross-browser color rendering
2.1.5: Accessibility Validation
- Verify WCAG AA contrast ratios
- Test colorblind accessibility modes
- Implement color-independent design patterns
- Document color usage guidelines
Sub-task 2.2: Typography and Font System
2.2.1: Font Stack Definition
- Define preferred web fonts with fallbacks
- Create font-loading strategy for performance
- Implement adaptive font loading based on user preferences
2.2.2: Typography Scale Creation
- Establish modular typography scale (6-8 sizes)
- Implement line height relationships
- Create consistent letter spacing patterns
2.2.3: Font Weight Variations
- Implement font weight variations for hierarchy
- Define semantic font weights (regular, bold, semi-bold)
- Create consistent weight usage patterns
2.2.4: Text Truncation Utilities
- Implement ellipsis truncation for long text
- Create multi-line truncation utilities
- Add responsive text truncation
2.2.5: Accessibility Features
- Test font readability at small sizes
- Implement user font scaling compatibility
- Create high contrast font variations
Sub-task 2.3: Shadow and Elevation System
2.3.1: Elevation Scale Definition
- Create 0-6 level elevation system
- Define shadow properties for each level
- Implement semantic elevation usage
2.3.2: Component Shadow Implementation
- Apply appropriate shadows to cards
- Add elevation to floating elements
- Create interactive shadow variations
2.3.3: Visual Hierarchy Enhancement
- Use elevation to create depth
- Implement layered design principles
- Test shadow performance on mobile devices
Sub-task 2.4: Modern Icon System
2.4.1: Icon Replacement Strategy
- Identify current emoji usage
- Replace with semantic SVG icons
- Implement icon sprite system
2.4.2: Icon Size Variants
- Define icon size scale (xs-xl)
- Create consistent icon sizing proportions
- Implement responsive icon scaling
2.4.3: Animated Icons
- Create loading spinners and progress indicators
- Implement micro-interaction animations
- Add hover state animations for interactive icons
2.4.4: Accessibility Implementation
- Add screen reader labels for decorative icons
- Implement focus indicators for icon buttons
- Test keyboard navigation for icon controls
Sub-task 2.5: Component Visual Polish
2.5.1: Button Style Redesign
- Create button component with multiple variants
- Implement consistent button sizing and padding
- Add button state variations (hover, active, disabled)
2.5.2: Card Design Updates
- Redesign card components with modern styling
- Implement consistent card shadows and borders
- Add card interaction states
2.5.3: Form Element Updates
- Enhance input field styling
- Create consistent form element design
- Implement form validation states
2.5.4: Loading States
- Implement skeleton loading patterns
- Create smooth loading transitions
- Add stateful component styling
Phase 3: Layout and Responsiveness Improvements
Goal: Create fluid, adaptive layouts that work across all devices
Sub-task 3.1: Grid-Based Layout System
3.1.1: CSS Grid Implementation - COMPLETED 9/29/2025
- Analyze current flexbox usage
- Identify CSS Grid opportunities
- Implement grid-based layout foundation
Notes: Added comprehensive CSS Grid utility classes to utilities.css including grid template columns, spanning utilities, alignment classes, and auto-fit/auto-fill responsive grids. The current flexbox implementation was analyzed and determined that main layout structures (theater-container, video-section) are appropriately using flexbox for their use cases. Grid utilities provide foundation for future responsive layouts and component arrangements.
3.1.2: 12-Column System - COMPLETED 9/29/2025
- Create responsive grid variation classes
- Implement grid gap and spacing system
- Add grid utility classes for common patterns
Notes: Implemented comprehensive 12-column CSS Grid system in utilities.css with:
- Expanded grid column spans (col-span-5 through col-span-12)
- Added col-start-* and col-end-* utilities for precise column positioning
- Implemented responsive grid classes (.sm:grid-cols-, .md:grid-cols-, etc.) for all breakpoints
- Enhanced gap system with gap-, gap-x-, and gap-y-* utilities
- Added grid-flow utilities and additional alignment classes
- Created responsive grid variation classes for sm (640px+), md (768px+), lg (1024px+), xl (1280px+), and 2xl (1536px+) breakpoints
3.1.3: Layout Utilities - COMPLETED 9/29/2025
- Create container and wrapper utilities
- Implement spacing and alignment helpers
- Add responsive layout modifiers
Notes: Implemented comprehensive layout utilities to utilities.css with over 190 utility classes including:
- Container utilities (.container, .container-fluid, .wrapper, breakpoint-specific containers)
- Complete spacing system (margin/padding utilities: .m-, .p-, directional and axis helpers)
- Display and positioning utilities (.block, .flex, .relative, .absolute, etc.)
- Width/height utilities (.w-, .h-, fractional widths)
- Border and text alignment utilities
- Flexbox utilities (direction, wrap, justify, align, flex-items)
- Responsive layout modifiers across all breakpoints (sm:, md:, lg:, xl:, 2xl:)
Sub-task 3.2: Advanced Breakpoint Management
3.2.1: Breakpoint Definition
- Establish 6 responsive breakpoints (xs to 2xl)
- Create breakpoint mixin system
- Implement breakpoint-based CSS variables
3.2.2: Responsive Typography
- Create fluid typography scaling
- Implement responsive font sizing
- Add breakpoint-specific text adjustments
3.2.3: Component Breakpoint Overrides
- Create component-specific responsive behavior
- Implement container query support
- Test layout at all breakpoints
Sub-task 3.3: Mobile-First Redesign
3.3.1: Mobile Layout Optimization
- Redesign mobile interface prioritizing content
- Implement touch-friendly navigation
- Create mobile-specific component layouts
3.3.2: Touch Interaction Optimization
- Ensure 44px minimum touch targets
- Implement swipe gesture support
- Add mobile-specific interactive elements
3.3.3: Mobile Navigation
- Create bottom navigation pattern
- Implement mobile chat controls
- Add mobile-specific UI toggles
Sub-task 3.4: Tablet and Desktop Optimizations
3.4.1: Tablet Layouts
- Design tablet-specific fullscreen layouts
- Implement adaptive component sizing
- Create tablet gesture support
3.4.2: Desktop Enhancements
- Optimize for large screen viewing
- Create sidebar sizing options
- Implement dashboard-style layouts
Sub-task 3.5: Cross-Device Synchronization
3.5.1: Adaptive Component Behavior
- Ensure consistent scaling across devices
- Implement responsive component states
- Test touch vs mouse interaction patterns
Phase 4: Interactive Enhancements
Goal: Add engaging micro-interactions and improved user experience
Sub-task 4.1: Animations and Transitions System
4.1.1: Transition Library
- Implement CSS transition utilities
- Create consistent timing functions
- Define transition duration constants
4.1.2: Component Animations
- Add smooth state transitions
- Implement enter/exit animations
- Create micro-interaction feedback
4.1.3: Loading Animations
- Implement spinner and progress indicators
- Add skeleton loading states
- Create engaging loading experiences
Sub-task 4.2: Interactive States and Feedback
4.2.1: State Implementation
- Design comprehensive hover states
- Implement focus indicators meeting WCAG standards
- Add active and pressed state styling
4.2.2: Form Validation
- Implement visual form validation feedback
- Add error state styling
- Create success confirmation states
Sub-task 4.3: Enhanced User Feedback Systems
4.3.1: Notification Redesign
- Redesign toast notification system
- Implement notification variants
- Add notification queue management
4.3.2: Loading States
- Implement loading indicators
- Add progress bars for long operations
- Create loading state hierarchies
Sub-task 4.4: Gesture and Touch Interactions
4.4.1: Mobile Gesture Support
- Add swipe gestures for chat toggling
- Implement pull-to-refresh functionality
- Create touch-based video controls
Sub-task 4.5: Accessibility Enhancements
4.5.1: Keyboard Navigation
- Ensure full keyboard accessibility
- Implement proper tab order
- Add focus management for modals
4.5.2: Screen Reader Support
- Implement ARIA live regions
- Add proper ARIA attributes
- Test dynamic content announcements
Phase 5: Performance and UX Optimization (UI-Focused)
Goal: Streamline UI performance and enhance user experience
Sub-task 5.1: UI Rendering Performance
5.1.1: CSS Optimization
- Remove unused CSS rules
- Optimize CSS selectors for faster matching
- Implement hardware acceleration
5.1.2: Animation Performance
- Use transform and opacity for animations
- Reduce layout thrashing
- Implement virtual scrolling for chat
Sub-task 5.2: Content Display Optimization
5.2.1: Progressive Enhancement
- Implement lazy loading strategies
- Add content placeholders
- Optimize text rendering properties
Sub-task 5.3: Interactive Flow Improvements
5.3.1: User Experience Streamlining
- Improve onboarding flow
- Add smart defaults
- Implement contextual help
Sub-task 5.4: Error Handling and Recovery UI
5.4.1: Error State Design
- Create comprehensive error states
- Implement retry mechanisms
- Add offline-first patterns
Sub-task 5.5: Analytics and User Experience Tracking
5.5.1: Usage Analytics
- Implement interaction tracking
- Add performance monitoring
- Create A/B testing framework
Phase 6: Advanced UI Framework Integration
Goal: Migrate to modern UI framework for scalability
Sub-task 6.1: Component System Architecture
6.1.1: Component Library Design
- Define component API patterns
- Create variant system
- Implement documentation
Sub-task 6.2: State Management for UI
6.2.1: Reactive State Implementation
- Implement global state management
- Add component-level state patterns
- Create state persistence
Sub-task 6.3: Build and Development Tools
6.3.1: Modern Build Pipeline
- Set up Hot Module Replacement
- Add CSS preprocessing
- Implement testing framework
Sub-task 6.4: Framework Migration Strategy
6.4.1: Phased Migration
- Create migration plan
- Implement feature flags
- Ensure backward compatibility
Sub-task 6.5: Quality Assurance and Testing
6.5.1: Comprehensive Testing
- Implement unit and integration tests
- Add accessibility compliance testing
- Create performance benchmarking
Implementation Considerations
Design Principles
- Maintain Dodgers brand identity while modernizing aesthetics
- Focus on user-centered design with clear visual hierarchy
- Ensure maximum accessibility and inclusive design practices
- Prioritize performance and responsive design
Technical Requirements
- Support modern browsers (Chrome 85+, Firefox 80+, Safari 14+, Edge 85+)
- Ensure 60fps animations and smooth interactions
- Maintain semantic HTML for SEO and accessibility
- Implement progressive enhancement strategy
Success Metrics
- Improved user engagement and session duration
- Reduced bounce rate through better UX
- Higher accessibility compliance scores
- Faster perceived load times through UI optimizations
Phase Completion Checklist
To mark a phase as complete:
- All sub-tasks completed (100% of checkboxes checked)
- Functionality testing across all devices and browsers
- Accessibility validation (WCAG 2.1 AA compliance)
- Performance benchmarks met (Lighthouse scores >85)
- User acceptance testing passed
- Documentation updated
Next Steps
- Review this plan and prioritize phases based on business needs
- Create time estimates and resource allocation for each phase
- Set up development environment and tooling
- Begin with Phase 1.1 CSS extraction and modularization
This plan provides a complete roadmap for modernizing the Dodgers Stream Theater UI while ensuring no functionality is lost in the process.