Skip to content
  • Cédric Le Ninivin's avatar
    Header: migrate to setState/changeState/onStateChange (pilot) · ba346404
    Cédric Le Ninivin authored
    
    
    State-pattern reference migration per GUIDE-RJS-004: render never
    paints; onStateChange is the only DOM site; render_timestamp
    forcing key re-resolves nav links on every navigation; null
    sentinel for theme so the localStorage restore always repaints;
    dark-mode toggle goes through changeState. Removed four unused
    legacy Handlebars templates (and their ids + the handlebars.js
    dependency).
    
    Gotchas documented in CLAUDE.md: {mutex: 'changestate'} on a
    method that calls changeState deadlocks (mutex not reentrant);
    loopEventListener prevent_default defaults to true.
    
    Co-Authored-By: default avatarClaude Opus 4.8 <noreply@anthropic.com>
    ba346404