Ports main.ts's parseRoute/dispatch hash parsing into a React hook: same #/ and #/attach/:id shape, current route plus a navigate function. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>