SIGN IN SIGN UP

Fix SP slot Moonraker mode tracking and add print state to UI

- Add moon_print_state field to AppState, updated on every Moonraker
  print_stats state transition so the UI knows when a print is active
- WS parse: derive effective_active slot for Moonraker notifications;
  when no CFS slot is selected but SP is present, treat SP as active so
  SET_ACTIVE_SPOOL/CLEAR_ACTIVE_SPOOL is called for the SP-linked spool
- Fix _clear_slot_link, link, and unlink endpoints to also call
  SET/CLEAR_ACTIVE_SPOOL when the SP slot is the effective active slot
- Frontend: show SP as the highlighted active slot when moon_print_state
  is printing/paused and no CFS slot is selected

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
K
koen01 committed
62e175e41419370970d3dfc854b8b9666a1e9766
Parent: 7d41718