diff --git a/src/types/ui-types.ts b/src/types/ui-types.ts index 8e0fba68..62c2bbd6 100644 --- a/src/types/ui-types.ts +++ b/src/types/ui-types.ts @@ -272,6 +272,7 @@ export type SplitMode = | "none" | "2-way" | "3-way" + | "3-way-horizontal" | "4-way" | "5-way" | "6-way"; diff --git a/src/ui/features/file-manager/FileManager.tsx b/src/ui/features/file-manager/FileManager.tsx index a16a1e2c..8f799b2f 100644 --- a/src/ui/features/file-manager/FileManager.tsx +++ b/src/ui/features/file-manager/FileManager.tsx @@ -2551,7 +2551,7 @@ function FileManagerContent({ initialHost, onClose }: FileManagerProps) { return (
-
+
= { none: 0, "2-way": 2, "3-way": 3, + "3-way-horizontal": 3, "4-way": 4, "5-way": 5, "6-way": 6, @@ -117,6 +119,7 @@ export const PANE_LAYOUTS: Record = { none: "", "2-way": "grid-cols-2 grid-rows-1", "3-way": "grid-cols-2 grid-rows-2", + "3-way-horizontal": "grid-cols-2 grid-rows-2", "4-way": "grid-cols-2 grid-rows-2", "5-way": "grid-cols-3 grid-rows-2", "6-way": "grid-cols-3 grid-rows-2", diff --git a/src/ui/shell/SplitView.tsx b/src/ui/shell/SplitView.tsx index 30d614e8..03849ef3 100644 --- a/src/ui/shell/SplitView.tsx +++ b/src/ui/shell/SplitView.tsx @@ -19,6 +19,8 @@ function defaultSizes(mode: SplitMode): { return { rowSizes: [100], rowColSizes: [[50, 50]] }; case "3-way": return { rowSizes: [50, 50], rowColSizes: [[50, 50], [100]] }; + case "3-way-horizontal": + return { rowSizes: [50, 50], rowColSizes: [[50, 50], [100]] }; case "4-way": return { rowSizes: [50, 50], @@ -444,6 +446,36 @@ export function SplitView({
)} + {splitMode === "3-way-horizontal" && ( +
+
+
+ {pane(0)} +
+ onColDivider(e, 0, 0)} + onTouchStart={(e) => onColDividerTouch(e, 0, 0)} + /> +
+ {pane(1)} +
+
+ onRowDivider(e, 0)} + onTouchStart={(e) => onRowDividerTouch(e, 0)} + /> +
+ {pane(2)} +
+
+ )} + {splitMode === "4-way" && (
diff --git a/src/ui/sidebar/SplitScreenPanel.tsx b/src/ui/sidebar/SplitScreenPanel.tsx index 115f367c..3c6ce838 100644 --- a/src/ui/sidebar/SplitScreenPanel.tsx +++ b/src/ui/sidebar/SplitScreenPanel.tsx @@ -24,6 +24,15 @@ const LAYOUT_PREVIEWS: Record = {
), + "3-way-horizontal": ( +
+
+
+
+
+
+
+ ), "4-way": (