- Updated ControlHeaderComponent to inject RandomizerStateService and remove input/output properties.
- Integrated state management methods for rolling, retrying, and copying drafts.
- Refactored LaneCardComponent to utilize RandomizerStateService for lane and champion management.
- Removed unnecessary input properties and replaced them with computed properties derived from the service.
- Enhanced template rendering for lane cards based on the new state management approach.
feat: Implement SettingsDialog for user preferences
- Created SettingsDialogComponent to manage user settings for fearless draft.
- Added CSS styles for the settings dialog.
- Implemented functionality to toggle fearless draft and update the state immediately without save/cancel.
test: Add unit tests for SettingsDialog and RandomizerStateService
- Developed comprehensive tests for SettingsDialogComponent to ensure correct behavior on toggle changes.
- Created initial tests for RandomizerStateService to verify service creation and basic functionality.
chore: Introduce storedSignal utility for localStorage persistence
- Added storedSignal utility to manage signals with automatic localStorage persistence.
- Implemented debouncing for localStorage writes to optimize performance.
- Removed the preload link directive as it is no longer needed.
- Added new styles for the champion randomizer component and control header.
- Implemented the champion randomizer component with lane assignments and champion selection logic.
- Created a control header component for managing actions like rolling champions and copying drafts.
- Developed lane card component to display champion details and handle re-rolls.
- Introduced image caching interceptor to optimize image loading for champion icons.
- Implemented champion data service to manage champion data fetching and caching.
- Added image preload service to preload and cache champion images for better performance.
- Updated data structures for champions and lanes to improve type safety and maintainability.