mobux 0.5.0

A touch-friendly tmux web UI for unhinged people who run terminal sessions from their phone while walking the dog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
import { useLayoutEffect } from 'preact/hooks';
import { TerminalIsland } from '../components/TerminalIsland.jsx';

// Full-bleed terminal route. The engine's CSS (style.css, loaded via the proxy)
// keys its full-screen layout off `body.term-body`, so we toggle that class for
// the lifetime of the route. The island itself never re-renders.
export function TerminalPage({ name, host = '' }) {
  useLayoutEffect(() => {
    document.body.classList.add('term-body');
    return () => document.body.classList.remove('term-body');
  }, []);

  return <TerminalIsland session={name} peer={host} />;
}