feat(maestro): wire React app as sole web entry point
Deletes the vanilla shell and mounts App.tsx on #root. main.ts and the 23 views it drove are gone; App.tsx composes the ported components — sidebar, multi-view, command bar, spawn modal, help and restart overlays, daemon link, drawer — around the catalog and layout stores. The pure parts of four deleted modules moved next to the components that still use them: the spawn-form model and spawnSimilar into components/spawn, the transcript's markdown/format helpers and the diff into components/structured, the help overlay's grouping into components/dialogs. Document-level event names now live in uiEvents.ts. Deduplicated two pairs the migration left side by side: the sidebar uses dialogs/KillDialog and common/ContextMenu. It also listens for the command bar's kill/rename events, which nothing had picked up since catalog.ts went away. styles.css stays as the token and base layer, with `#app` renamed to `#root` and the pane-body rules re-keyed off the classes the React panes actually carry. Closes #253
This commit is contained in:
+6
-4
@@ -549,8 +549,8 @@ body {
|
||||
/* dim the grid via opacity on a fixed overlay would cost a node; bake it low instead */
|
||||
}
|
||||
|
||||
#app {
|
||||
/* `--app-vh` tracks the *visual* viewport (set by installViewportSizing) so
|
||||
#root {
|
||||
/* `--app-vh` tracks the *visual* viewport (set by useViewport) so
|
||||
the shell stays above the mobile soft keyboard; falls back to the layout
|
||||
viewport where `visualViewport` is unavailable. `--app-top` follows the
|
||||
layout viewport's scroll under the keyboard so the shell stays pinned to
|
||||
@@ -2087,7 +2087,7 @@ input.leaf-rename:focus {
|
||||
bar scrolls sideways instead. Layout is always defined; only *visibility* is
|
||||
gated: hidden on precise-pointer devices (a physical keyboard already has
|
||||
these keys), shown on touch where the soft keyboard omits them. The shell
|
||||
tracks the visual viewport (see `#app`), so it lands above it. */
|
||||
tracks the visual viewport (see `#root`), so it lands above it. */
|
||||
.attach-keybar {
|
||||
display: none;
|
||||
grid-template-columns: repeat(8, minmax(2.5rem, 1fr));
|
||||
@@ -4499,7 +4499,9 @@ input.leaf-rename:focus {
|
||||
min-height: 0;
|
||||
display: flex;
|
||||
}
|
||||
.mv-pane-host > .attach {
|
||||
/* Whatever body the pane holds — a terminal, a transcript, the empty state —
|
||||
fills it. (Was `> .attach`, the class the vanilla attach view carried.) */
|
||||
.mv-pane-host > * {
|
||||
flex: 1;
|
||||
min-width: 0;
|
||||
min-height: 0;
|
||||
|
||||
Reference in New Issue
Block a user