tiletopia/src/App.css
megaproxy fa18307fd9 Tidy titlebar: dropdowns for shell + layout, '+' button to spawn
- Collapse the inline distro buttons + PowerShell + 🔑 SSH hosts into
  a single 'Ubuntu ▾' dropdown (WSL distros + PowerShell sections),
  with 🔑 as a separate icon-only button.
- Collapse the 5 preset buttons into a 'layout ▾' dropdown.
- Add a '+' button next to the shell picker that spawns a new pane of
  the picked shell by splitting the active pane (smart orientation:
  splits right if wide, down if tall). Per-pane ⇥/⇣ arrows still
  inherit from parent — only '+' uses the titlebar selection.
- Drop the 🔔 test-toast button.
- Drop overflow:hidden from titlebar + pane toolbar so dropdowns
  aren't clipped; height lock + nowrap still prevent the reflow bug.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-25 22:26:41 +01:00

99 lines
2.2 KiB
CSS

.app {
display: flex;
flex-direction: column;
height: 100vh;
background: #0c0c0c;
}
.titlebar {
flex: 0 0 auto;
display: flex;
align-items: center;
gap: 12px;
padding: 6px 12px;
background: #1a1a1a;
border-bottom: 1px solid #2a2a2a;
font-size: 12px;
color: #aaa;
user-select: none;
/* Lock to a single row even when the window is narrow: buttons whose
text would otherwise wrap (e.g. "📡 all off") would grow the
titlebar, shrink .pane-wrap, and reflow every xterm. nowrap stops
text-wrap inside buttons, flex-shrink:0 stops children from being
squeezed, height locks the row height. Overflow is left visible
so dropdown menus below the chips aren't clipped by the bar. */
white-space: nowrap;
height: 34px;
box-sizing: border-box;
}
.titlebar > * {
flex-shrink: 0;
}
.titlebar .label {
font-weight: 600;
color: #ddd;
}
.titlebar-chip, .palette-btn {
font: inherit;
font-family: "Cascadia Mono", "JetBrains Mono", "Consolas", monospace;
font-size: 11px;
background: #222;
color: #aaa;
border: 1px solid #333;
border-radius: 3px;
padding: 2px 8px;
cursor: pointer;
}
.titlebar-chip:hover, .palette-btn:hover {
background: #2a2a2a;
color: #ddd;
}
.titlebar-chip.add-pane {
font-size: 14px;
line-height: 1;
padding: 2px 8px;
color: #cce6ff;
border-color: #2a5a8c;
}
.titlebar-chip.add-pane:hover {
background: #1a3a5c;
color: #fff;
}
.palette-btn.bcast-all.on {
background: #4a3010;
color: #f0c060;
border-color: #c98a1f;
}
.palette-btn.bcast-all.on.partial {
background: #2a2010;
color: #c98a1f;
}
.palette-btn.mcp-btn.on {
background: #1a3a1a;
color: #80e080;
border-color: #2a6a2a;
}
.layout-info {
margin-left: auto;
font-family: "Cascadia Mono", "JetBrains Mono", "Consolas", monospace;
color: #777;
font-size: 11px;
}
.layout-info .idle-info {
color: #d96060;
}
.pane-wrap {
flex: 1 1 auto;
min-height: 0;
position: relative;
}
/* 2px padding on each leaf slot creates a 4px gap between adjacent panes —
so per-pane borders (idle red, active blue, broadcasting orange) read as
distinct rectangles instead of merging into a continuous grid pattern. */
.leaf-slot {
padding: 2px;
box-sizing: border-box;
}