Spaces:
Running
Running
File size: 1,300 Bytes
d553048 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | import { isPassive } from '../types';
/**
* Does the staged pane carry its own way back, in its header?
*
* On a phone the app is two full-screen views — the list, or one staged pane —
* so a staged pane needs a way back to the list. It used to be a bar above the
* pane holding an arrow and the session's name, and that bar cost a row of the
* one dimension a terminal actually needs. An agent's pane header already has
* an identity block (logo and status) on its left and already shows the name,
* so the arrow goes there and the bar goes away.
*
* The bar survives wherever nothing else can hold the arrow:
* - a group, whose bar is also the chip pager between its agents;
* - the Overview, which has no pane header at all;
* - the files and trace panes, whose flat headers have no identity block —
* and whose leftmost spot is, for files, already a back button to the file
* list, so a second arrow there would be two backs meaning two things.
*
* Desktop never stages and never asks: the sidebar is always on screen.
*/
export const paneOwnsBack = (
{ isMobile, staged, inGroup, cli }: {
isMobile: boolean;
staged: boolean;
inGroup: boolean;
cli?: string | null;
},
): boolean => isMobile && staged && !inGroup && !!cli && !isPassive(cli);
|