mirror of
https://github.com/rangermix/TwitchDropsMiner.git
synced 2026-06-03 02:49:38 +00:00
This commit introduces a manual mode for channel selection that allows users to lock onto a specific game, along with significant UI/UX improvements: Manual Mode Features: - Locks channel selection to a specific game when user manually selects a different game - Automatically exits manual mode when all drops for the game are completed - Shows visual indicators (🎯 badge) in status bar and drop display - Allows manual exit via "Return to Auto Mode" button - Prioritizes manual game in wanted_games list during auto-selection UI/UX Improvements: - Batch update system for channels and campaigns prevents flickering during refresh - Channels list now updates atomically instead of clearing and re-adding - Campaign loading emits all campaigns at once for smooth initial load - Drop progress persists on initial_state load for reconnecting clients - Game icons (box art) now displayed in channel list - Campaign links added to inventory items Bug Fixes: - Fixed logging level to respect INFO by default (was hardcoded to DEBUG) - Fixed channel cleanup to not call channel.remove() (handled by batch_update) - Fixed drop display not persisting during channel switch - Fixed stop_watching() clearing drop timer prematurely - Fixed status display typo ("fames_to_watch" → "games_to_watch") Backend Changes: - Added manual mode tracking (_manual_target_channel, _manual_target_game) - Added enter_manual_mode(), exit_manual_mode(), is_manual_mode() methods - Added get_manual_mode_info() for API serialization - Added batch_update() to ChannelListManager for atomic updates - Added start_batch()/finalize_batch() to InventoryManager - Added /api/mode/exit-manual endpoint - Game model now stores box_art_url from GraphQL response - Manual mode info included in /api/status and initial_state Frontend Changes: - Added manual mode badge and controls in UI - Added channels_batch_update and inventory_batch_update socket events - Added manual_mode_update socket event - Countdown timer now properly tracked and cleared - Drop display shows manual mode status with game name - Exit manual mode button added to drop display area 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>