summaryrefslogtreecommitdiffhomepage
path: root/packages/app/src/pages/session
diff options
context:
space:
mode:
Diffstat (limited to 'packages/app/src/pages/session')
-rw-r--r--packages/app/src/pages/session/helpers.test.ts12
-rw-r--r--packages/app/src/pages/session/helpers.ts7
2 files changed, 18 insertions, 1 deletions
diff --git a/packages/app/src/pages/session/helpers.test.ts b/packages/app/src/pages/session/helpers.test.ts
index 0afc7eb6a..d877d5b2e 100644
--- a/packages/app/src/pages/session/helpers.test.ts
+++ b/packages/app/src/pages/session/helpers.test.ts
@@ -1,5 +1,5 @@
import { describe, expect, test } from "bun:test"
-import { combineCommandSections, createOpenReviewFile, focusTerminalById } from "./helpers"
+import { combineCommandSections, createOpenReviewFile, focusTerminalById, getTabReorderIndex } from "./helpers"
describe("createOpenReviewFile", () => {
test("opens and loads selected review file", () => {
@@ -59,3 +59,13 @@ describe("combineCommandSections", () => {
expect(result.map((item) => item.id)).toEqual(["a", "b", "c"])
})
})
+
+describe("getTabReorderIndex", () => {
+ test("returns target index for valid drag reorder", () => {
+ expect(getTabReorderIndex(["a", "b", "c"], "a", "c")).toBe(2)
+ })
+
+ test("returns undefined for unknown droppable id", () => {
+ expect(getTabReorderIndex(["a", "b", "c"], "a", "missing")).toBeUndefined()
+ })
+})
diff --git a/packages/app/src/pages/session/helpers.ts b/packages/app/src/pages/session/helpers.ts
index d9ce90793..dcf2c8784 100644
--- a/packages/app/src/pages/session/helpers.ts
+++ b/packages/app/src/pages/session/helpers.ts
@@ -36,3 +36,10 @@ export const createOpenReviewFile = (input: {
export const combineCommandSections = (sections: readonly (readonly CommandOption[])[]) => {
return sections.flatMap((section) => section)
}
+
+export const getTabReorderIndex = (tabs: readonly string[], from: string, to: string) => {
+ const fromIndex = tabs.indexOf(from)
+ const toIndex = tabs.indexOf(to)
+ if (fromIndex === -1 || toIndex === -1 || fromIndex === toIndex) return undefined
+ return toIndex
+}